定义
前进分析(Walk-Forward)
前进分析在一段历史上拟合参数、在下一段上原样检验,再向前滚动重复。本文说明前进效率怎么读,以及这项检验最常被怎样悄悄作废。
前进分析(walk-forward analysis)是一种回测流程:先在一段历史窗口上拟合策略参数(样本内),再把这组参数原封不动地放到紧接着的下一段窗口上运行(样本外),然后把两段窗口一起向前滚动,重复这个过程。把各段样本外结果拼接起来,才是唯一算数的业绩;样本内结果只是挑选参数的代价,不是证据。常见的切分是样本内十二个月、样本外三个月、按季度滚动;而前进效率——样本外收益除以样本内收益——低于约 0.5,就说明参数并不稳定。
- 又称
- 滚动回测 · 步进式优化 · 样本外滚动检验
计算方式
Window k: fit on [t_k, t_k + IS), test on [t_k + IS, t_k + IS + OOS)
Roll: t_{k+1} = t_k + OOS, then repeat
Reported performance = the stitched OOS segments only
WFE = annualised OOS return ÷ annualised IS return
IS 30% / OOS 9% → WFE = 0.30 (below ~0.5: parameters unstable)
Typical split: IS 12 months / OOS 3 months, rolled quarterly
实算示例: 样本内十二个月年化 30%,紧接着的三个月样本外年化 9%:前进效率 9 ÷ 30 = 0.30,参数不稳定。
为什么只有样本外那几段算数
Bailey、Borwein、López de Prado 与 Zhu 证明:只要参数尝试的次数够多,即便策略毫无优势,也应当预期得到一个很高的样本内夏普比率,因为你挑出的是 N 次随机抽样中的最大值。Lo 与 MacKinlay 在学术资产定价检验中记录了同一种数据窥探偏差。前进分析是对此的实际防线:参数从未见过用来评判它的那段窗口,所以拼接后的样本外记录,就是一个按计划定期重新拟合的实盘账户本来会赚到的东西。记下尝试次数,把最好的样本内结果当作 N 次抽样的期望最大值,而不是信号。
怎么读前进效率
前进效率等于年化样本外收益除以年化样本内收益。一条样本内赚 30%、样本外赚 9% 的规则,效率是 0.30:样本内数字的七成来自拟合,而不是来自市场。低于约 0.5,参数就不够稳定、不该拿去交易;0.5 到 1 之间意味着一部分优势被噪音吃掉,这是正常的;远高于 1 的数字说明的是那段样本外窗口,而不是这条规则。QANTERION 没有回测引擎,它对应「样本外窗口」的做法,是在启用任何实盘执行之前,先在真实行情数据上做模拟盘前向测试。
常见误读
这项检验最常被执行它的人亲手作废:前进分析跑了一遍,样本外记录不好看,于是改参数范围、改窗口长度,一直改到它好看为止——到这一步,样本外窗口已经被拿来优化过,变成了样本内。第二个错误是把单独一段漂亮的样本外窗口当作验证,而策略在那段时间里其实没做几笔交易;一个三个月、只有六笔交易的窗口,无论结果好坏都没有统计分量。
动手算一算
参考资料
- Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance — Notices of the American Mathematical Society, Vol. 61 No. 5 (2014)
- The probability of backtest overfitting — Journal of Computational Finance (Risk Journals)
- Data-Snooping Biases in Tests of Financial Asset Pricing Models — National Bureau of Economic Research (Andrew W. Lo, A. Craig MacKinlay)
本术语表用于教学。此处内容不构成投资建议,页面所述任何指标都不能预测未来结果。