首页/策略/MACD 交叉

如何回测 MACD 交叉策略

MACD 交叉策略在 MACD 线(12 周期 EMA 减 26 周期 EMA)上穿 9 周期信号线时买入,下穿时卖出。它能在趋势市场中捕捉动量变化,但在区间震荡中会频繁产生假交叉,因此任何参数都应在样本外数据上验证。

指数平滑异同移动平均线(MACD)是技术分析中使用最广泛的动量指标之一。它的信号线交叉能产生清晰、机械的入场和出场信号,因此天然适合做系统化回测。

什么是 MACD?

MACD 由 Gerald Appel 于 20 世纪 70 年代末开发。它由三部分组成:MACD 线(12 周期与 26 周期指数移动平均线之差)、信号线(MACD 线的 9 周期 EMA)以及柱状图(MACD 线与信号线之差)。

简单移动平均线交叉是把价格与均线作比较,而 MACD 衡量的是两条速度不同的移动平均线之间的收敛与发散。当快速 EMA 远离慢速 EMA 时,动量在加速;当两者靠拢时,动量在减弱。因此,MACD 本质上是一个动量指标,而不是纯粹的趋势指标。

信号线交叉如何运作

主要的交易信号是信号线交叉。当 MACD 线向上穿越信号线时,是看涨信号:短期动量相对于较长期趋势正在加速。当它向下穿越时,则是看跌信号。

此外还有零轴交叉:当 MACD 线升至零轴上方时,说明 12 周期 EMA 已上穿 26 周期 EMA,这是更保守的看涨确认。许多交易者用信号线交叉作为入场依据,用零轴作为市场状态过滤器:只有当 MACD 位于零轴上方时,才采纳看涨的信号线交叉。

柱状图解读

MACD 柱状图直观显示 MACD 线与信号线之间的距离。柱状图在增长(柱子变高)时,动量正朝该方向加速。当它开始缩短时,即使 MACD 线尚未穿越信号线,动量也在减速。

这对回测很有价值,因为柱状图的拐点往往比信号线交叉早出现好几根 K 线。一些交易者把柱状图的拐点(由增转减)作为提前出场信号,而不是等待完整的交叉。这样可以减少滞后,但代价是可能过早退出强劲的趋势。

常见参数与变体

标准参数是 12/26/9,但它们并非一成不变。回测时可以考虑测试:

  • 8/17/9 — 反应更快、信号更多,适合日内交易或高波动标的
  • 12/26/9 — 默认设置,已在股票日线数据上得到大量研究
  • 5/35/5 — 更慢、过滤更多噪音,更适合周线图
  • 3/10/16 — Thomas Aspray 的改良版,最初为商品期货交易设计

优化参数时,要克制住搜索成百上千种组合的冲动。测试少数几组有理论依据的参数,并用样本外数据验证。如果回测结果对参数的微小变化高度敏感(例如 12/26 有效而 11/25 失效),那么这种优势很可能只是噪音,而不是真正的信号。

优势与劣势

优势:MACD 能在趋势市场中有效捕捉动量变化。由于信号线的平滑增加了一层确认,它比单纯的 SMA 交叉更不容易出现来回打脸。柱状图还提供了纯交叉系统所没有的动量衰减预警机制。

劣势:在区间震荡、走势反复的市场中,MACD 会频繁产生假交叉,通过交易成本和小额亏损不断侵蚀资金。由于它源自 EMA,本身就具有滞后性:信号出现时,行情的很大一部分已经发生。此外,MACD 没有超买或超卖水平的概念(与 RSI 不同),因此无法在趋势过度延伸时发出警告。

MACD 与 SMA 交叉对比

SMA 交叉是把价格与单条移动平均线比较,或把两条 SMA 相互比较。MACD 则是把两条 EMA 之差与该差值的平滑版本进行比较。实际中,由于信号线起到了噪音过滤的作用,MACD 产生的信号往往比简单的双 SMA 交叉更少,但可信度更高。

不过,这层额外的平滑也意味着 MACD 对急剧反转的反应更慢。在回测中,用同一份数据比较两个系统:MACD 通常胜率更高,但总交易次数更少。净盈利能力取决于信号质量的提升能否弥补错过的早期入场。

亲自试试

想在不写代码的情况下快速迭代 MACD 参数,只需用日常语言描述策略。使用 QuantPrompt,你可以输入类似这样的内容:“在 AAPL 日线数据上使用 12/26/9 参数,当 MACD 线上穿信号线时买入;下穿时卖出。与 50/200 SMA 交叉进行比较。”AI 会解析其中的逻辑,在历史数据上运行回测,并返回完整的绩效报告,包括资金曲线、回撤、夏普比率(Sharpe ratio)以及逐笔交易明细。

这样一来,比较 MACD 的各种变体就变得切实可行:测试 8/17/9 与 12/26/9,比较柱状图出场与交叉出场,看看在你选定的标的范围内,哪种方法能带来最佳的风险调整后收益。

常见问题

参考资料