IV 曲面抽样反例审查图:左侧为论文断言(作者自报)——流动性 PPS 入样概率与流动性权重成正比,w/π 为常数,论文报告其在流动性加权目标上的比值为 0.46 到 0.05。中间是反例探针:在真值已知的合成期权链总体上,全局 PPS 在 α=0.60 时给 12 个格子的抽样数从 9.9 到 59.0 不等,最薄格 LW 误差 152 bps、最厚格 15 bps;等格分配把抽样数压在 23.6 到 48.7,最薄格误差 37 bps。右侧为复测结果:LW 目标上 PPS 四档全输等格,配对 bootstrap 比值 0.84 到 0.93、区间全不含 1。底部原则:目标按什么加权,预算就按什么层级分配;证据范围限于合成总体、单次运行,真实语料未跑。
在真值已知的合成总体上,检查「按构造必胜」的 PPS 为何在自己的目标上输给等格分配。恒等式成立,输的是由它推出的总分主张;证据范围限于合成总体与单次运行。

一份来自 OptionsDX 的 NVDA 期权链筛选语料——2019–2021 年 753 个交易日、432,529 条通过 OTM、期限、报价与 IV 质量筛选的合约记录(日均约 574 条)。编制一张隐含波动率曲面——4 档行权价距离 × 3 档到期,共 12 个格子——其实用不着全量:抽掉一半甚至四分之三,曲面照样能编。问题只在于抽哪些。先说清:这里的「曲面」是这 12 格 IV 均值构成的网格,不是 SVI 那类连续参数化拟合的曲面;本文评价的是格子均值的抽样重建精度。

Bastola 与 Prushansky 的论文(arXiv:2610.33438)把这个问题搬进了调查抽样的框架:期权链是有限总体,编制曲面是估计格子均值,抽样设计必须先回答「目标是什么」。他们的答案很干脆:目标是等权曲面,就按前一日各格的离散度做分层分配;目标是流动性加权曲面,就用流动性 PPS(按规模概率抽样);用错了,误差成倍放大。

我把这套协议在一组真值已知的合成期权链上完整重跑了一遍:等权侧的核心主张复现了,错配惩罚的方向复现了;但论文里最漂亮的一句「按构造必胜」没有按原文复现——在我这组总体里,流动性 PPS 在它自己匹配的目标上仍胜随机抽样(比值 0.50–0.81),却在每个保留比例上都输给了最朴素的等格分层:输掉的是「必胜」二字,不是 PPS 本身。这篇文章讲三件事:对齐为什么值钱、用错为什么翻倍、以及「构造必然」为什么只在目标与预算同层级时成立。

先交代边界:论文的全部数字来自单一标的 NVDA,均为作者自报,三个模块的数据跨度不同(纵向 2018–2025、横截面语料 2019–2021、日内 2022–2025);我的复测用的是合成总体,检验的是机制与排序,不是 NVDA 的量级。论文的纵向训练等效与 IV 预测两部分我没有测,文中出现时都会标明作者自报。

论文的协议:一句话先说清目标,再谈抽样

论文的横截面研究(§3)只有四个设计。均匀随机抽样(SRS)是基准。流动性 PPS 给每份合约一个规模 (w=(\text{成交量}+1)/(\text{相对价差}+10^{-4})),入样概率与 (w) 成正比、超过 1 的截断为确定入选,再用 Madow 系统抽样(按累计概率等距取点)落样。

另外两个是分层设计:先按 4×3 网格分格,用前一交易日的格内 IV 标准差(滞后一天,防前视)做分配——Neyman 分配 (n_h \propto N_h S_{h,t-1}) 对应总体加权目标,等格分配 (n_h \propto S_{h,t-1}) 对应 12 格等权目标(按格内滞后离散度分配,并非每格抽一样多)。估计量随目标切换:等权用 Hájek,流动性加权用 Horvitz–Thompson 比率估计。两者都是按权重归一的加权平均,区别只在权重取入样概率的倒数、还是入样概率倒数再乘流动性分数;某个格子没抽到时,用全局设计加权均值填补。

作者自报的结果(上述 OptionsDX 筛选语料):等权目标上,等格与 Neyman 在四个保留比例(α = 0.25 / 0.40 / 0.60 / 0.80)下全胜 SRS,α=0.25 时网格 RMSE 从 124.0 bps 降到 84.8(比值 0.68)与 94.9(0.77),α=0.80 时比值到 0.47 与 0.69,且分层覆盖率 100%。流动性 PPS 在流动性加权目标上把比值打到 0.46 / 0.28 / 0.14 / 0.05——作者自己注明这是「按构造」成立的,因为入样概率就等于目标权重;但同一个 PPS 用到等权目标上,RMSE 反而放大到 SRS 的 2.47–3.90 倍。

我的复测:真值已知的合成链,参数先冻结

