backte.st

如何阅读回测报告而不自欺欺人

净收益、回撤、交易次数、买入持有和稳健性检验:回测报告中每个数字说明了什么,又没有说明什么。

回测回答的是一个很窄的问题:在这些假设下,把这套规则用在这段数据上,究竟会发生什么? 它不会告诉你接下来会发生什么。读好一份报告,就是要知道哪些数字有分量,哪些数字很容易被美化。

先看假设,而不是收益

在看任何结果之前,先确认测试是怎么跑的。在 Backte.st 中,每份报告都会在 数据与假设 中列出:

如果你在别处看到的报告没有说明成交规则和成本,请把它的收益最多当作一个上限。

净收益与买入持有

净收益是扣除成本后账户价值的变化。单看它意义不大,因为大多数市场都有趋势。所以每份报告还会显示 相同仓位比例下的买入持有:如果你的策略每笔交易投入 20% 的资金,那么对比基准就是整个期间都把 20% 的资金放在市场里。

一个跑赢买入持有的策略,如果靠的是多得多的交易(更多成本和税费)或更深的回撤,实际上可能更差。

最大回撤:你真正会感受到的数字

最大回撤是账户价值从峰值到谷底的最大跌幅。真实的人能否坚持一个策略,往往取决于这个数字。收益相同的两个策略,如果其中一个途中让账户腰斩,感受会完全不同。

记住,回测中的回撤只是 那一个特定交易顺序 下的最大跌幅。打乱交易顺序 能显示它在合理范围内可能有多糟。

交易次数:证据够吗?

寥寥几笔交易靠运气几乎可以产生任何收益。Backte.st 不会假装能判断,而是把这类检验标记为 交易太少。如果你的报告只有几笔已平仓交易,在下结论之前,试试更长的历史、更小的 K 线或更多市场。

稳健性检验

主要结果只是在一组假设下跑了一次。检验会在更苛刻的条件下重新运行同一套规则:

  1. 未见期间:单独评估历史中最后 30% 的部分。参见 样本外测试。
  2. 成本翻倍:佣金和滑点加倍。参见 交易成本。
  3. 邻近参数:每个指标周期调整 ±10% 和 ±20%。参见 参数稳健性。
  4. 延迟入场:每笔订单晚一根 K 线成交。参见 前视偏差与成交时机。
  5. 去掉最佳交易:去掉收益最高的五笔交易。参见 过拟合。
  6. 交易顺序打乱:把交易顺序打乱 200 次。参见 蒙特卡洛。

在该条件下策略收益仍为正,检验就判定为 经受住了;判定至少需要 10 笔已平仓交易(打乱检验需要 20 笔)。弱点 并不意味着这个想法毫无价值,而是告诉你结果在哪里依赖于脆弱的东西。全部 经受住了 是个好的开始,但不能证明存在优势。

报告无法告诉你的

用回测来快速、低成本地 淘汰 想法,这时它最诚实。

在实验室中试试

无需代码,用指标搭建策略,在几个市场上运行,用你自己的规则查看这项检验。免费,并在你的浏览器中运行。

打开实验室