0DTE 突破回测中的选择偏差:全样本验证如何推翻四个“正收益”草稿
同一策略的四稿论文先后报告 +$80K、+$50K、+$32K 每年;全样本逐笔验证的结果是 −$107K。差距来自两个相互叠加的偏差——其中更大的那个,伪装成了工程上的数据卫生。
标题数字的演变
同一个策略的四稿论文,一稿比一稿“更严谨”,最优出场策略的年化结果分别是:
- v1: +$80K/年(分层抽样 500 笔,NaN 报价被当作有效)
- v3: +$50K/年(严格报价过滤,单一全局校准比率)
- v4: +$32K/年(严格过滤,分层校准)
- v5: −$107K/年,自助法 95% 置信区间 [−$129K, −$84K],P(>0) = 0%
v5 只改了一件事:不再抽样。Databento 覆盖窗口内、所有出场策略账本中的每一笔交易都被直接下载并测量——4,177 条去重后的 OPRA 查询、约 $280 数据费用、每笔交易 real_exec_pnl = exit_bid − entry_ask,零外推。
那个看起来像“数据卫生”的过滤器
v3/v4 的校准管线要求出场时“报价有效”:bid/ask 有限、无 NaN、real_mid_exit ≥ 0。读起来像普通的数据清洗,实际上是一条选择规则。
一张到期归零(OTM 到期)的 0DTE 多头期权,在收盘时没有任何做市商出价——出场 bid 是 NaN,恰恰因为这个头寸死了。在最优出场策略下,这类到期归零交易占可验证样本外交易的 191/701(27%),且每一笔都是 100% 亏掉全部权利金。严格过滤器把它们从校准样本中剔除,于是 BS-真实比率只在幸存者上估计。
把 v4 预测与 v5 实测之间 −4,639 点的缺口做归因:约 36% 来自被过滤器删掉的到期归零交易,64% 来自分层抽样的权重失真——“最大盈利”层的抽样频率约为总体的 6 倍,把校准比率系统性拉高。
全样本验证在操作上意味着什么
- 给每一笔交易、每一条腿、所有策略下载逐笔数据——不抽样、不分层、不做分层比率。
- 显式处理到期:出场 bid 为 NaN 时,该笔盈亏是
0 − entry_ask,而不是“剔除”。 - 对年化总额做自助法置信区间,报告 P(>0) 而非点估计。
- 交叉核对标的层面的 delta-1 盈亏。本例中 SPX 点位层面的信号本身就不显著为正(P(>0) ≈ 18%),任何期权层的修补都救不回来。
教训
任何写成“要求出场数据有效”的过滤器,都是在以交易结果为条件做筛选。期权回测中数据缺失的机制并不随机——到期归零、恐慌时的价差、报价中断,全都与亏损相关。一个只会“删交易”的验证步骤,先问被删掉的交易有什么共同点,再决定是否相信剩下的结果。
完整细节见研究页的负结果论文。