# 对齐目标误差最低 0.45 倍，用错设计最高放大 2.03 倍：IV 曲面抽样协议的合成复测

> Canonical: https://vxi.me/posts/iv-surface-sampling-replication/
> Locale: zh-cn
> Published: 2026-11-03
> Updated: 2026-11-03
> Markdown: https://vxi.me/posts/iv-surface-sampling-replication.md

<figure class="iv-sampling-counterexample not-prose" lang="zh-cn">
  <picture>
    <source media="(prefers-reduced-motion: reduce) and (max-width: 640px)" srcset="/images/posts/iv-surface-sampling-replication/iv-sampling-counterexample.mobile.still.zh-cn.svg" type="image/svg+xml">
    <source media="(prefers-reduced-motion: reduce)" srcset="/images/posts/iv-surface-sampling-replication/iv-sampling-counterexample.still.zh-cn.svg" type="image/svg+xml">
    <source media="(max-width: 640px)" srcset="/images/posts/iv-surface-sampling-replication/iv-sampling-counterexample.mobile.zh-cn.svg" type="image/svg+xml">
    <img src="/images/posts/iv-surface-sampling-replication/iv-sampling-counterexample.zh-cn.svg" alt="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。底部原则：目标按什么加权，预算就按什么层级分配；证据范围限于合成总体、单次运行，真实语料未跑。" width="1200" height="700" loading="eager" fetchpriority="high" decoding="async" style="display:block;width:100%;height:auto">
  </picture>
  <figcaption>在真值已知的合成总体上，检查「按构造必胜」的 PPS 为何在自己的目标上输给等格分配。恒等式成立，输的是由它推出的总分主张；证据范围限于合成总体与单次运行。</figcaption>
</figure>

一份来自 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.73** | **0.68** | **0.59** | **0.45** |
| Neyman 分配 | 0.82 | 0.83 | 0.78 | 0.72 |
| 流动性 PPS | 1.66 | 1.84 | 1.96 | 2.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.72** | **0.67** | **0.57** | **0.42** |
| Neyman 分配 | 0.83 | 0.83 | 0.77 | 0.69 |
| 流动性 PPS | 0.81 | 0.74 | 0.61 | 0.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）均为作者自报，其纵向等效与预测部分未经我方复测。本文只讨论抽样与评价方法，不构成投资建议。

## Verification context

- Level: first-party
- Verified: 2026-11-03T00:00:00.000Z
- Environment: Python 3.12 / NumPy 自行实现（Madow 系统抽样、Hájek 与 HT 比率估计）
- Environment: 冻结合成期权链总体：200 日 / 111,573 份合约 / 种子 20261103
- Environment: 日内过程 320 日（GARCH 波动聚集）/ 种子 20261104
- Environment: 整日聚类 bootstrap 1,000 次给出全部区间
- Evidence mode: mixed
- Public repository: https://github.com/vxime/iv-surface-sampling-replication
- Evidence commit: 58f4505494eb9f646367403de0d4e076c93ddf89
- Evidence receipt: https://vxi.me/evidence/iv-surface-sampling-replication.json
