最大回撤:最深的那个坑

最大回撤是从高点到之后低点的最大跌幅。大多数人第一眼就看它,这有道理:它大致就是你需要熬过的最大亏损。但它只是一次事件里的一个数字,既不说明策略花了多久才回到高点,也不说明它是不是大部分时间都在高点下方几个百分点徘徊。

坑一样深,感受完全不同

近五年在 SPY 上,Z 分数均值回归和波动率突破的最大回撤都在 10% 左右(−10.4% 和 −10.1%)。在按回撤排序的排行榜上,它们看起来差不多,实际上却不是:

  • Z 分数均值回归有 32% 的交易日低于前高,最长一次回撤持续 224 天,Ulcer 指数 1.2%。
  • 波动率突破有 98% 的交易日低于前高(其中包括低于前高时长期空仓的日子),最长一次回撤持续 1006 天——将近三年没有创新高,Ulcer 指数 5.3%。

前者是一次急跌然后很快恢复,后者几乎整段时间都在水下一点点的位置。年化收益也是同样的规律:8.0% 对 2.5%。

Ulcer 指数:把深度和时长合成一个数

Ulcer 指数是每天回撤幅度的均方根:每一个低于前高的交易日都算进去,跌得越深权重越大。一次跌 10% 但很快恢复的策略,Ulcer 指数很低;常年在高点下方 3%–5% 徘徊的策略,即使最大回撤更小,Ulcer 指数也会更高。这和实际执行策略时的感受是一致的——长时间没有进展,才是让人放弃的原因。在 Quant Arena 每个策略页的风险标签里都能找到它,旁边还有最长回撤天数和水下时间占比。

滚动夏普:同一个比率,不同的时间段

夏普比率是整段时间里单位风险的平均收益,而“整段时间”取多长影响很大。以 SPY 为例:

  • 波动率突破:近一年夏普 2.49,近三年 1.07,近五年 0.47,全部历史只有 0.14。
  • 一目均衡表:近一年 −0.24,但近三年 1.00,全部历史 0.70。

如果只看近一年,你会选前者、放弃后者——和更长期的记录给出的结论正好相反。每个策略页上的滚动夏普图展示的是一年滚动窗口的夏普,可以看出一个好数字是常态,还是最近刚好走运。

一份简单的检查清单

  • 看最大回撤时,同时看最长回撤天数和 Ulcer 指数。
  • 优先选 1 年、3 年、5 年夏普都说得过去的策略,而不是只有某一个时间窗口特别亮眼的。
  • 看一看回撤的 90% Bootstrap 区间:你实际经历的最坏情况,可能比回测碰巧给出的更深。
  • 问问自己:一个策略原地踏步多久,你就会把它关掉?再拿这个时间和它的最长回撤比一比。