Skip to content
全部期权指南
为什么策略搜索的胜出者需要进行候选家族层面的检验13 分钟阅读

用 White’s Reality Check 检验策略回测中的数据窥探

了解 White’s Reality Check 如何将搜索中表现最佳的策略与基准比较,并用保留依赖结构的 bootstrap 最大值校正选择效应

本指南内容检验关注搜索胜出者是否超过选定基准

简短摘要

White’s Reality Check 检验:在计入“胜出者是从多个候选中按最高表现选出”这一事实后,预先定义的搜索家族中最佳候选是否优于指定基准。它对所有候选共同且随时间变化的表现差值进行 bootstrap,再将观测到的最大值与 bootstrap 最大值构成的原假设分布比较。调整后的 p 值较小,表示有证据反对“该候选家族中没有策略优于此基准”的联合原假设;它不预测实盘盈利能力。

检验关注搜索胜出者是否超过选定基准

研究者可能测试几十种移动平均窗口、突破规则、持有期限、市场和过滤条件,随后报告回测得分最高的策略。这个胜出者并非普通的单一候选:搜索过程给了它许多次表现得异常好的机会。如果把它当成看数据前就指定的策略单独检验,就忽略了选择过程。

White’s Reality Check 将选择纳入检验。它询问已研究的候选家族中,是否存在预期表现高于既定基准的候选。White 将原假设写成一组单侧比较的交集:每个候选相对基准的预期表现都不大于零;备择假设则是至少一个候选具有正的预期优势。基准可以是买入并持有、简单的预测规则或其他比较规则,但必须符合研究问题,并在查看检验结果前确定。正式设定见 White 的原始论文。

这是针对整个候选家族的问题,不是对偶然胜出策略的保证。拒绝原假设只表示在选定统计量和假设下,记录的候选家族中存在优越性的证据。它不证明所有候选都有用、胜出者会一直最好,也不证明优势能延续到新的市场状态。

将每个候选表示为可比的表现差值

令 d[k,t] 表示候选 k 在时期 t 的表现减去基准同期表现;数值越大应始终越有利于候选。比较收益率时,可以用候选的净收益率减去基准的净收益率。比较预测损失时,则反向定义为基准损失减去候选损失。符号约定必须始终让正值表示候选占优。

所有候选的每一行都应对应相同时间区间。统一币种、收益率口径、融资处理和成本政策。若研究结论针对可执行策略收益,应在计算 d[k,t] 前扣除相关佣金、价差、滑点、资金费和借券成本。检验毛收益、却只在脚注提及成本,回答的是另一个问题。

候选 k 的样本均值为 d̄[k] = (1/T) Σ_t d[k,t]。联合原假设为 H0: max_k E[d[k,t]] ≤ 0,备择假设为 H1: max_k E[d[k,t]] > 0。整个家族共用一个基准,并用同一标准评估所有候选。若候选间的缺失日期或观测频率不同,应先定义合理且可辩护的共同样本,再计算差值;不要默默给某个候选更有利的时间窗口。

研究结论必须覆盖完整候选家族

候选家族应包含所有可能影响最终胜出者的规则,例如测试过的回看窗口、入场阈值、信号组合、资产范围、持有期限、组合约束和执行假设。看过结果后试过又弃用的人工变体也属于搜索。White 在 2000 年的论文中广义使用“specification search”一词:导致选择问题的是筛选过程,而不仅是最终表格。

有两种相反的错误。遗漏曾帮助选出报告策略的实验,会使校正后的检验过于乐观,因为 bootstrap 看到的搜索规模小于实际规模。事后加入大量任意且无关的规则,又可能让检验不必要地保守,降低发现有用候选的能力。应按实际选择过程定义家族,并保留可审计其边界的研究记录。

检验无法推断从未记录的实验。只记下胜出参数的笔记不足以重建搜索。应一并保存候选登记表、数据版本、评估日期、优化目标、成本假设和选择决策。若家族是在看过结果后才更改,应说明改了什么、原因是什么;不要把事后构建的家族说成事前已固定。

最大值统计量把选择过程带入原假设分布

先计算每个候选的平均相对表现,再取其中最大值。一种常见的未学生化统计量是 Vobs = √T × max_k d̄[k]。最大值至关重要,因为它代表产生表面胜出者的“挑选最佳”操作。若只检验胜出列,就会从参考分布中删掉这一选择步骤。

