AI Quant Knowledge

移动平均线 (Moving Averages)公式及买入卖出用法(含Python)

由bqw9z8tc创建,最终由bqadm 被浏览 145 用户

(包含移动平均线公式及Python代码)

移动平均线(Moving Averages)是一种分析金融时间序列数据的基本工具,用于平滑价格数据以识别趋势。移动平均线主要有两种类型:简单移动平均线(SMA)和指数移动平均线(EMA)。

移动平均线 (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量化交易决策。

\

标签

移动平均线简单移动平均线量化策略均线Python
{link}