BinaryBlogBUILD

BUILD · M / W / F

3,409份期权合约,希腊值全空

Editorial image for 3,409份期权合约,希腊值全空

一个值得反复思考的观点。

一个完美的空数组

历史期权接口从九条链返回了 3,409 份合约。每一条合格记录都有 bid、ask、报价量、成交量、未平仓量和标的价格。

希腊值数组看起来也很完美。数组存在,长度正确,与合约逐项对齐。

里面每一个值都是 null。

隐含波动率:3,409 条中 0 条有值。

Delta:3,409 条中 0 条。

Gamma、Theta 和 Vega:同样为零。

这是我见过最干净的数据质量事故之一,因为从 schema 层看,什么都没有坏。请求成功,响应包含承诺字段,数组通过长度校验。只检查“存在”和“形状”的管道,很可能自信地亮起绿灯。

数据拥有结构,却没有证据。

成功响应也可以什么都没说

探针覆盖三个大型高流动性标的、三个历史日期。它在限定到期期限内请求标准价外看涨期权,并在标准化之前保存原始响应。

价格和流动性字段完全符合预期,九条链的数组长度都有效,HTTP 行为也保持一致。

正因为其他地方如此一致,希腊值缺失才更重要。

间歇性宕机可以重试,畸形 payload 可以拒绝。一个有效响应持续缺少某个字段,需要另一种决定:研究排除该字段,或者寻找新来源。

探针把结果分类为 UPSTREAM_HISTORICAL_CHAIN_GREEKS_NULL。它没有指控下游 TSLA 研究丢掉数据,也没有把 null 写成 0。它只精确地划出证据边界:在这个接口和账户环境下,历史 payload 的数组尺寸正确,希腊值却全部缺失。

这句话没有“API 失败”那么戏剧化,运营价值高得多。

Schema 承诺的是形状

开发者常把 API schema 当成数据承诺。

Schema 通常只承诺类型与位置。它会说响应中有一个叫 delta 的数组,也会说明它是数字或可空字段,却很少保证每个产品、日期、权限和账户层级的历史观察都会填入数值。

该期权接口文档列出了希腊值字段,产品介绍也明确宣传实时报价的希腊值和隐含波动率。历史日终期权链并没有同样明确的填充承诺。

字段可用性同时是一份商业合同和时间合同,范围远大于 JSON 合同。

稳健的数据入口要问三层问题:

  1. 存在: 字段在不在?
  2. 形状: 类型与基数对不对?
  3. 覆盖: 真正符合决策条件的记录,有多少包含可用值?

希腊值数组通过前两层,第三层得到彻底的零。

Null 本身就是信息

人们常想把 null 藏起来。在研究系统里,null 是对证据供应状况的一次观察。

把 null 希腊值替换成 0,会创造一批经济上荒谬的期权:所有行权价和期限的看涨期权,都拥有零 Delta、零 Gamma、零 Theta 和零 Vega。数学表格很整齐,金融含义完全失真。

删除整行会制造另一种幻觉。数据集缩小甚至消失,读者却无法知道究竟缺了价格、流动性,还是只有希腊值缺席。

保留 null,研究就能继续使用来源真正提供的内容。历史 bid 可以支持权利金研究,流动性字段可以筛选可用报价,模型可以用期限、价内外程度、价差和未平仓量选择代表合约。依赖希腊值的结论则留在范围之外。

这种建设性的缺失,会缩小问题,不会毁掉整份数据集。

供应商只是多个可能原因之一

第一份 TSLA 输出没有希腊值时,至少有几种合理解释。

请求可能漏了参数;标准化层可能丢掉了有效值;ticker 筛选可能误删;接口可能要求额外权限;历史产品与实时产品可能不同;供应商也可能只在部分日期出现故障。

团队没有凭直觉挑选一个故事。

它在多个 ticker 与日期上建立有限探针,保存原始响应,记录安全 header 与哈希,并在任何下游转换之前量化覆盖。九条链全部复现同一模式。

这一步很重要,因为随口责怪供应商同样是一种草率。缺失来自哪一层,应由证据定位。最终措辞保留账户与接口背景,因为另一种权限或产品可能产生不同结果。

具体,既保护供应商,也保护研究。

每个字段旁边都要写覆盖率

数据摘要通常报告行数、日期和 ticker。它还应该报告决策边界上的字段覆盖。

这次探针的记分牌非常直接:

  • 价格与流动性字段:3,409 / 3,409;
  • 隐含波动率:0 / 3,409;
  • Delta:0 / 3,409;
  • Gamma:0 / 3,409;
  • Theta:0 / 3,409;
  • Vega:0 / 3,409。

覆盖率要在合格筛选之后计算,因为原始响应可能包含策略绝不会考虑的合约;也要按 ticker 和日期拆分,避免一条密集链掩盖缺失区段。

同一原则适用于整个金融数据栈。基本面表可以有 revenue 列,发行人覆盖却很稀;券商响应可以包含 balance 字段,某类账户却从不填值;交易流可以有 timestamp,代表的却是接收时间而非事件时间;气候数据也可能因司法辖区不同,排放字段覆盖悬殊。

Schema 告诉我们答案应该住在哪里。覆盖率告诉我们,答案有没有到家。

缩小论点,研究仍可继续

缺少希腊值,没有终结市场数据项目。

