第四讲 · 为什么需要独立验证:预注册与验证管线
第二章 · 诚实的验证(第一讲)
学习目标:理解"工厂自报成绩"与"独立验证"的制度差异;掌握预注册、DSR、样本外一次性判定等核心概念。
前置:第一章(尤其第二讲的"三个必问")。
1. 从一个问题开始
第一章末尾留了一个数字:290 个因子,自报超额最高 +26.5%,独立验证零存活。这一讲回答:"独立验证"到底独立在哪,凭什么它的结论比工厂的数字更可信?
先看一个对照。工厂回测和独立验证做的是相似的事——都是拿历史数据算因子收益。差别不在算力、不在代码质量,在制度:
| 维度 | 工厂内置回测 | 独立验证管线 |
|---|---|---|
| 数据 | 战役面板(同一份) | 独立拉取、独立清洗的复算面板 |
| 规则 | 可以边看结果边调(循环天然如此) | 预注册:判定规则先写死、先存档 |
| 判定 | 排行榜排个序,没有门槛 | 一次性判定:门槛预注册,触发即终审 |
| 对象 | 每个因子都出数字 | 只验证通过初筛的极少数候选 |
| 结论性质 | 描述性的("它收益多少") | 判决性的("拒绝/不可判定/支持") |
一句话:工厂回测回答"如果用它会怎样",独立验证回答"它是不是真的"。前者是描述,后者是统计判决。
2. 多重检验:为什么"边看边调"必然产出假阳性
这是全部验证科学的第一性原理,值得慢慢讲透。
设 290 个因子全部是纯噪声(与未来收益零相关)。每个因子在 5% 显著性水平下做检验,期望产出 290 × 0.05 ≈ 14.5 个"显著有效"。这 14.5 个因子在排行榜上与真因子长得一模一样——显著性不会在你脸上写"我是运气"。
人手动做研究时这个问题就存在(学术界管它叫 p-hacking 的温床);LLM 循环把基数放大了两个数量级,把成本降到了零——于是多重检验从"需要警惕的偏差"升级成"系统的主导性失效模式"。
对付它的唯一制度化手段是预注册(pre-registration):
- 在看数据之前,把以下内容写成文档并存档:候选因子清单、验证用的数据窗口、判定门槛、统计口径、以及"如果不可判定怎么办"
- 验证时严格按存档执行,禁止事后调整任何规则
- 规则改动 = 实验 identity 改变 = 必须整个重跑,旧结论作废
预注册的本质不是仪式感,是把研究者的自由度(researcher degrees of freedom)在结果出来之前锁死。你在第二讲见过的"参数可调的叠加因子"是在因子内部消耗自由度;"看完结果再决定用什么基准、什么窗口、什么门槛"是在验证环节消耗自由度——后者更隐蔽,杀伤力更大。
3. 验证管线的四个构件
以本课程配套的真实管线为例(AIResearchPlatform,与工厂分仓、独立拉数):
构件一:独立数据复算
验证面板不从战役面板拷贝,而是从数据源独立拉取重算。原因直接来自实战:carry 因子 +18% 的双重复权 bug 藏在战役面板的构建代码里——如果验证直接消费这份面板,bug 会被原样继承,纠错永远不会发生。(口径问题的专题在第三章。)
构件二:预注册门槛
真实战役用到的门槛示例(写入预注册文档后才允许接触 OOS 数据):
- DSR(Deflated Sharpe Ratio):对 Sharpe 做多重检验校正——你试了 N 个策略,显著性门槛就要相应抬高。N 越大,门槛越高,头名越难过线
- 主副裁判:主判据之外设一个口径不同的副判据(如价格口径 vs 资金费率口径),两者不一致时不得判"支持"
- 分年度约束:不允许"全部收益来自某一年"的结构——单年贡献超过上限即否决,防止把一段行情当成了规律
- 正交化对手:候选必须对已知风格因子(动量、价值、低波、流动性)做正交后仍有残差 alpha;被已有因子解释掉的部分不算新发现
构件三:样本外一次性判定(OOS 一次性)
样本外数据是消耗品:每用一次就被污染一次。规范是一段 OOS 窗口只允许做一次判定——
- 判 SUPPORTED:进入下一阶段(影子监控,第四章)
- 判 REJECTED:结论存档,该假设族进入"禁止复测"清单(防止换个马甲再试一次 OOS)
- 判 INCONCLUSIVE(如功效不足):冻结,只能等新的前向数据或新预注册,不允许降低门槛重试
构件四:留痕与可复现
验证报告落盘存档(数据指纹、代码版本、门槛数值),任何人任何时刻可复算。这不仅是科学规范,也是给自己未来的保险——第九讲会讲到,多个重大勘误(包括 +18% 假 carry)正是因为"历史结论可以复算"才被发现和纠正的。
4. 一次性判定的三份真实判决书
这套制度产出的三种结局,每种都有真实案例,构成接下来两讲的内容:
| 判决 | 案例 | 数字 | 讲次 |
|---|---|---|---|
| REJECTED | 业绩预告事件窗 | OOS 价差 −0.49%(方向反),发现期亦无效 | 第六讲 |
| INCONCLUSIVE | 指数调样流 | OOS +1.00%,p=0.062——功效不足,冻结 | 第六讲 |
| SUPPORTED | crypto funding carry | OOS +2.37%/年,p<0.0001,八项子检验全过 | 第四章 |
注意三个数字的相对量级:唯一活下来的策略,年化 2.37%;而被否决的两个,发现期的数字都远比它耀眼。真 alpha 又小又难看,假 alpha 又大又合理——这不是巧合,是这个行业的结构特征,后面每一讲都会回到这一点。
5. 本讲小结
- 工厂回测是描述,独立验证是判决;差别在制度不在算力
- 多重检验是循环挖掘的主导性失效模式,预注册是唯一的制度化解药
- 管线四构件:独立数据、预注册门槛(DSR/主副裁判/分年度/正交化对手)、OOS 一次性判定、留痕可复现
- 三种判决各有真实案例:REJECTED(−0.49%)、INCONCLUSIVE(+1.00%, p=0.062)、SUPPORTED(+2.37%/年)
思考题:你的同事说"DSR 门槛太严了,我们 290 个因子里一个都过不了,不如放宽到 10% 显著性水平"。请指出这段话里两处逻辑错误。(提示:门槛的功能是控制什么?改门槛等于做了什么?)
