From aaa32daff735ba1860b4e24226ebc373fbba68d9 Mon Sep 17 00:00:00 2001 From: Adriano Dal Pastro Date: Sat, 22 Aug 2026 21:08:57 +0000 Subject: [PATCH] CLAUDE.md: buco di colonna nell'archivio catena (underlying 100% None pre-30/07) e come chiuderlo con la parita' put-call --- CLAUDE.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 9eea10f..9792220 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2348,6 +2348,23 @@ df = load_data("BTC", "1h") # OK. load_data("SOL", ...) -> FileNotFoundError ( diverse, e `book_depth_top3` è **NULL su errore, mai 0**. ⚠️ Le righe ereditate da bite hanno `quote_status='unknown'`: bite non registrava il perché, e si dichiara l'ignoranza invece di inventare uno stato. + 🚨 **BUCO DI COLONNA nell'archivio ereditato, trovato il 2026-08-22 e mai registrato prima:** + `bite_archive` ha `index_price` e `underlying_price` **100% None (1.232.212/1.232.212)**. Il + sottostante esiste **solo dal 2026-07-30** (raccolta propria, 18,2% delle righe) e + `book_depth_top3` solo nel **67,2%**. **Chiunque calcoli moneyness o riprezzi sull'archivio + pre-30/07 sta usando una colonna che non c'è** — e il file si legge senza errori, quindi il + difetto è silenzioso. + ✅ **Ed è CHIUDIBILE senza dato nuovo:** il forward si ricostruisce con la **parità put-call** + dalla catena stessa — verificato contro l'osservato su **6.578 coppie: |errore| mediano 0,023%, + p95 0,147%, corr 1,000000** → rende la superficie utilizzabile su tutti i **75 giorni** invece + che 23. (Lo **smile**, che non richiede il forward, esiste invece su **113 giorni dal 2026-05-01**; + la **superficie completa** solo da **2026-06-09**, perché prima bite raccoglieva una sola scadenza + per giro — misurato da **tre** agenti indipendenti.) + ⚠️ La famiglia raccolta è quella **inverse** (`get_instruments?currency=BTC|ETH`): la superficie + **USDC-lineare non è nell'archivio**, e ogni conclusione su di essa nel progetto è oggi un + **controfattuale costruito sui mid inverse**, non una misura. Puntare il collettore anche su + `currency=USDC` costa **+587 chiamate/giro (+90%)** ed è una decisione sul rate-limit per-IP, che + ha già causato un guasto il 29/07. **NON assorbito, e perché:** il motore credit-spread ETH (il progetto ha già la regola "niente short-vol da modello in deploy"), la GUI, kill switch/dead-man/audit (PythagorasGoal ha `venue_watch`/`edge_watch`/`monitor_health`/`fee_watch`), `dvol_history` (`fetch_dvol.py` ha