← 返回目录
p5.8动手⏱ 约 16 分钟

衰减监控与停机线:你打算什么时候承认它不行了

要 82 年数据才能统计上确认这个策略衰减了——而样本只有 16 年;-30% 的停机线在同一批收益下有 98% 概率被触发

🔎 最后验证 2026-07📚 来源:衰减检出年限、三条停机规则回测与重排基准,2026-07-31 于 ECS 实测,输出见 code/outputs/stdout.txt🧰 qlab.engine(本课自研)、numpy 2.5.1、Python 3.12.13
为什么学这个

策略会衰减。所有人都同意这句话。

于是所有人都会设一条停机线:回撤超过 X% 就停,连续 N 个月跑输就停。

但先算一个数:要多久才能在统计上确认"它真的衰减了"?

日超额年化 -3.52%,年化波动 15.90%,信息比率 -0.221

要把「超额 = 0」拒掉(t=1.65):需要  56 年数据
                   (t=2.00):需要  82 年数据
                   (t=2.58):需要 136 年数据

本样本只有 16.0 年。

82 年。

这不是本课的策略特别差——信息比率 0.2 量级的策略,统计上就是这么难被证伪

所以这一节的结论会有点反常识:停机线不是"策略坏了的证据",它是"我认赔的上限"。

💡 打个比方

医生说"这个药可能没用"。

要证明它没用,需要一个几千人、跑几年的双盲试验。

而你只有一个病人、观察了三个月。

在这种情况下,"停药"这个决定的依据不可能是统计显著性——只能是"我还能承受多少副作用"。

一、82 年:衰减检出的时间尺度

用单样本 t 检验倒推:要把"超额 = 0"拒掉,需要多少天数据?

n_days = (t · σ / |μ|)²
显著性水平需要的数据长度
t = 1.65(90%)56 年
t = 2.00(95%)82 年
t = 2.58(99%)136 年

本样本只有 16 年。

这个数字对信息比率的依赖极强(它按 IR 的平方反比增长)。IR = 0.22 时要 82 年;即使 IR 提高到 0.5,也要约 16 年——恰好是整个样本长度

推论:对绝大多数散户可及的策略,"它是不是衰减了"这个问题,在你需要做决定的时间尺度上无法回答。

这不是方法不够好,是数据量的物理限制。

🔧 动手做:你要多久才能"确认"策略坏了?(5 分钟)

python decay_monitor.py,看【一】衰减检出的时间尺度。

你会看到(实测):以这条策略实测的衰减幅度,要在统计上确认它真的衰减了(t=2.0),需要 82 年数据——而你手上只有 16 年

想明白:这意味着在它真坏掉之前,你几乎永远无法在统计上确认它坏了。所以按回撤设的停机线(-30%)在同一批收益下有 98% 概率被触发,大多是误停(正常波动)。停机线不是"科学识别失效",是"控制亏损的纪律"——两者别搞混。

二、三条常见停机规则,回看历史

规则触发天数停机后年化不停机年化停机时间占比
A 回撤超过 -30%1334-1.04%-0.34%39.4%
B 滚动 12 月超额 < 02398-0.27%-0.34%70.5%
C 滚动 12 月夏普 < 01994-0.86%-0.34%64.2%

(触发后停机 63 个交易日;停机期间收益记为 0)

A 和 C 都让结果更差。

⚠️ 避坑

B 看起来"改善"了(-0.27% vs -0.34%),但这个改善不能算数。

看它的停机时间占比:70.5%

一个七成时间不交易的规则,和"干脆别做这个策略"的区别已经不大了。它的"改善"来自少交易,不是来自识别对了衰减

"停机后表现更好"不等于"这条线识别对了衰减"。

判断一条停机线好不好,不能只看停机后的总收益——必须看它触发的时点对不对。这就是下一节要看的误停率。

三、误停率:触发之后的 63 天发生了什么

规则触发次数其后 63 日平均收益其中上涨占比(误停率)
A 回撤超过 -30%10+3.76%60.0%
B 滚动 12 月超额 < 057+1.12%43.9%
C 滚动 12 月夏普 < 036-0.02%33.3%

规则 A——最常见的那条——触发之后的 63 天,策略平均上涨 3.76%,六成的触发是错的。

这正是"停在最低点"的量化版本:回撤触发的时点,恰恰是均值回复概率较高的时点。

四、给"异常回撤"定一个统计基准

停机线该设在哪?先问:多深的回撤才算"异常"?

用 p5.6 的顺序重排法——同一批日收益,只换顺序,重排 5000 次:

最大回撤 95% 区间 [-60.1%, -30.7%]   实测 -43.9%

5000 条重排路径里,有 98% 的最大回撤比 -30% 更深。

也就是说:一条 -30% 的停机线,在同一批收益下几乎必然被触发。它触发与否,和策略有没有真的变坏几乎无关。

只有回撤超过 -60.1% 才落在这批收益的分布之外——而那时你已经亏掉六成了。