Bootstrap 用来近似:若联合的“无优越性”原假设成立,单凭抽样波动可能产生多大的最大值。对第 b 次 bootstrap 抽样,重抽所有候选按时间排列的差值向量,并计算中心化统计量,例如 V*b = √T × max_k(d̄*[k,b] − d̄[k])。中心化将候选均值放在原假设最不利的边界,即预期优势为零;最大值则保留了候选间的选择过程。White 的论文构造最大值的 bootstrap 分布,并与观测统计量比较。

重复这一过程很多次。调整后的 p 值是 bootstrap 最大值不小于 Vobs 的比例。当抽样次数为 B 时,常见的 Monte Carlo 估计为 (1 + count{V*b ≥ Vobs})/(B + 1)。不同实现可能在学生化方式或估计模型的处理上有差异,因此应记录统计量和原假设下的中心化规则。关键是每次重复都重新计算整个候选家族的最大值,而不是只评估观测到的胜出者。

重抽候选历史时保留依赖关系

金融观测按时间排序。独立打乱可能抹去序列相关、波动聚集以及相关盈亏的连续区段,也可能扭曲那些常在同一市场日作出反应的策略之间的关系。这些特征会影响最大值统计量的尾部;因此,分别重抽每个候选或逐日有放回抽样,可能产生错误的参考分布。

White 描述了移动区块 bootstrap 等依赖数据方法,并分析了 Politis 和 Romano 提出的平稳 bootstrap。抽到一个区块后,通常接着取下一时点的观测;遇到随机重启时,则从另一个抽到的日期重新开始。因此区块长度服从指定均值的几何分布。在方法假设和参数设置适当时,它比 i.i.d. 抽样更能保留短期序列。参见 Politis 和 Romano 关于平稳 bootstrap 的论文。

对策略家族,应抽取一条共享的时间索引序列,并将其应用于整行向量 (d[1,t], …, d[K,t])。这样既保留抽取区块中的时间顺序,也保留候选之间同期的依赖关系。结合策略期限和依赖诊断选择区块长度,并报告合理替代设置下的结果敏感性。如果研究流程包含参数重估,应判断推断目标是否包括该步骤;必要时在每次重抽中重做。只重抽已经拟合好的固定收益,可能把流程的一部分条件化后排除在外。

一个假设的 bootstrap 示例会改变解读

假设研究者用 T = 252 个交易日比较三种策略与一个基准。扣除成本后,三者的日均表现差值分别为 +2.0、+1.0 和 −0.5 个基点。胜出者的均值因此为 2.0 个基点,观测统计量为 √252 × 2.0 bp ≈ 31.75 bp·√交易日。这个缩放是检验统计量的一部分;它没有除以估计标准误,因此不是 t 统计量。

再假设进行 9,999 次平稳 bootstrap,对三个候选使用同一组抽样日期。在这个假设结果中,1,199 个重复样本的最大值等于或超过 31.75。加一修正后的 Monte Carlo 估计为 (1 + 1,199)/(9,999 + 1) = 0.12。单独检验胜出者可能假设得到 0.03,但会漏掉从三个候选中搜索的过程。Reality Check 的 p 值比较整个候选家族,因此本例在 5% 阈值下不拒绝联合原假设。

这些数字只是为说明计算而设,并非实测市场表现,也不是 White 论文中的结果。p 值 0.12 不表示策略有 12% 的概率亏损。它表示在指定的 bootstrap 和原假设构造下,这样大或更大的家族最大值并不罕见到足以在所选水平拒绝原假设。样本均值也不能说明策略在扣除风险、容量和执行影响后是否有经济价值。

将调整后的 p 值理解为关于指定家族的证据

较小的 Reality Check p 值反驳这样一种主张:在检验假设成立时,纳入的家族中没有任何候选在预期表现上超过选定基准。由于原假设是联合的,拒绝它不会自动指出哪位候选拥有可持续优势。不同样本可能选出不同胜者;即使拒绝家族层面的原假设,针对某个策略的证据也可能较弱。

较大的 p 值表示未能拒绝原假设,并不证明所有策略都与基准等效。样本短、表现噪声大、候选家族过宽、测量不准确或检验功效不足,都可能导致这一结果。p 值也不是原假设为真的概率。它是在由候选集合、表现指标、基准、bootstrap 设计和观测数据共同决定的参考分布下计算的尾部概率。

