先写规则,再让旧数据按时间走
假设你提出一个每月底调整组合的规则,想知道如果从五年前开始执行,期间会经历哪些亏损和资金变化。回测程序逐个时点读取当时可得到的数据,模拟买卖,再计入费用等条件。
如果用今天才知道的“最后活下来的公司名单”挑选五年前的股票,就遗漏了那些退市或失败的公司;如果用财报尚未公布的数据交易,就相当于提前知道答案。这些都会使过去成绩显得过好。
数据应按当时能知道的顺序进入
- 01历史时点
只使用那时已经可得的信息
- 02模拟决策
按既定规则并考虑执行条件
- 03结果分析
收益之外还看回撤、成本与失效情境
回测结果是条件模拟,不是实际成交记录。
反复改到历史漂亮,可能只是记住了旧题
试过很多参数,只挑历史收益最好的一套,可能把某段行情的偶然性当成规律。换一段没有参与调参的数据、计入无法成交与成本等限制,才更接近检验规则是否站得住。
即使回测严谨,也不能覆盖未知的市场变化。它的价值是发现不合理假设、了解规则在已知情境中的表现,不是开一张未来盈利证明。