先写规则,再让旧数据按时间走

假设你提出一个每月底调整组合的规则,想知道如果从五年前开始执行,期间会经历哪些亏损和资金变化。回测程序逐个时点读取当时可得到的数据,模拟买卖,再计入费用等条件。

如果用今天才知道的“最后活下来的公司名单”挑选五年前的股票,就遗漏了那些退市或失败的公司;如果用财报尚未公布的数据交易,就相当于提前知道答案。这些都会使过去成绩显得过好。

一眼看懂 / 示意图

数据应按当时能知道的顺序进入

  1. 01历史时点

    只使用那时已经可得的信息

  2. 02模拟决策

    按既定规则并考虑执行条件

  3. 03结果分析

    收益之外还看回撤、成本与失效情境

回测结果是条件模拟,不是实际成交记录。

反复改到历史漂亮,可能只是记住了旧题

试过很多参数,只挑历史收益最好的一套,可能把某段行情的偶然性当成规律。换一段没有参与调参的数据、计入无法成交与成本等限制,才更接近检验规则是否站得住。

即使回测严谨,也不能覆盖未知的市场变化。它的价值是发现不合理假设、了解规则在已知情境中的表现,不是开一张未来盈利证明。