White 的问题是相对比较。一个规则可能跑赢较弱的基准但仍亏损;也可能没有跑赢较强基准却仍取得正收益。应同时报告绝对和相对结果,以及不确定性、换手率、回撤、容量和现实成本。相对预测优势的统计证据,与投资在经济上的可行性,是两个不同判断。

依赖结果前先检查假设与局限

原始理论对表现差值过程及其极限分布设有正则条件。White 的框架包含平稳且强混合的时间序列;依赖型 bootstrap 也需要合适的区块长度序列。在有限样本中,市场状态转换、结构性断点、长记忆、罕见跳跃和波动不稳定,都可能让平稳重抽样的近似值得怀疑。区块 bootstrap 只能保留部分局部依赖,无法重现未知的未来市场状态。

检验也会继承数据和策略评估中的错误。前视信息泄漏、生存者偏差、修订数据、不现实的成交、遗漏成本、公司行动处理错误,以及看过结果后才选择的基准,都可能使表现差值失效。如果持有期重叠,收益可能在构造上就存在依赖;重抽单位和区块长度必须能够表示这种依赖。若最终指标是 Sharpe 比率等非线性量,应在每次重复中重新计算指标,而不要假定收益均值的 bootstrap 会自动检验它。

Reality Check 的实现可能偏保守,尤其是大型候选集包含许多明显较差的替代方案时。较宽的最大值分布可能使拒绝原假设变难,即使有一个好候选存在。Hansen 的 Superior Predictive Ability 检验是一种相关的 bootstrap 方法,对较差候选的处理不同;它不是通用替代方案,其假设也要检查。应根据研究问题比较方法并报告敏感性,而不是挑选能得出偏好结论的方法。

与时间顺序验证和其他选择工具配合使用

White’s Reality Check 处理的是:考虑选择效应后,记录在案的搜索家族中是否存在相对基准占优的候选。它不能替代冻结策略的时间顺序留出测试或 walk-forward 评估,也不会自动解决标签重叠或信息泄漏。PBO 则总结组合划分中,样本内胜出者排名低于候选中位数的频率;PBO 原始论文给出了这一选择风险诊断的定义。虚假发现程序关注多次拒绝中预期的错误占比。Deflated Sharpe Ratio则针对选择偏差和非正态收益,调整基于 Sharpe 的显著性评估。还可阅读[金融领域的多重检验与虚假发现率](/zh-CN/learn/multiple-testing-false-discovery-rate-finance-explained)、[PBO 与 CSCV](/zh-CN/learn/probability-of-backtest-overfitting-cscv-explained)、[walk-forward 验证](/zh-CN/learn/walk-forward-validation-expanding-vs-rolling-windows-explained)以及[purged cross-validation 与 embargo](/zh-CN/learn/purged-cross-validation-embargo-time-series-finance-explained)。

实际审查时,先固定基准和表现定义,重建真正用过的候选家族,计算每个时期的配对差值,选择并说明能够保留依赖关系的重抽样设计,再报告最大值统计量和 bootstrap 尾部概率。随后用更晚的时间顺序数据检验冻结的选择流程,并单独评估成本与可执行性。Sullivan、Timmermann 和 White 对技术交易规则的应用说明了规则全集的重要性:如果把完整搜索而不只是报告的胜出者纳入推断,结论可能改变。Reality Check 校正的是一个特定选择问题;它并不认证回测在实盘中一定有效。

常见问题

Q1White’s Reality Check 检验什么?

它检验指定搜索家族中最好的候选,在考虑候选间选择之后,其预期表现是否优于选定基准。

Q2较小的 Reality Check p 值能证明策略会盈利吗?

不能。它是在选定基准、指标、数据和 bootstrap 假设下,反对家族层面无优越性原假设的证据。它不保证未来收益或净盈利。

Q3为什么使用区块 bootstrap,而不是独立重抽每天?

区块可以保留部分局部序列依赖;对所有候选使用共同日期,也保留了它们同期的关系。区块设计仍须适合数据和研究问题。

资料来源与延伸阅读

报告问题

我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈

快速检查

读完指南后,用 3 道题检查一下

问题 1 / 3

问题 01

White 的联合原假设表示什么?

选择答案即可查看解释

期权术语表

清楚解释从看涨、看跌和期权链到 IV、希腊字母、未平仓量与最大痛点等核心期权术语

浏览期权术语表