一、移动平均线(MA)与指数移动平均线(EMA)的计算与信号生成

各位同学,今天我们来聊聊技术指标里最基础、也最实用的两个工具——移动平均线(MA)和指数移动平均线(EMA)。

说实话,我刚入行那会儿,觉得均线这东西太简单了,不就是算个平均值嘛。直到我在实盘里吃过亏,才明白这玩意儿背后藏着不少门道。今天我就把踩过的坑和积累的经验,一次性讲清楚。

1.1 什么是移动平均线?

移动平均线,英文叫 Moving Average,简称 MA。说白了,就是把过去 N 天的收盘价加起来,除以 N。

举个例子:

假设某股票最近 5 天的收盘价是:10, 11, 12, 13, 14

那么 5 日 MA = (10+11+12+13+14) / 5 = 12

嗯,就这么简单。但注意,这个「移动」二字很关键——每天都会加入新数据,剔除旧数据,所以线是动态的。

核心公式:

MA(N) = (P₁ + P₂ + ... + Pₙ) / N

其中 P 是收盘价,N 是周期数

1.2 指数移动平均线(EMA)—— 给数据加点「偏心」

EMA 和 MA 最大的区别是什么?

MA 对每一天的价格一视同仁。但 EMA 不一样,它更看重最近的价格。你想想看,昨天的价格和 10 天前的价格,哪个对今天的走势影响更大?显然是昨天。

EMA 的公式稍微复杂一点:

EMA(今天) = (收盘价 × 平滑系数) + (EMA(昨天) × (1 - 平滑系数))

平滑系数 = 2 / (N + 1)

举个例子,计算 5 日 EMA:

平滑系数 = 2 / (5 + 1) = 0.333

假设昨天 EMA = 12,今天收盘价 = 14

今天 EMA = 14 × 0.333 + 12 × 0.667 = 12.666

我的经验:EMA 对价格变化反应更快,适合短线交易。MA 更平滑,适合看趋势。我在做日内策略时,通常用 EMA;做波段时,用 MA 更稳。

1.3 MA 与 EMA 的对比

特性 MA EMA
计算方式 简单平均 加权平均(近期权重高)
对价格敏感度
滞后性
适用场景 趋势判断 短线交易

避坑指南:我曾经在回测时发现,用 MA 做信号,经常出现「假突破」——价格刚穿过均线就掉头。后来换成 EMA,信号虽然多了,但准确率反而更高。所以别迷信哪个更好,关键看你的策略周期。

1.4 信号生成:金叉与死叉

均线最经典的用法,就是看交叉信号。

  • 金叉:短期均线上穿长期均线 → 买入信号
  • 死叉:短期均线下穿长期均线 → 卖出信号

举个例子:

5 日 MA 上穿 20 日 MA,就是金叉。说明短期趋势转强,可以考虑进场。

但注意,不是所有金叉都值得做。我见过太多新手看到金叉就冲进去,结果被套在半山腰。为什么?因为均线本身有滞后性,等金叉出现时,价格可能已经涨了一大截。

我的建议:结合成交量来判断。如果金叉时成交量放大,可信度更高。如果缩量上涨,多半是诱多。

1.5 代码实现:从零开始写均线策略

光说不练假把式。我们直接上代码,用 Python 实现 MA 和 EMA 的计算,并生成交易信号。

import pandas as pd
import numpy as np

# 模拟价格数据
data = {
    'close': [10, 11, 12, 13, 14, 13, 12, 11, 10, 9]
}
df = pd.DataFrame(data)

# 计算 MA 和 EMA
df['MA5'] = df['close'].rolling(window=5).mean()
df['EMA5'] = df['close'].ewm(span=5, adjust=False).mean()

# 生成信号
df['signal'] = 0
df.loc[df['MA5'] > df['EMA5'], 'signal'] = 1  # 买入
df.loc[df['MA5'] < df['EMA5'], 'signal'] = -1 # 卖出

print(df)

这段代码很简单,但有几个细节要注意:

  • rolling(window=5).mean() 就是计算 5 日 MA
  • ewm(span=5) 是计算 EMA,span 参数对应周期
  • 信号生成逻辑:MA5 大于 EMA5 时买入,反之卖出

避坑提醒:我曾经在实盘里直接用这个逻辑,结果发现信号太频繁,手续费都亏没了。后来加了过滤条件——比如要求连续 3 天信号一致才执行。嗯,效果好了很多。

1.6 知识体系总览

下面这张图,是我自己整理的知识结构。你可以把它当成一张地图,随时回来对照。

移动平均线知识体系 简单移动平均线 (MA) 指数移动平均线 (EMA) 特点:平滑、滞后性强、适合趋势判断 特点:反应快、近期权重高、适合短线 信号生成:金叉(买入) vs 死叉(卖出) 实战要点:结合成交量、设置过滤条件、控制交易频率

1.7 写在最后

均线这东西,看着简单,但用好了能赚钱,用不好就是亏钱的坑。我个人建议,刚开始做策略时,先用 MA 和 EMA 做双均线系统,跑一段时间回测,看看效果。

记住一句话:指标是死的,市场是活的。别指望靠一个金叉就能稳定盈利。多观察、多总结,慢慢你就能找到感觉。

好了,这一章就到这里。下一章我们聊聊更进阶的指标——布林带和 MACD,到时候我会分享一些实盘里的骚操作。


专注资料整理