MOM 兵法:极速狂飙,量化战场的“速度表”

101 阅读7分钟

【兵法云】 :“兵贵神速。乘人之不及,由不虞之道,攻其所不戒也。”

如果说 MACD 是指北针(看方向),那么 MOM (Momentum) 就是你战车上的速度表。它不关心你在哪里,只关心你跑得有多快

1. 战局痛点:为何“追涨”总被套?

实战数据剧透: 在最新的回测中,我们对 MCK (美股)603737 (A股) 进行了严酷的压力测试。 结果令人深思:MOM 并非遍地捡钱的神器。在 MCK 上,它虽跑赢了通胀(年化 15%),但远未达到“暴利”;在 603737 上,由于过度过滤,9年仅交易 2 次,虽然胜率 100%,但资金利用率极低。 速度确实是利润的源泉,但并非所有路况都适合飙车。

你是否也经历过这种无奈:

  • 看着股价涨了,觉得趋势确立了,刚追进去,它就“减速”横盘了?
  • 以为是回调,结果是动力熄火,股价直接掉头向下?

MOM (动量指标) 的核心天赋是测量加速度。它告诉你,现在的上涨是“油门踩到底”的加速阶段,还是“松开油门”的惯性滑行。惯性滑行,往往是反转的前兆。

2. 兵法推演:速度与激情

拒绝枯燥的公式,我们用 《大风策》 的兵法视角来拆解:

阵法组成兵法定位战术含义
0 轴静止状态速度为 0。多空力量平衡,可能是盘整,也可能是变盘点。
正值 (+)冲锋速度既然是正数,说明今天的价格比 N 天前高。数值越大,冲锋越猛。
负值 (-)撤退速度既然是负数,说明今天的价格比 N 天前低。数值越小(越负),溃败越快。
MOM 线转速指针指针向上=加速;指针走平=匀速;指针向下=减速。

2.1 深度拆解:MOM 的铸造工艺

MOM 是所有动量指标的鼻祖,它的计算简单到令人发指,但却直指核心:比较今天和 N 天前的价格

  1. 时空折叠 (公式)

    • 公式MOM=PricetodayPricetodayNMOM = Price *{today} - Price*{today-N}
    • 含义位移距离
    • 假设 N=10。
    • 如果今天股价 100,10天前是 90。MOM=10090=+10MOM = 100 - 90 = +10
    • 如果今天股价 100,10天前是 110。MOM=100110=10MOM = 100 - 110 = -10
  2. 加速度原理 (物理学含义)

    • 加速上涨:股价一直在涨,且 MOM 也在不断变大(+5 \rightarrow +10 \rightarrow +15)。说明油门踩到底,多头力量源源不断。
    • 减速上涨 (顶背离) :股价还在创新高,但 MOM 却开始下降(+15 \rightarrow +10 \rightarrow +5)。说明车还在往前溜,但发动机已经熄火了。这时候最容易翻车(见顶)。
  3. 标准化困境

    • MOM 是一个绝对值指标(单位是元)。股价 1000 元的股票,MOM 可能是 100;股价 10 元的股票,MOM 可能是 1。
    • 缺陷:很难在不同股票之间横向对比。
    • 对策:通常配合 ROC (变动率) 使用,ROC 是 MOM 的百分比版本。

2.2 关键战机:听声辨位

1. 突破零轴:发车信号

  • 兵法:MOM 由负转正,上穿 0 轴。
  • 解读:多头扭转颓势,开始占据上风。这是趋势确立的第一枪。
  • 对策右侧买入

2. 极限极值:超速预警

  • 兵法:MOM 达到历史高位(如过去半年的最高点),然后掉头向下。
  • 解读:物极必反。没有永远的加速,过热之后必有冷却。
  • 对策分批止盈。不要试图吃到最后一种铜板。

3. 顶背离:刹车信号

  • 兵法:股价创新高,MOM 却没创新高。
  • 解读:典型的减速上涨。多头力竭,空头蓄势待发。
  • 对策清仓离场,或者反手做空

3. 实战兵书

3.1 核心阵法

策略逻辑趋势跟随 + 极值反转。我们在 0 轴上方顺势而为,在极端位置防止反转。

import backtrader as bt
​
class BTStrategyMOM(bt.Strategy):
    params = (
        ('period', 10),           # MOM 周期 (标准为10)
        ('use_trend', True),      # 趋势过滤
        ('trend_period', 200),    # 长期均线
        ('stop_loss', 0.05),      # 止损
    )
​
    def __init__(self):
        # 1. 实例化 MOM 指标
        self.mom = bt.talib.MOM(
            self.data.close, timeperiod=self.params.period
        )
        self.trend_ma = bt.talib.SMA(self.data.close, timeperiod=self.params.trend_period)
