回测给出的是一个交易序列。你看到的回撤是 那个特定顺序 下的最大跌幅。如果同样的交易以另一种顺序发生,亏损接连出现,跌幅可能深得多。蒙特卡洛打乱就是用来估计会深多少。
思路
拿出已平仓交易及其收益的列表。随机打乱顺序,重建资金曲线,测量最大回撤。重复很多次,你就得到同一组交易可能产生的回撤分布。
Backte.st 的做法
交易顺序打乱 检验把交易顺序打乱 200 次,并报告 第 95 百分位回撤:只有 5% 的打乱序列超过的水平。它使用固定的随机种子,因此同一份报告总是给出同一个数字。
为什么有用
- 仓位大小。 如果打乱后的回撤比回测深得多,你可能想降低每笔交易的风险。
- 预期管理。 知道 30% 的跌幅是合理可能的,有助于你在糟糕阶段坚持策略,或者提前判断自己无法承受。
- 比较。 收益相近的两个策略,打乱后的回撤可能差别很大。
需要记住的局限
- 忽略持仓期间的亏损。 打乱使用已平仓交易的收益,所以持仓期间的下跌不包括在内。
- 假设交易相互独立。 现实中亏损交易往往集中在某些市场状态,而打乱会拆散这种聚集。
- 不会创造新类型的交易。 如果历史中从没有过崩盘,打乱后也不会有。
- 需要足够的交易。 交易太少时分布没有意义,检验会标记为交易太少。
与其他检验一起使用
打乱回答的是“用这些交易,情况可能有多糟?”其他检验则问交易本身是否可信:它们能否在 样本外、成本更高 以及去掉 少数几笔最大盈利 后依然成立。
在 实验室 中打开任意一次运行的稳健性检验,把打乱后的回撤与实际回撤放在一起看。