动能策略为什么不能简单‘禁止追高’?
很多朋友问我:既然 ETF 动能策略有时会买在高位,为什么不直接加入“不追高”过滤?
比如,短期涨幅太大不买、动能太强不买,或者 3 日、5 日涨幅超过某个阈值就剔除。这个想法很直观,但从我们的回测结果来看,简单过滤并没有带来预期中的改善。
“追高”和“跟随主线”很难事先区分
在动能策略里,“追高”和“跟随主线”往往很难区分。
真正的大行情,通常一开始就会表现得很强:排名靠前、短期涨幅高、趋势斜率大、动能分数高。如果仅仅因为它看起来“过热”就将其过滤,很可能躲开了少数回撤,却也错过了策略最主要的利润来源。

我们测试过哪些过滤方式
我们测试过几类常见的过滤方式:
- short 动能过高时不买;
- 3 日涨幅过高时不买;
- 5 日涨幅过高时不买;
- 使用海外市场风险代理,规避部分 ETF。
这些过滤确实能够避开个别高位回撤,但同时也会过滤掉不少真正赚钱的主升段。最终表现往往是:收益明显下降,而最大回撤并没有同步改善。
本文插图仅用于解释策略逻辑,不是实际行情或回测曲线。具体表现仍应以统一的数据口径、交易成本和样本外测试结果为准。
关键不是预测顶部,而是识别强势失效
这说明了一个问题:
动能策略最重要的,不是提前判断“涨多了会不会跌”,而是识别“强势是否已经失效”。
所以,我更倾向于保留动能排名,让策略继续选择最强的方向;同时使用“从近期高点回撤 8% 后剔除排行”的规则,处理趋势已经遭到破坏的情况。
为什么采用“从高点回撤 8% 后剔除”
这套规则的逻辑并不复杂:
- 先允许策略买入动能排名靠前的强势 ETF;
- 买入后,如果价格从近期高点回撤超过 8%,说明这条趋势可能已经走弱;
- 此时将它剔除出排名,避免继续持有,或者在弱势阶段反复买回。

这种方式不是预测顶部,而是等待市场证明趋势已经转弱后再退出。
买入前过滤与持有后止损的区别
| 处理方式 | 核心思路 | 可能产生的影响 |
|---|---|---|
| 买入前“不追高”过滤 | 提前判断行情是否已经过热 | 容易把真正的强趋势误判为追高,错过主升段 |
| 持有后回撤止损 | 等待趋势被市场证明已经失效 | 允许利润继续奔跑,重点控制错误继续扩大 |
买入前过滤,是在试图回答“它是不是涨得太多了”;持有后止损,则是在确认“原来的上涨趋势是不是已经被破坏了”。
回测给我的结论
原始版本虽然偶尔会出现追高后亏损的情况,但整体收益和回撤表现依然更好。加入过多的过热过滤后,策略的进攻能力被削弱,收益下降却十分明显。
因此,我目前的结论是:
动能策略不怕买强,怕的是强势结束后还继续恋战。
8% 剔除排行止损,解决的正是后一个问题。
它当然不是完美机制,也会出现止损后价格重新上涨的情况。但相比简单的“不追高”,这种处理方式更符合动能策略的本质:尊重强势、跟随主线,趋势破坏后果断退出。
对动能策略来说,真正重要的并不是避免每一次亏损,而是在不破坏主升段收益的前提下,控制错误继续扩大。
本文仅记录个人量化研究思路,不构成任何投资建议。8% 是当前策略研究中的风险控制参数,并非适合所有市场、品种或投资者的通用标准。历史回测结果不代表未来表现。