两个数的小差异值得一提:p5.6 那次重排给出的区间是 [-60.10%, -30.34%],本节是 [-60.1%, -30.7%]。 这是蒙特卡洛自身的估计误差——5000 次重采样本来就只精确到这个量级。一个区间的第三位小数不该被当真。

五、那停机线还要不要设

要。但要改变它的定位。

错误定位正确定位
它是什么策略坏了的证据我认赔的上限
依据来自统计显著性风险预算(p5.10)
本节的结论在 IR≈0.2 下需要 82 年,无解答案来自你能承受多少,与数据无关

停机线的三条写法要求

  1. 事先写进规格书(p5.1 第 ④ 类:出场)。事后设的停机线不是风控,是止损后的自我安慰
  2. 用可承受回撤定线,不是用统计显著定线。前者你答得出来,后者本节已证明答不出来
  3. 必须同时写明重启条件。没有重启条件的停机线,等于永久放弃——而 p5.6 那个 -60% 到 -30% 的区间说明,很多次触发只是路径运气

一个更诚实的替代方案

与其监控"策略是否衰减",不如监控假设是否被推翻:

监控对象比"看净值"好在哪
成交成本是否偏离假设可以在几十笔交易内确认(p4.2/p5.7),不需要 82 年
换手率是否显著上升直接可测,且影响容量
信号触发频率是否异常结构变化往往先反映在信号频率上,而不是收益上
持仓集中度/相关性是否漂移组合层面的结构变化

这些量的信噪比,比收益率高得多。收益是所有变化的最终结果,也是最慢、最吵的那个指标。

❓ 测验
你的策略回撤达到 -32%,触发了事先设定的 -30% 停机线。以下哪个判断是正确的?
✏️ 填空
在信息比率约 0.22 的情况下,要把「超额 = 0」在 95% 水平上拒掉,需要约 ___ 年数据。

📌 免责:本课为技术教学,标的为沪深300 指数,所有回测为历史模拟,停机规则为演示口径,不构成投资建议。

✅ 小结

三件事:

  1. 衰减在统计上几乎无法及时确认。IR = -0.221 时,把"超额 = 0"拒掉需要 56 / 82 / 136 年(90%/95%/99%),而样本只有 16 年。IR 提高到 0.5 也要约 16 年——恰好是整个样本长度
  2. 三条常见停机规则回看历史,两条让结果更差(A -1.04%、C -0.86% vs 不停机 -0.34%);唯一"改善"的 B 有 70.5% 的时间在停机——"停机后更好"不等于"识别对了衰减"。规则 A 的误停率 60.0%,触发后 63 天平均上涨 3.76%
  3. -30% 的停机线在同一批收益下几乎必然被触发:5000 次重排里 98% 的路径回撤比它更深。只有超过 -60.1% 才落在分布之外——而那时已经亏掉六成

所以定位要改:停机线不是"策略坏了的证据",是"我认赔的上限"。三条写法要求:事先写进规格书、用可承受回撤定线、必须写明重启条件

一个更诚实的替代:监控假设是否被推翻(成本偏离、换手上升、信号频率异常、相关性漂移),而不是监控净值——这些量的信噪比比收益率高得多。

下一节进入组合层:不再问"买什么",而问"每个东西该占多少"——风险平价、再平衡成本,以及它长期的真实表现。

下一节 → 风险平价与全天候:让每个资产贡献同样的风险
🔎 来源与核验· 4 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「衰减检出年限(双均线 5/20 对沪深300,日超额年化 -3.52%、年化波动 15.90%、IR -0.221):t=1.65 需 56 年、t=2.00 需 82 年、t=2.58 需 136 年;样本仅 16.0 年」
📚 本节 code/decay_monitor.py,2026-07-31 于 ECS 实测,输出见 code/outputs/stdout.txt✓ 已核验 2026-07
「三条停机规则(触发后停机 63 个交易日):A 回撤 -30% 触发 1334 日、停机后年化 -1.04%、停机占比 39.4%;B 滚动 12 月超额<0 触发 2398 日、-0.27%、70.5%;C 滚动 12 月夏普<0 触发 1994 日、-0.86%、64.2%;不停机 -0.34%」
📚 同上实测✓ 已核验 2026-07
「误停率(新触发后 63 日):A 触发 10 次、平均 +3.76%、上涨占比 60.0%;B 57 次、+1.12%、43.9%;C 36 次、-0.02%、33.3%」
📚 同上实测✓ 已核验 2026-07
「顺序重排 5000 次的最大回撤 95% 区间 [-60.1%, -30.7%],实测 -43.9%;98% 的重排路径最大回撤比 -30% 更深」
📚 同上实测(随机种子 20260731;与 p5.6 的区间在小数位上的差异为蒙特卡洛估计误差)✓ 已核验 2026-07
停机规则为教学演示口径;检出年限按单样本 t 检验倒推,假设超额收益独立同分布,实际存在自相关时所需样本更长。
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p5.9
风险平价:权重分散不等于风险分散
继续读下一节 →