真实 NVDA 语料拿不到(数据在厂商许可后面,脚本要向作者索取),而且就算拿到,真值也只能用全量样本近似。合成总体的好处是真值精确已知:我先用一组参数化曲面(日间变化的水平、偏斜、曲率与期限结构)生成 200 个交易日的期权链,共 111,573 份合约(每日中位 534 份,与论文语料的密度同量级),每份合约带成交量与相对价差,观测 IV = 真值 + 与价差成正比的报价噪声。总体参数与随机种子在跑任何设计对比之前冻结成文,中途没有为追论文的比值调过参。

抽样协议按论文 §3.1–3.2 原文实现:同样的网格边界、同样的滞后离散度、同样的注水分配与最大余数取整、同样的 Madow 系统 PPS 与确定入选截断、同样的两个估计量与空格填补规则。每个交易日、每个 α、每个设计抽 25 次(论文是 3 次,我多抽只为压低蒙特卡洛噪声,对所有设计一视同仁),比值的不确定性用整日聚类 bootstrap(1,000 次)给区间。时钟部分另用一组带 GARCH 波动聚集的日内过程复测,细节在下文。

结果一:对齐复现——等格 0.45,Neyman 0.72

等权目标上,我方比值(相对 SRS,越低越好)。表 1:等权 IV 曲面目标下各抽样设计相对 SRS 的网格 RMSE 比值:

设计α=0.25α=0.40α=0.60α=0.80
等格分配0.730.680.590.45
Neyman 分配0.820.830.780.72
流动性 PPS1.661.841.962.03

四个 α 下等格与 Neyman 全胜 SRS,所有比值的 95% 区间都不含 1;两个分层设计的格子覆盖率在每个 α 都是 100%(SRS 在 α=0.25 时 99.7%,PPS 98.9%)。排序与论文完全一致(等格 < Neyman < SRS),而且优势随 α 增大的梯度也一致——论文是 0.68 → 0.47,我方是 0.73 → 0.45。绝对量级不同(我方 SRS 的 RMSE 是 288.5 bps 起,论文是 124.0 bps 起;合成总体的噪声结构更粗),但这正是预注册时就说好的:声称的是排序,不是量级。另注意:标题里的两个极值(0.45 与 2.03)都出自等权目标、α=0.80 这一档;α=0.25 时是 0.73 与 1.66,预算越紧,两个方向的差距都越收窄。

机制不难理解:等权目标给每个格子同样的权重,包括那些合约稀少、离散度又大的深虚值格子。均匀抽样按合约数比例落样,稀格子只能分到寥寥几个样本,均值噪声主导了网格误差;按滞后离散度分配等于把样本预算搬到误差真正产生的地方。这条对任何要给期权链抽样的人都直接可用:先写下你的目标是等格曲面还是总体均值,再让分配公式跟着目标走。

结果二:用错设计,误差翻倍

流动性 PPS 在等权目标上的比值是 1.66 / 1.84 / 1.96 / 2.03——方向与论文的 2.47–3.90 倍一致,量级小一截。这不是 PPS「不好」,是它优化的目标不在场:入样概率正比于流动性分数,样本几乎全落在近月平值附近,而等权目标偏偏把深虚值长久期格子和近月平值格子算一样重。那些格子要么抽不到(α=0.25 时覆盖率已掉到 98.9%)、要用全局均值填补,要么只剩一两个样本,误差就此翻倍。

这条结果对实践的提醒比结果一更尖锐:很多管线里的「重要性抽样」「按流动性采样」是默认动作,等于默认把目标换成了流动性加权的世界,只是做这一步的人很少意识到自己在换目标。

结果三:「按构造必胜」输了

真正值得写的是第三组数字。把目标换成流动性加权——也就是 PPS 自己的主场——比值是这样:

设计(LW 目标)α=0.25α=0.40α=0.60α=0.80
等格分配0.720.670.570.42
Neyman 分配0.830.830.770.69
流动性 PPS0.810.740.610.50

PPS 确实击败了 SRS(0.50–0.81;相对 SRS 的 95% 区间在 α=0.80 时是 [0.48, 0.52],等格是 [0.40, 0.44]),但它在每个 α 上都输给等格分配。论文里同一个位置的数字是 0.46 / 0.28 / 0.14 / 0.05,α=0.80 时 PPS 的误差只有 SRS 的二十分之一。在我的总体里,这个碾压不存在。

