移动平均线 (Moving Averages)公式及买入卖出用法(含Python)
由bqw9z8tc创建,最终由bqw9z8tc 被浏览 112 用户
(包含移动平均线公式及Python代码)
移动平均线(Moving Averages)是一种分析金融时间序列数据的基本工具,用于平滑价格数据以识别趋势。移动平均线主要有两种类型:简单移动平均线(SMA)和指数移动平均线(EMA)。
BigQuant也提供全面的金融市场历史数据因子平台以及AI量化策略编写平台(PC端),帮助大家快速验证不同指标因子组成的量化策略。
移动平均线 (Moving Averages)
简单移动平均线 (SMA)
公式:
其中,Pi 是第 i 天的价格,n 是时间窗口的天数。
例如,如果过去5天的收盘价分别是 100, 102, 101, 103, 104,
则 5 天 SMA 是:
指数移动平均线 (EMA)
公式:EMA(t) = (Pt * 2/(n+1)) + EMA(t-1) * (1 - 2/(n+1))
其中,Pt 是第 t 天的价格。
买入卖出信号示例
图表展示了一个虚构股票的价格变动,以及10天、50天和200天简单移动平均线(SMA)。移动平均线通过平滑价格波动,帮助识别趋势和潜在的交易信号。
蓝线:表示股票的实际价格。
橙线:10天SMA,反映了短期价格趋势。
绿线:50天SMA,显示了中期价格趋势。
红线:200天SMA,指示长期价格趋势。
买入和卖出信号通过观察10天SMA(橙线)和50天SMA(绿线)的交叉点来确定:
绿色向上箭头:买入信号,出现在10天SMA上穿50天SMA的时候。
红色向下箭头:卖出信号,出现在10天SMA下穿50天SMA的时候。
\
使用案例
简单移动平均线(SMA):计算一定时间段内的平均收盘价。
SMA = 价格之和/时间段长度
指数移动平均线(EMA):给予最近价格更高的权重,计算方法稍复杂。
EMA今天=(价格今天×平滑系数)+(EMA昨天×(1−平滑系数))
其中,平滑系数 α=2/(n+1),n 为所选周期。
使用10天股票收盘价数据来计算5天的SMA和EMA。
现在,我们将计算这些移动平均线。
根据上述数据和计算,我们得到以下移动平均线的参数:
- 5天简单移动平均线(SMA):129.2,这是最后五天收盘价的平均值。
- 5天指数移动平均线(EMA):129.09,这是一个更加关注最近价格变动的移动平均值,给予最近的数据更多权重。
这两种移动平均线各有特点:
- SMA 提供了一种平滑数据的简单方法,有助于识别价格趋势。
- EMA 更加敏感于最近的价格变动,因此它可以更快地反映价格的最新变化。
import numpy as np
# 示例数据
prices = np.array([115, 120, 123, 122, 121, 125, 127, 130, 133, 131])
# 计算5天的简单移动平均线(SMA)和指数移动平均线(EMA)
# 5天的SMA
n_sma = 5
sma_5_day = np.mean(prices[-n_sma:])
# 5天的EMA
n_ema = 5
alpha = 2 / (n_ema + 1)
ema_values = [prices[0]] # 初始值为第一天的价格
# 计算EMA
for price in prices[1:]:
ema_today = (price * alpha) + (ema_values[-1] * (1 - alpha))
ema_values.append(ema_today)
ema_5_day = ema_values[-1]
sma_5_day, ema_5_day
输出结果Result
(129.2, 129.08850276888688)
\
数值解读
移动平均线的不同数值(例如10日、50日、200日)案例参考:
10日MA短期移动平均线
以10天周期计算的移动平均线反应较快,比较紧密地跟随价格变动。
当短期MA上穿长期MA(如50日或200日MA),这可能被视为买入信号;如果是下穿长期MA,可能被视为卖出信号。
例如,如果10日MA从90元上升到95元,而价格从90元上升到100元,这可能表示短期上升趋势。
50日MA中期移动平均线
50日MA提供了中期趋势视角,比10日MA更平滑,能较好地反映近期价格趋势。
当前价格在50日MA之上运行通常表示中期上升趋势;在MA之下则表示下降趋势。
例如,如果50日MA稳定在100元左右,表明中期趋势相对稳定。
200日MA长期移动平均线
200日MA显示了长期趋势走向,对短期价格波动的反应较慢。
长期MA一般作为重要的支撑或阻力水平。当价格跌破200日MA时,可能预示长期下降趋势的开始;而突破200日MA则表示有长期上升趋势可能。
例如,如果200日MA从105元缓慢下降至100元,可能表示长期趋势正在转弱。
MA交叉:
短期MA上穿长期MA:“金叉”信号,通常被视为强烈的买入信号。
短期MA下穿长期MA:“死叉”信号,可以被视为卖出信号。
当价格持续在某一MA之上时,显示买方市场控制;持续在MA之下则显示卖方市场控制。
MA斜率:
MA线的斜率也可以作为一个重要的参考信号。如果斜率向上表示上升趋势,斜率向下有可能下降趋势。
需要注意的是,投资者应将移动平均线与其他类型的分析(如基本面分析)和其他技术指标(如相对强弱指数RSI、布林带)结合起来使用,以形成更全面的AI量化交易决策。
资源汇总
开发平台
技术文档
开发资源
量化策略
基础因子
基本常识
https://bigquant.com/wiki/doc/6yep5yyw5lqk5pit5yiw5bqv5piv5oco5lmi6lwa6zkx55qe-b5WJj0v0Jf
https://bigquant.com/wiki/doc/5pwj5oi35aac5l2v5yga6yep5yyw5lqk5pit-Ni7gIFHlnG
https://bigquant.com/wiki/doc/2023-u7IPZL8JHB
https://bigquant.com/wiki/doc/6yep5yyw5lqk5pit5piv5lua5lmi5osp5ocd-0rhzCCS8Id
\