Skip to main content

均线理论(MA)

均线(Moving Average)就是把前若干天的价格做平均值,把这些点连成线,反映最近一段时间的趋势走向。


常见均线

均线计算方式用途
MA5(5 日均线)前 5 天价格的平均短期趋势,也称周线
MA10(10 日均线)前 10 天价格的平均中短期趋势
MA20(20 日均线)前 20 天价格的平均中期趋势,也称月线
MA60(60 日均线)前 60 天价格的平均中长期趋势,也称季线
MA120(120 日均线)前 120 天价格的平均长期趋势,也称半年线
MA250(250 日均线)前 250 天价格的平均长期趋势,也称年线

计算示例

假设计算 MA5 在 7 月 4 日的值:

往前数 5 个交易日:
6/30 → 7/3 → 7/4
(跳过了 7/1、7/2 周末)
取这 5 天的收盘价,求平均值 = 7/4 的 MA5 值

均线不是从上市第一天算到今天,而是只往前算若干天,反映的是最近一段时间的趋势走向。


用 Python 计算均线

import pandas as pd

# 假设 df 包含股票日线数据
df['ma5'] = df['close'].rolling(window=5).mean()
df['ma10'] = df['close'].rolling(window=10).mean()
df['ma20'] = df['close'].rolling(window=20).mean()
df['ma60'] = df['close'].rolling(window=60).mean()

# 查看最近的数据
print(df[['close', 'ma5', 'ma10', 'ma20']].tail(10))

均线的核心用法

1. 判断趋势方向

  • 均线向上:价格处于上升趋势
  • 均线向下:价格处于下降趋势
  • 均线走平:价格处于横盘整理

2. 均线交叉信号

这是最经典的技术信号:

  • 金叉:短期均线上穿长期均线 → 买入信号(例如 MA5 上穿 MA20)
  • 死叉:短期均线下穿长期均线 → 卖出信号(例如 MA5 下穿 MA20)

3. 支撑与阻力

  • 支撑:价格在均线上方运行,均线起到支撑作用
  • 阻力:价格在均线下方运行,均线起到阻力作用

4. 多头排列 vs 空头排列

多头排列:MA5 > MA10 > MA20 > MA60(短期均线在上,长期在下)
→ 强势上涨格局

空头排列:MA5 < MA10 < MA20 < MA60(短期均线在下,长期在上)
→ 弱势下跌格局

双均线策略原理

这是量化投资中最经典的策略之一

当短期均线上穿长期均线 → 买入(金叉)
当短期均线下穿长期均线 → 卖出(死叉)

为什么有效?

  • 金叉意味着短期趋势走强,可能开启一波上涨
  • 死叉意味着短期趋势走弱,可能开启一波下跌
  • 本质是趋势跟踪——跟随趋势而非预测趋势

具体的策略实现和回测将在后续 量化策略实战 章节详细讲解。


均线的局限性

  1. 滞后性:均线是基于历史价格计算的,信号往往晚于价格变化
  2. 震荡市不适用:在横盘整理时,均线交叉会产生大量假信号
  3. 参数选择困难:不同股票、不同周期适合不同的均线参数组合

下一步量化投资概念与优势 →