量化百科

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

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

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

资源汇总

开发平台

量化交易策略开发平台入口(PC端)

量化投资金融历史数据平台

量化交易因子平台

量化资源学习入口

技术文档

DAI — 金融数据库平台

DAI — SQL数据函数列表

BigAlpha — 因子数据库平台

QuantChat — AI量化开发助手

BigTrader - 交易引擎(HFTrade)

开发资源

FAI - 分布式云计算加速集群

AIFlow - 任务管理

BigCharts - 量化数据可视化

BigCharts - 图表接口

Bigcharts - 配置项

BigBrain - 知识库插件

量化策略

年化81%持仓10支策略

基于Stockranker的超跌反弹策略

AI量化交易策略精华汇总

AI量化策略快速理解

常见量化交易模型策略

大跌行情下的量化策略

建立趋势跟踪策略的五个指标

双均线金叉死叉策略

海龟量化策略

小市值策略

多头排列回踩策略

talib技术分析指标策略

业绩快报事件驱动策略

配对交易策略

策略回测结果的各个指标解析

基础因子

alpha阿尔法

Beta贝塔系数

MACD指标

PE市盈率

PB市净率

ROE净资产收益率

夏普比率SharpeRatio

布林带BOLL

换手率TurnOver

波动率Volatility

相对强弱指数RSI

移动平均线SMA/EMA

最大回撤

年化收益率

基本常识

量化交易快速入门

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

\

标签

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