先把话说准:这不构成对论文 NVDA 数字的推翻,量级本来就不在声称范围内。还要分清两种被混成一句「按构造必胜」的性质:π 与 w 成正比时,非确定入选合约的 w/π 恒为常数、确定入选合约不产生抽样误差——这是解析恒等式,在我的总体里同样成立,我没有推翻它。输掉的是从恒等式滑出去的推论:恒等式说的是逐合约的对齐,论文的评分(其 Eq. 9)却是先算 12 个格子的 LW 均值、再跨格等权平均,PPS 的预算则按全局权重一次分完——对齐在合约层级、分配在全局层级、评分在格子层级,三者不在同一层级时,恒等式担保不了总分。我这组总体的合约密度与论文语料同量级(每日中位 534 份,论文语料约 574 份/日),格间总权重的最厚/最薄比中位 21.8 倍;噪声结构确实更粗(我方 SRS 的 RMSE 从 288.5 bps 起,论文是 124.0 bps 起)。噪声与权重之间还有一层耦合要排除:我的观测噪声按价差比例生成,而 PPS 的权重恰好以相对价差为分母,高权重合约自带低噪声。我把噪声换成与价差无关的常数项(与原设定均值匹配)整组重跑:LW 目标上 PPS 的比值是 0.51–0.86,等格是 0.35–0.52,等格仍然全档更低。耦合被排除了,剩下的解释就是层级错配本身。

机制就在格子层面。我补查了自己总体的结构:格内流动性权重并不分散——前 5 份合约占格内权重的中位份额是 0.56;α=0.60 时 PPS 每天有中位 165 份合约是确定入选的。也就是说,「PPS 靠抓住头部合约锁定加权均值」这条路在我这里是通的,它仍然输了。总权重小的格子分到的抽样数同样小,它们的 LW 均值就只能靠几个样本撑着;等格分配则给每个格子保底并按离散度加码,覆盖本身成了精度。逐格分解支持这个读法(α=0.60):PPS 下最薄的格子平均只分到 9.9 个样本、该格 LW 误差 152 bps,最厚的格子 59 个样本、误差 15 bps,抽样数在格子间差了约 6 倍;等格分配把抽样数压在 23.6–48.7 之间,最薄格子的误差是 37 bps。这个「输」也不是点估计的错觉:把等格与 PPS 的逐日 RMSE 直接配对做整日聚类 bootstrap,四个 α 下等格/PPS 的比值是 0.89 / 0.90 / 0.93 / 0.84,95% 区间分别是 [0.86, 0.92]、[0.87, 0.94]、[0.89, 0.97]、[0.80, 0.88],全都不含 1。实现上也先自查过:LW 目标下四种设计的样本都用 HT 比率估计量计分,抽样与计分是两个独立选择——分层设计在两个目标下比值接近(差 0.00–0.03),正因为它们的分配不依赖目标,同一批样本换个归一权重计分而已;只有 PPS 的入样概率由 w 直接生成,才会随目标翻转。在 NVDA 语料里,全局 PPS 的格内精度恰好足够高,恒等式的优势才兑现成总分第一;那是语料分布帮它把层级差抹平了,不是恒等式本身的内容。换句话说,目标按什么加权,预算就该按什么层级分配——评分逐格等权时,格子层级的分配才是与目标同层级的设计。这条不依赖某个语料,是协议结构决定的;分布条件只影响差距的大小。

这也是这篇论文最值得学的方法论姿态:作者把「by construction」写在明面上,等于把可证伪的接口留给了读者。我的复测只是把这个接口用上了。

时钟部分:尾巴变薄,聚集还在

论文的第二个协议是活动时钟:不用固定分钟数切 bar,而按成交量或成交额切,阈值用过去 60 个交易日的滚动均值因果校准。作者自报:在 18.9 倍峰谷价格扩张下,滚动量/额时钟守住约 7.5–9.0 bar/日(内部收益口径 7.49 / 7.99,全时段口径 8.49 / 8.99),内部超额峰度压到 1.83 / 2.49(时间 bar 5.00、日内季节性标准化 5.09);但平方收益一阶自相关仍在 0.170 / 0.215,聚集没动;下一 bar 方向准确率 48.6–51.0%,alpha 也没凭空出现。

