2. 均线基础
移动平均线(Moving Average,简称均线或MA)是技术分析中最基础、也最经得起时间检验的工具之一。它的核心思想非常朴素:把最近N根K线的收盘价(或开盘价、最高价、最低价)做某种平均,得到一条平滑曲线,用来过滤短期噪声、观察价格的中长期运行方向。在双均线趋势跟踪体系中,均线既是信号来源,也是参数稳健性研究的起点。理解均线的定义、类型与计算差异,是后续判断“金叉死叉是否可靠”的前提。
一、核心原理:均线到底在做什么
均线本质上是一个低通滤波器。价格序列中既有趋势成分,也有随机波动成分。均线通过“取最近N期的平均”,把高频的随机波动削弱,让趋势成分更突出。N越大,曲线越平滑,反应越慢;N越小,曲线越贴近价格,反应越快但噪声更多。
从数学上看,均线是对价格序列的加权求和。不同均线的区别,就在于“权重如何分配”:
- SMA(简单移动平均):每期权重相等,都是1/N。
- EMA(指数移动平均):近期权重更大,权重按指数衰减,衰减系数由N决定。
- WMA(加权移动平均):权重线性递减,最近一期权重最大,最远一期权重最小。
这三种均线的共同点是都在平滑价格,差异在于对“新信息”的敏感程度。EMA最敏感,WMA次之,SMA最迟钝。这个差异直接决定了双均线策略中信号出现的早晚与假信号的数量。
二、计算方法:三种均线的公式与代码
设收盘价序列为 Ct,窗口长度为 N。三种均线的计算如下:
- SMAt = (Ct + Ct-1 + ... + Ct-N+1) / N
- EMAt = α × Ct + (1 - α) × EMAt-1,其中 α = 2 / (N + 1)
- WMAt = (N×Ct + (N-1)×Ct-1 + ... + 1×Ct-N+1) / (N×(N+1)/2)
下面用一段Python代码直观展示三者的计算差异:
import pandas as pd
import numpy as np
# 假设 df 含 'close' 列
N = 10
df['sma'] = df['close'].rolling(N).mean()
df['ema'] = df['close'].ewm(span=N, adjust=False).mean()
weights = np.arange(1, N + 1)
df['wma'] = df['close'].rolling(N).apply(
lambda x: np.dot(x, weights) / weights.sum(), raw=True
)
print(df[['close', 'sma', 'ema', 'wma']].tail())
运行后可以观察到一个典型现象:当价格突然跳涨时,EMA会最先抬头,WMA紧随其后,SMA最后才反应。这就是“敏感度排序”的直观体现。
三、均线在趋势识别中的作用
均线在趋势识别中主要承担三个角色:
- 方向指示:均线向上倾斜表示上升趋势,向下倾斜表示下降趋势,走平表示震荡。双均线体系中,快线方向代表短期趋势,慢线方向代表中长期趋势。
- 支撑与阻力:在趋势运行中,价格回踩均线后继续沿原方向运行,均线起到动态支撑或阻力作用。这一现象在EMA上通常比SMA更明显,因为EMA更贴近价格。
- 交叉信号:快线上穿慢线称为金叉,视为多头信号;快线下穿慢线称为死叉,视为空头信号。这是双均线策略最核心的交易触发条件。
需要强调的是,均线本身是滞后指标。它不会预测价格,而是确认已经发生的趋势。因此,双均线策略的盈利逻辑不是“买在最低点”,而是“在趋势确认后入场,在趋势反转后离场”,用较小的试错成本换取趋势中段的主要利润。
四、案例与场景:不同均线在双均线策略中的表现差异
假设我们构建一个经典的双均线策略:快线周期10,慢线周期30,分别使用SMA、EMA、WMA进行回测。下表总结了三种均线组合在趋势行情与震荡行情中的典型表现差异:
| 均线类型 | 信号出现速度 | 趋势行情表现 | 震荡行情表现 | 适用场景 |
|---|---|---|---|---|
| SMA | 最慢 | 入场晚,但持仓稳定 | 假信号较少 | 中长线、波动较小的品种 |
| EMA | 最快 | 入场早,能吃到更多趋势 | 假信号较多 | 短线、波动较大的品种 |
| WMA | 中等 | 介于SMA与EMA之间 | 假信号中等 | 希望兼顾灵敏与稳定的场景 |
五、常见误区与复盘要点
复盘时建议重点检查以下清单:
- 当前品种的波动特征更适合敏感型还是稳定型均线?
- 金叉死叉信号是否集中在震荡区间反复出现?如果是,考虑加过滤条件。
- 快慢线周期差是否足够大?周期差过小会导致信号过于频繁。
- 均线类型切换后,策略的最大回撤和盈亏比是否发生显著变化?
- 参数在相邻取值上是否表现稳定?稳健性比单点最优更重要。
理解均线的定义、类型与计算差异,是构建双均线趋势跟踪体系的第一步。只有先弄清楚SMA、EMA、WMA各自“如何分配权重、如何影响信号”,后续的参数稳健性测试才有明确的调整方向,而不是盲目试错。