diff --git a/docs/superpowers/specs/2026-05-12-data-quality-audit-design.md b/docs/superpowers/specs/2026-05-12-data-quality-audit-design.md index 68fea48..27b0037 100644 --- a/docs/superpowers/specs/2026-05-12-data-quality-audit-design.md +++ b/docs/superpowers/specs/2026-05-12-data-quality-audit-design.md @@ -78,7 +78,6 @@ class ChainAuditReport: bid_gt_ask_count: int iv_null_count: int iv_null_pct: Decimal - depth_zero_pct: Decimal def audit_market_snapshots(conn, *, asset, since, now) -> MarketAuditReport: ... def audit_option_chain(conn, *, asset, since, now) -> ChainAuditReport: ... @@ -95,7 +94,13 @@ def audit_option_chain(conn, *, asset, since, now) -> ChainAuditReport: ... | option_chain_snapshots | quote/snap < 50% mediana 24h | qualsiasi | rilevatore di chain truncate (mismatch with width filter) | | option_chain_snapshots | bid > ask | qualsiasi | dato corrotto, da indagare | | option_chain_snapshots | IV null/non-parseable | conteggio + % | IV è chiave per BS skew calibration | -| option_chain_snapshots | `book_depth_top3 = 0` | % per snapshot | proxy di illiquidità | + +> **Nota:** il check `book_depth_top3 = 0` originariamente previsto è +> stato rimosso. La colonna è NULL by design sugli snapshot (il collector +> `option_chain_snapshot_cycle` non chiama l'orderbook per ogni strike +> per non saturare l'API Deribit); viene popolata solo dal path +> `entry_cycle` per gli strike candidati al picker. Il check di liquidità +> ha senso solo lì, non in questo audit. Le soglie sono costanti modulo (non config YAML) per ridurre il blast radius dei cambi: il backtest e l'audit girano in contesti diversi, @@ -140,7 +145,6 @@ l'umano. Far diventare l'audit un gate CI è out of scope. quotes/snap: median 55 p10 50 p90 60 bid > ask: 0 IV null: 12 quotes (0.03%) - depth_top3 = 0: 1.2% of quotes === BTC — ... ```