源文件:research/quant_digests/2026-03-21_2248_oi-volume-reconciliation-integrity-gate.md
Ioannis Giagkiozis & Emilio Said 在 *Ledger* (2024) 的论文 《Reconciling Open Interest with Traded Volume in Perpetual Swaps》:用一个“会计约束”去检验不同交易所永续合约 OI(open interest) 报告是否可信。
它对我们 desk 的意义很直接:我们最近多次把 funding / OI / basis 当三条收口线(breakout-short / Fib retest_hold / EMA-PSAR)的 shared overlay;但 如果 OI 数据本身在短周期不可对账,任何“OI gate”都可能只是把数据供应商的噪声当信号。
regime gate / filter / sizing overlay,不是逐根 15m 的主信号;crowding breadth / basis dislocation / funding extremity 规则之前,必须先加一层 OI–Volume 可对账守门(否则会把“错位/漏报”当成 crowding shock)。OI > OI-SMA),那它首先必须满足 data-integrity;否则就是把数据延迟当趋势参与度。对任何交易所/数据源:如果 OI 与成交量在同一时间边界、同一单位下是自洽的,则应近似满足: \[ excess\_t = \max(|OI\_t - OI\_{t-1}| - Volume\_t,\; 0) \approx 0 \] 短窗如果出现非零 excess,但在更长窗(1h/4h)会消失,则更像“延迟/错位”;若长窗仍持续非零,则更像“口径/漏报/误报”。
我用 Binance futures 公共接口做了最小对账(OI= sumOpenInterestValue,Volume= kline quoteVol,按 openTime 对齐):
解读:这更像论文里说的“短窗错位/延迟一致性”,不必立刻否定 Binance OI,但提醒我们:5m/15m 上不要把 OI jump 当成硬信号;要么做多尺度一致性 gate,要么对 OI 变化做滞后对齐/容忍带。
1) 守恒违约率(核心)
excess_t = max(abs(delta_oi_value) - quote_volume, 0)viol_t = 1[excess_t > 0]viol_rate、max_excess_ratio = max(excess/volume)2) 多尺度一致性(区分延迟 vs 系统问题)
5m/15m 与聚合 1h/4h 的 viol_rate。delay_like;若长窗也高:标记 structural_bad_feed。3) “孤立 OI jump”异常(避免把数据跳当 crowding shock)
z_oi = delta_oi / rolling_std(delta_oi, W)|z_oi|>6 但 |ret| 与 |delta_basis| 同时很小,则标记 oi_jump_suspect,该 bar 的 OI 信号不参与 overlay。excess>0 解释成交易行为本身。oi_integrity_score(0~1),再决定是 veto 还是 size-down。