防过拟合机制总览
语言:简体中文 · English canonical
status: active owner: quant-market-research audience: human and agent last_verified: 2026-10-05 source_of_truth: yes superseded_by: n/a
本页概述减少数据泄漏、验证不稳、特征选择偏差和重复试验偏差的方法。列出的机制不代表每次训练都会自动运行。详见研究产物、编排配置和CLI 辅助工具。
主要风险与检查
| 风险 | 建议检查 |
|---|---|
| 历史数据包含当时不可见的信息 | PIT 股票池和版本化资产检查 |
| 训练和测试标签窗口重叠 | 时间切分、事件窗口清理和 CPCV |
| 相邻观测受相同市场环境影响 | 前推验证和滚动训练窗口 |
| 试验很多,只保留表现最好的结果 | 完整试验台账、DSR 和 PBO |
| 结果依赖某段特定行情 | CPCV 路径和场景重采样 |
| 相关特征互相掩盖贡献 | 消融、置换重要度、SFI 和 drop-column |
PIT 指按决策时点只使用当时可见的信息。CPCV 是组合式带清理交叉验证。DSR 会调整多次试验后挑选赢家产生的 Sharpe 偏差。PBO 估计样本内赢家在样本外排名变差的概率,CSCV 是常用计算方法之一。
仓库已有机制
| 机制 | 实现与边界 |
|---|---|
| 时间切分与事件窗口清理 | alpha 研究切分 API 接受 cv_purge_mode 的 gap 和 event_window。这不是单独注册的 strategy alpha CLI 命令。 |
| 前推验证和最终留出 | 流程支持 eval.walk_forward 和 eval.final_oos。候选确定前不要查看最终留出结果。 |
| CPCV 和 PBO | alpha 包含相关研究 API,但其 parser helper 没有注册为公开的 strategy-pipeline 命令。 |
| 特征证据 | alpha 包支持消融、置换重要度、因子 IC、SFI、相关性审计和 drop-column 模式。这些 parser helper 不是公开 CLI 子命令。 |
| 诊断 | overfitting_diagnostics 提供唯一性、负控制、场景回测和候选冻结模式,不会在普通训练中自动执行。 |
| 试验台账 | ExperimentRegistry 是追加式 JSON API,用于记录试验身份和状态,也不会扫描运行目录发现试验。 |
| 晋升门 | alpha_research.promotion_gate 根据给定报告和配置进行评估。运行前通过 strategy-pipeline --help 核对公开命令。 |
当前公开 CLI 没有注册旧文档中的命令,包括 strategy alpha cpcv、strategy alpha pbo、strategy alpha feature-evidence、strategy trial-registry 和 strategy promotion-gate。请使用包 API 或项目明确配置的研究 runner,并先核对其入口。
实际复核顺序
- 固定数据资产、PIT 股票池、目标、特征、成本和组合构造,确保候选与基线口径一致。
- 按时间验证。标签窗口可能重叠时,将
cv_purge_mode设为event_window,并确认所用 runner 确实把该设置传入切分 API。 - 候选及规则确定前,不查看最终样本外留出结果。
- 对比简单基线和候选,检查特征族消融、稳定性、相关性及特征重要度诊断。
- 成功和失败的试验都要记录。DSR 和 PBO 依赖完整且可比的试验集合。
- 将 CPCV 或场景重采样作为针对性压力检查,不能替代前推验证和最终留出。
- 冻结候选及其证据后,再进行模拟或影子运行。
晋升门 API 可接收主评估、回测、前推、最终样本外、成本与换手报告,并可配置 CPCV 路径数、DSR 试验数等阈值。输入不完整或不可比时,阈值本身不能保证结论可靠。评估时同时检查数据和试验覆盖、IC、多空收益、Sharpe、回撤、换手、成本及暴露。单个高 Sharpe、特征重要度或模型运行都不足以支持晋升。