我用一组 320 个交易日的合成日内过程复测(U 形日内季节、GARCH(1,1) 分钟方差、t5 冲击、跳跃、8.6 倍价格扩张;前 60 日定标,之后按滚动 60 日协议评分)。先交代一个插曲:第一版总体的成交量耦合写爆了——巨量日把滚动阈值顶得过高,典型交易日只能切出约 4 个 bar,且过程里根本没有日内聚集可测。这一版在判读前作废——作废依据是先于任何时钟判读的有效性检查(成交量分布是否合理、聚集是否存在、bar 率是否落在可评分的量级),改动只落在总体参数(耦合封顶、加入 GARCH),全过程记在案。修订后的结果:

  • bar 率:滚动成交量 9.40 ± 3.20 bar/日,分段均值 10.1 / 9.1 / 9.7,贴着目标(8.75 是我为合成总体预先设定的目标频率;论文按其 967 日面板校准的常数是 8.273,60 日滚动因果阈值的机制照原样保留);滚动成交额 11.28 ± 4.67,分段 12.3 / 10.8 / 11.6、无时间趋势,但定在高出目标约三成的水位(这是第一处保留);对照组里静态成交额阈值同期从约 15 涨到约 53(全程 30.41 ± 18.29)——滚动校准稳住的是趋势,不是水位。
  • 峰度:先看论文报告的池化口径——滚动量 0.69(按交易日聚类 bootstrap 的区间 [0.15, 1.54])、滚动额 0.55([0.27, 0.81]),对时间 bar 8.73、日内标准化 6.83([3.02, 11.22]);两种滚动时钟对日内标准化的池化峰度差是 −6.14 与 −6.29,区间都不含 0,池化压缩成立;留出后 40% 交易日上两种滚动时钟仍远低于对照(0.41 / 0.56 对 12.64 / 8.18)。但逐日口径分化:量的逐日峰度差 −0.13([−0.22, −0.04])同向支持,额的逐日差 +0.13([+0.02, +0.23])却反向。所以「尾巴变薄」对成交量时钟是两种口径都成立的结论,对成交额时钟只在池化口径成立(这是第二处保留)。
  • 聚集与方向:池化平方收益一阶自相关在六种时钟下全部为正(0.05–0.18),没有任何时钟把它压到零;下一 bar 方向准确率 0.493–0.510,与论文的随机带重合。先说清这一项的成色:我方过程的条件均值恒为零,方向本就不可预测,所以它检验的不是时钟能否无中生有,而是时钟变换有没有制造出虚假的可预测性——没有。

结论和作者自己说的一致:活动时钟是无条件分布的整形工具,不是波动动力学的解法,更不是信号来源。谁把成交量 bar 的低峰度读成「风险消失」,谁就把整形读成了消除。

没测的部分:作者自报的诚实

论文还有两块我没有碰,写在这里是为了让读者知道它们的成色(全部作者自报):

纵向训练窗口抽样里,PPS 与 Neyman 在 α=0.60 时多保留了尾部波动窗口(top-decile 保留率 81.2% / 73.7%,SRS 59.9%),且三个设计都与全量训练在预设 TOST 边际内等效、省时 21–22%;但作者同时报告,信息性设计相对 SRS 的增量预测增益不成立(配对检验 p ≥ 0.608)——抽样省的是算力,不是精度。

预测部分更典型:HAR-IV 的池化 MSE skill 是 +21.0%,Tier-2 LSTM 是 +17.2% 且不胜 HAR-IV(聚类 DM 检验 p=0.61)。作者自己给了集中度记录:前 5 个交易日贡献了净平方误差改善的 144–157%,对持续性基准的按日聚类检验不显著(p=0.34),持续性基准在 57.3% 的日子里反而赢。把 +21% 单独摘出来传播,就是对这篇论文的误读——作者把解毒剂和数字印在了同一页上。

带走的四条规则

  1. 先写目标,再选设计。 等权曲面、总体均值、流动性加权曲面是三个不同的 estimand,分别对应等格、Neyman 与 PPS 分配;设计选错,误差可以翻倍(我方 1.66–2.03 倍,论文 2.47–3.90 倍)。
  2. 覆盖率是硬指标(cell coverage)。 目标若是逐格量,任何不保格子覆盖的设计都要先过覆盖率这一关;全局概率抽样在薄格子上的饥饿,是「构造优势」最常见的失效方式。
  3. 对齐要对齐到评分的层级。 构造对齐是逐合约的(π ∝ w 是恒等式);评分若是逐格等权,预算分配就必须在格子层级上对齐——全局按权重一次分完,与逐格等权评分不在同一层级,「必胜」无从谈起。分布条件影响的是差距大小,不是这条结构判断。
  4. 整形不等于消除(tail shaping, not elimination)。 活动时钟压峰度、稳 bar 率,但不动波动聚集、不产生方向信号;评价任何「驯服尾部」的方法,先问它动的是无条件分布还是条件动力学。

证据与复现说明:本文一手数字来自两组冻结协议的合成总体运行(期权链总体 200 日、种子 20261103;日内过程 320 日、种子 20261104),协议按论文 §3.1–3.2 与 §5 的印刷规格重实现;期权链臂参数在对比前冻结,时钟臂的最终规格经一版试点校准后冻结(v1 作废在案)、最终比较前未再改动;完整回执、逐项主张对照与代码已公开在 github.com/vxime/iv-surface-sampling-replication(含 SHA256SUMS 可校验)。OptionsDX 真实语料臂未运行——该语料需经厂商商店的账户与结账流程获取,本次未获授权,故本文不声称任何真实语料复现。论文数字(Bastola & Prushansky,arXiv:2610.33438v1)均为作者自报,其纵向等效与预测部分未经我方复测。本文只讨论抽样与评价方法,不构成投资建议。