​
    def next(self):
        if self.order: return
        
        # 2. 止损检查
        if self.position:
            if self.data.close[0] < self.entry_price * (1 - self.params.stop_loss):
                 self.close()
                 return
            
            # 3. 离场逻辑:MOM 掉头向下 (跌破 0 轴或高位回落)
            # 这里简单演示跌破 0 轴离场
            if self.mom[0] < 0:
                self.close()
            return
​
        # 4. 入场逻辑:突破 0 轴 + 顺势
        trend_ok = True
        if self.params.use_trend:
            trend_ok = self.data.close[0] > self.trend_ma[0]
​
        if not self.position and trend_ok:
            if self.mom[-1] < 0 and self.mom[0] > 0:
                self.buy()
                self.entry_price = self.data.close[0]

4. 演兵场:参数网格优化

4.1 因地制宜

  • 短线突击 (Period=5) :极其敏感,适合捕捉超短线爆发(如涨停板战法)。
  • 波段作战 (Period=10) :标准参数,平衡了灵敏度与稳定性,适合大多数波段策略
  • 中线趋势 (Period=20) :过滤掉短期杂波,只做大趋势的加速段。

4.2 演兵代码:沙盘推演

import backtrader as bt
​
# 定义参数网格
param_grid = {
    'period': [5, 10, 20],          # 核心变量:时间窗口
    'use_trend': [True, False],     # 战术选择
    'stop_loss': [0.05, 0.08],      # 风控
}
​
cerebro.optstrategy(BTStrategyMOM, **param_grid)

5. 战史复盘:经典战役

⚠️ 兵不厌诈:以下数据为历史战役复盘,未来战场瞬息万变,不可刻舟求剑。


5.1 美股战场:MCK (McKesson)

  • 战役时间:2023-12-05 至 2025-12-05

  • 战果

    • 📈 总收益+32.08%
    • 💰 年化收益14.96%
    • 🏆 胜率54.55% (11战6胜)
    • 📉 最大回撤14.66%
  • 战局复盘

    • 表现平平。虽然捕捉到了部分涨幅,但频繁的震荡消耗了利润。说明 MOM 在非单边暴涨行情中,容易遭遇“来回打脸”。


5.2 A股战场:603737 (中博工机)

  • 战役时间:2016-06-03 至 2025-12-05 (9.5年)

  • 战果

    • 📈 总收益+67.45%
    • 💰 年化收益7.64%
    • 🏆 胜率100% (2战2胜)
    • ⚠️ 交易频率极低 (平均4.5年才出手一次)
  • 战局复盘

    • 成也萧何,败也萧何。严格的趋势过滤虽然保证了 100% 的胜率,但也过滤掉了 99% 的机会。这不再是“速度表”,而变成了“老爷车”。

mom_603737_BTStrategyMOM_plot

6. 大风策·结语

【兵法总结】

  1. 看速度:股价涨不是本事,涨得快才是本事。MOM 是检验多头成色的试金石。
  2. 看背离:当股价创新高而 MOM 却无力新高时,是主力在边打边撤。别做接盘侠。
  3. 看趋势:MOM 在 0 轴之上,说明多头掌握主动权;0 轴之下,休息为主。

【战局观】

MOM 是快刀,但非万能钥匙。

  1. 盲区 (知软肋) :它只看速度,不看路况(基本面/宏观)。在震荡市中,极易因频繁转向而被“来回打脸”。
  2. 破局 (懂布局) :真正的量化系统需多兵种协同——结合趋势(MA)、波动率(ATR)实现多因子共振,并辅以仓位管理(如凯利公式)。

🔔 预告:本专栏旨在打磨单兵武器。后续进阶专栏将重点讲解“排兵布阵”,揭秘多因子选股与系统化交易策略。

⚠️ 风险提示:历史回测不代表未来。实战务必严格止损,控制仓位,切勿迷信单一信号全仓梭哈。

—— 天下武功,唯快不破。


🎁 军饷与福利

关注【大风技术】,获取本策略源码。在评论区留言股票代码,还可获取:

  • 🔥 精选战例:卧龙先生为你寻找该标的的最佳策略参数组合
  • 📊 呈送战报:反馈详细量化回测报告(含胜率、盈亏比、最大回撤)。
  • 📈 数据支持:提供 A股/美股 历史数据,助你跨市场验证策略。

免责声明

本文仅供技术交流与学习,不构成任何投资建议。文中所涉证券代码仅作为策略回测案例,旨在演示量化分析逻辑,不代表任何个股推荐。市场有风险,投资需谨慎。 🔥 您的 [点赞] 👍 [分享] 🚀 [收藏] ❤️ ,是大风策持续行军的动力!