策略失效:什么时候该停,怎么停
内容持续修订,过时部分会及时剔除
大部分亏损不是“看错一次”,而是“该停的时候没停”。钱不是亏在判断上,是亏在不肯承认这套方法暂时不灵。
1. 失效分三种:执行失效、参数失效、逻辑失效,处理方式完全不同。
2. 停机信号要在上线前写死,不能等亏了再讨论。
3. 停不是认输,是保留重启的资格。
承接上文:回测和执行都通过,只说明这套规则“现在能用”;这一篇讲它什么时候会不能用,以及不能用时怎么办。
一、三种失效,别混在一起
“策略失效”听起来是一件事,其实是三件。分不清,就会用错药:该改流程的时候去改参数,该停用的时候去加仓。
| 类型 | 表现 | 常见原因 | 怎么处理 |
|---|---|---|---|
| 执行失效 | 规则没问题,但违规变多:提前跑、乱移止损、计划外交易 | 情绪、疲劳、流程不清 | 改流程和检查清单,不改系统 |
| 参数失效 | 原来好用的参数区间开始持续亏损,换一段区间又能活 | 波动率、参与者结构变化 | 降仓、重新验证参数,不急着加仓 |
| 逻辑失效 | 赚钱的机制本身消失了,怎么调都不对 | 规则改变、套利空间被抹平、拥挤交易 | 停用,重做假设,而不是修补参数 |
区分方法很简单:先看执行率。执行率低于 80%,先别怀疑策略,先怀疑自己;执行率稳定在 90% 以上还在亏,才轮到讨论参数和逻辑。
判断流程:三步定类型
- 先查执行率:低于 80%,按执行失效处理,改流程、改清单,不动系统。
- 再看滚动期望:执行正常但最近 50 笔转负,进入参数检验——换一段历史、换一组参数,看是否还成立。
- 最后看逻辑:换参数、换品种都不行,说明赚钱的机制没了,停用重做假设。
这个顺序不能反。先改参数再查执行,等于给“手不稳”找了一个“模型不好”的借口;先停用再查执行,可能白白废掉一套本来有效的系统。
正常回撤,不等于失效
任何正期望策略都会有连续亏损,样本内最大回撤就是它的“正常成本”。判断失效,不是看“有没有回撤”,而是看三件事:
- 回撤是否超出历史范围:超过样本内最大回撤的 1.2 倍,才值得警觉。
- 执行是否变形:同样的规则,最近是不是经常被临时改动。
- 逻辑是否还在:当初赚钱的机制,现在还存在吗。
把正常回撤误判成失效,会让你在低点停掉一套好系统;把失效当成正常回撤,会让你在逻辑消失后继续加仓。两种错误都贵,区别只在于一个是“错杀”,一个是“死扛”。
二、四个停机信号,提前写死
停机规则必须在上线前写好,因为亏损时人会本能地找理由。下面四个信号,任一个触发,就进入“降仓观察”,不是立刻清仓,也不是继续加码。
| 信号 | 阈值示例 | 先做什么 |
|---|---|---|
| 滚动期望值转负 | 最近 50 笔期望值 < 0 | 仓位减半,继续记录 |
| 回撤超限 | 超过历史最大回撤的 1.2 倍 | 降到观察仓,暂停加仓 |
| 连亏超阈值 | 超过样本内最长连亏的 1.5 倍 | 停机,纸面跟踪 |
| 结构变化 | 波动率、政策、合约规则明显改变 | 重新做样本外验证 |
注意“阈值示例”四个字:这些数字要按你的样本和回撤容忍度定,不是抄来的教条。关键不是数字精确,而是提前写、到了就执行。
阈值也可以组合使用:滚动期望转负和回撤超限同时出现,直接停机;只出现一个,先降半仓观察。单一信号容易误判,两个独立信号同时亮,可信度高得多。
三、算例:滚动期望值怎么用
滚动期望值,就是只看最近一段样本,而不是全部历史。它能把“优势衰减”提前暴露出来。
前 50 笔:期望 +0.30R。
后 50 笔:期望 −0.10R。
全部 100 笔:期望 +0.10R,看起来还是正的。
但滚动 50 笔已经转负——这才是需要警报的地方。
只看总期望,会得出“还行”的结论;只看最近 10 笔,又太容易被噪音带偏。滚动 50 笔是一个常用折中(不是固定标准):既能反映近期状态,又不至于一笔两笔就改结论。
实务上可以同时看三个经验窗口:最近 20 笔(预警)、50 笔(行动)、全部(背景)。三个方向一致恶化,才值得停机;只有 20 笔转负,先降仓观察。
四、停机之后做什么:四步
停机不是把软件关掉,而是按顺序退下来:
- 降半仓:先砍一半风险,保留参与感,也保留观察样本。
- 降到观察仓:只用很小的仓位跟单,验证“是策略不行,还是最近运气差”。
- 纸面跟踪:完全不下单,只记录信号和结果,至少 30 笔。
- 重启或停用:达到重启条件就恢复,达不到就正式停用。
最危险的动作是“停机后立刻换一套新策略”。新策略没有样本、没有执行记录,等于把刚交的学费又交一遍。这叫策略跳跃,比亏损本身更伤账户。
停机期间,钱放哪
停机不等于必须满仓现金。更现实的处理是分层:
- 主资金:放回现金、货基等低风险位置,先保证不再失血。
- 观察仓:最多用原仓位的四分之一,继续跟单,收集“失效期”的样本。
- 试错预算:如果同时有别的策略在验证,单独隔离一小笔,不占主账户风险。
最不该做的,是“为了不空着”去找一个不熟的品种做。空仓不是损失,乱做才是。
失效期最常见的三个心理陷阱
- 沉没成本:“已经亏了这么多,现在停就白亏了。”——亏掉的是过去,停不停只影响未来。
- 回本执念:想用下一笔把上一笔赚回来,于是放大仓位。这是把 1R 变成 3R 的最快方式。
- 怕错过:看到别人还在赚,怀疑自己停早了。别人的策略、仓位、风险承受力都和你不同,没法直接比。
三个陷阱的共同点,是把“停下来”当成失败。实际上,停机只是把“继续亏”换成“继续观察”,是一笔划算的交易。
停机的成本,也要提前算。错过一段行情的“机会成本”,通常小于在失效期继续亏的“实际成本”。这也是规则要写成“先降仓”而不是“先观望”的原因——观望没有动作,降仓有。
失效期也不是白等。把这段时间用来做三件事:复核数据、重跑样本外、整理错误标签。等信号回来时,你带回的不只是资金,还有一套更清楚的规则。
五、重启的条件,也要提前写
停机时最容易犯的第二个错,是“行情一好就忍不住回来”。所以重启条件同样要写死,而且要比停机条件更严:
- 纸面 30 笔为正:注意是纸面,不是“感觉又行了”。
- 执行率 90% 以上:如果这段时间连纸面都执行不好,说明问题在人不在策略。
- 回撤修复:观察仓的最大回撤回到预算内,再谈恢复正常仓位。
- 原因说清楚:是市场结构回来了,还是参数重新适配了?说不清就不重启。
四条全过,才恢复正常仓位;只过一两条,继续观察。这个标准看起来苛刻,但它保护的正是“下一次机会来的时候,你还在”。
加回仓位也要分档:1/4 → 1/2 → 原仓位,每档跑 10–20 笔,任何一档出现异常就退回上一档。一次性满血复活,等于把刚验证过的东西又赌一遍。重启不是回到从前,是重新开始。
六、一张自检表
| 检查项 | 不合格 | 合格 |
|---|---|---|
| 停机信号写了吗? | 亏了再想 | 上线前就写死 |
| 能分清三种失效吗? | 一亏就改参数 | 先看执行率,再定类型 |
| 有滚动期望值记录吗? | 只看总盈亏 | 20 / 50 / 全部三个窗口 |
| 停机后会不会立刻换策略? | 会,忍不住 | 按降仓、观察、纸面走 |
| 重启条件写了吗? | 行情好了就回 | 四条标准,全过才回 |
七、三个常见问题
停了之后行情又好了,不是很亏?
会错过一段,但这是停机的成本,不是错误。停机的目的不是抓住下一次行情,而是避免在失效期把本金亏光。本金还在,下一段行情永远有机会;本金没了,行情再好也与你无关。
策略越多,是不是越不容易失效?
不一定。多策略能分散“单套失效”的冲击,但如果几套策略赚的是同一种钱(比如都做趋势),它们会一起失效。分散的前提是收益来源不同,不是名字不同。
多久检查一次停机信号?
建议每周看一次滚动值,每月做一次完整检查。行情剧烈时缩短到每天,但不要每小时改规则——那是用噪音喂养焦虑。
“策略失效最贵的代价,不是错过行情,是该停的时候没停。停机不是认输,是把本金留给下一次机会。”