完整理解 CPCV——量化回测防过拟合的现代标准方法,来自 Marcos López de Prado 的工作。
CPCV(Combinatorial Purged Cross-Validation,组合 purged 交叉验证)是一种针对时间序列的交叉验证方法:把时序数据切成 N 个块,做组合式的训练/测试划分(总共 C(N, k) 种),并在训练与测试之间设置 purge / embargo 来防止信息泄漏。
为什么不能直接用 K-fold:股票数据有自相关 + 趋势,K-fold 随机划分会把相邻样本同时放进训练和测试,造成信息泄漏,回测结果虚高。
为什么 walk-forward 不够:Walk-forward 给一个单点估计(单一时间窗划分),无法回答"如果换一个划分会不会很糟?"——CPCV 给出分布而非单点。
二者缺一不可。CPCV 完成训练-测试切分后,这两步是默认动作。
CPCV 给出回测指标的分布;DSR(Deflated Sharpe Ratio) 进一步对"试了多少次"做显式校正——二者配合是当代量化研究的标准防过拟合工具。
A 股市场结构(T+1、涨跌停、北向资金间断、节假日)给时序划分增加了复杂度。CPCV 的组合性 + purge/embargo 让回测结果在面对节假日跳空、政策事件、节后开盘异常等情形时仍然鲁棒。
如果你的策略经过 CPCV 多组划分 + DSR 校正后仍显著,它比一个高 Sharpe 的单次回测可信得多——这是 A 股量化研究的最低纪律线。