研究缩小了自己的合同:用历史日终 bid 支持权利金证据;用正 bid、合理 ask、标的价格、期限和受控价差定义报价可用性;在相同日期、期限、价内外程度和事件状态下比较代表合约,避免密集链获得额外统计权重。

同时,明确排除历史希腊值。

这个决定降低了一部分分析的复杂度,也提高了每项公开结论的可靠性。项目只研究保留证据能够支持的内容,不会合成一组看起来专业、底层却靠想象填充的敏感度。

管理者经常面对同样选择。完整外观能制造推进感,范围较小的诚实答案能成为下一个正确问题的平台。

后者会复利。

数据合同需要一扇退出门

关键字段在进入生产之前,都应写好响应政策。

  • 字段有值,检查范围与一致性;
  • 部分有值,量化覆盖并限制用途;
  • 系统性为 null,排除字段并记录证据边界;
  • 决策必需字段缺失,保持 HOLD,直到另一来源或方法解决;
  • 允许估算时,标记模型并保存原始缺口。

这样,下游模型即使强烈期待一个数字,团队也不会在最后一刻随手填值。

政策也给供应商留出退出门。一项服务可以非常适合历史价格,在某个产品环境里却无法供应历史希腊值。采购要求因此必须落到字段层。“我们需要期权数据”太含糊,无法谈判,也无法测试。

管理层真正要学的一课

这次事件改变了我看待绿色勾选的方式。

200 OK 表示服务器按照接口合同处理了请求;field_present=true 表示 key 存在;array_length_valid=true 表示形状对齐。这些状态都不能证明该字段为眼前决定提供了证据。

最后一道闸门必须问业务问题:符合条件的观察中,有多少携带可用值?这样的覆盖支持什么结论?

答案可能是 3,409,也可能是零。两个数字都重要。

这些历史期权链足以研究权利金与流动性,也足以凭彻底空白的希腊值禁止相关分析。保留两项事实,项目可以继续,也不会教模型虚构金融。

生产环境的覆盖闸门

这次探针提供了一套可复用规则:为每个关键字段定义最低覆盖率、有效范围和分段要求;按来源、日期、标的组和决策用途衡量。很高的全局百分比,仍可能藏住最近一段时间或整个产品族的缺失。

然后把覆盖映射到行动。描述图表可以接受标注清楚的部分数据;排名需要更高门槛;交易或资本决定可能要求所选标的完整。相同字段会因风险半径不同而拥有不同闸门。

机器可读的质量报告应与数据集放在一起,让未来研究能够证明当时采用的质量合同。

不要随手估算决策变量

插补可以是严肃统计工作。危险来自一项估算悄悄继承了真实观察的权限。

如果研究根据价格、期限、利率和波动率计算希腊值,输出必须标记为模型值,保存公式版本、假设和不确定性,也绝不能覆盖上游 null。未来同时取得供应商值和模型值时,两条证据才能比较。

这项区分也改善采购。模型敏感度可能足以探索,受监管报告或执行控制则可能要求观测值或独立验证值。证据标签决定用途。

逐份合约做抽查

总体覆盖率仍可能漏过语义错误。最后还要挑少量合约,从头到尾核对。

期权符号是否映射到正确到期日和行权价?bid、ask 与希腊值数组索引是否对齐?标的价格是否属于历史日期?单位是否一致?归档原始 body 能否复现同一记录?

形状校验可以抓住破损数组。逐份检查可以抓住完美对齐的错误答案。

在字段层采购数据

正确的供应商问题应当具体:“对于这段日期、这类标准历史期权和这项权限,Delta 与隐含波动率的非空覆盖是多少?数值如何计算?”

这个问题可以回答。“你们有期权数据吗?”只会换来一份产品手册。

字段级采购也让多来源架构更合理。一家提供监管文件,一家提供历史报价,一家提供实时希腊值。研究系统要记录每项结论由谁提供,以及各来源时钟怎样对齐。

那张没有出现的图表

最终研究没有一张依赖希腊值的图。这项缺席本身就是交付物。

团队完全有能力做出图表:估算数值、借用当前敏感度,或让 0 流进公式,都能让报告更丰富,同时让证据更贫穷。

排除这些字段,为未来工作保留了干净边界。新来源或模型方法以后可以通过明确版本加入;原始的 3,409 行探针继续作为耐久基线,无需被悄悄覆盖。

留给未来的比较

新来源到达时,项目可以先重跑同一组九格探针,比较覆盖,再决定是否改变研究。若希腊值有了数据,就建立一条新的证据分支,连同方法与校验一并保存。

新证据永远不会回头填补归档中的 null 数组。

版本化改进同时保护学习和时间真实性。

对投资流程的迁移

另类数据销售常以覆盖广度开场。投资者真正要问的是:承载论点的确切字段、日期和决策样本,覆盖了多少。缺失组合边界上的关键变量,再多行数也补不回来。

采购前做一个小型探针,能省下数月下游工作。冻结原始响应,测量非空覆盖,检查语义对齐。采购目标应当是支持决定的字段;供应商产品手册的厚度没有投资价值。

最好的数据集,会用清楚边界回答自己被分配的问题。

决策说明

  • 类别: 市场数据、期权、数据质量
  • 关键词: null、schema、覆盖率、希腊值、历史期权链
  • 证据: 三个 ticker、三个日期、九份归档原始响应
  • 决定: 在该来源环境中排除历史希腊值,并让字段覆盖率进入所有下游产物

#MarketData #Options #DataQuality #QuantLab #RobinOS