diff --git a/CLAUDE.md b/CLAUDE.md index d27e823..c13bda9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,8 +17,8 @@ chi la riapre deve battere il motivo, non ripetere la misura. | `docs/memory/40-produzione-e-deploy.md` | esecutore, tripwire, monitor, libro di bordo, PRIIPs/UCITS | tocchi cio' che gira con soldi veri | | `docs/memory/50-dati-e-feed.md` | difetti del dato trovati e riparati, catena opzioni | tocchi i feed | | `docs/memory/60-metodo-e-gate.md` | i gate codificati in `altlib.py` | valuti un candidato | -| `docs/research/RESULTS-0822.md` | registro per filone Β§1-73 | vuoi il dettaglio di un filone | -| `docs/diary/` (123 voci) | la sessione originale, per data | vuoi il contesto completo | +| `docs/research/RESULTS-0822.md` | registro per filone Β§1-77 | vuoi il dettaglio di un filone | +| `docs/diary/` (146 voci) | la sessione originale, per data | vuoi il contesto completo | --- @@ -151,6 +151,22 @@ tutto il drift del libro). A 10 anni i bonifici fanno il **59%** del risultato. un tetto di 1,0x. **Il cap non ha mai morso: il vincolo e' il segnale.** Riempire quel vuoto con l'ETF e' stato **misurato e SCARTATO** il 25/08 (`20-ondate`). +πŸ“Œ **Il libro nei crolli (misurato 09/09, `r0909_libro_nei_crolli.py`): nel GIORNO del crollo PERDE** +(βˆ’0,48%/g sui 160 giorni ≀ βˆ’5%, positivo nel 18%); per finestra di 20 giorni e' immune-o-positivo e +**dal 2022 chiude > 0 in 8/8 peggiori finestre**, tutto dalla gamba **short di SKH01** (108% dei +guadagni; marcata all'USCITA del trade, quindi arriva *dopo* il giorno). Le 2 finestre perse (2019, +maggio 2021) sono TP01 long dentro un trend non ancora girato. Beta +0,0769 (riproduce Β§46). ⚠️ Un +solo aggettivo ("guadagna"/"immune") e' l'ordine delle regole: la prima stesura diceva 8/12 GUADAGNA, +con le classi nell'ordine dichiarato sono 4 + 6 immune. **La leva che aumenterebbe il guadagno e' il +peso di SKH01** (37,5/62,5 batte 12/12 episodi ma maxDD 12,1% vs 9,4%): vincolato (Β§3), gate +`weights_tilt_null` fallisce su una condizione **in-sample** (delta βˆ’0,0026, 26/07; cache segnali ferma +al 25/07). **Crollo CATTURATO a quote vere (1-5/06/2026, archivio bite, `r0909_crash_catturato.py`)**: +f_net del put credit spread **0,74 = 0,714 del rally**; put Ξ΄βˆ’0,10 costa **1,92Γ—** il modello all'ask ma +paga come il modello nel crollo (0,94-1,04); f al peggior MTM 1,08 (il 2,58 della prima stesura era un +artefatto di quote oltre la larghezza). **NON e' il f di stress della regola del 19/06**: crollo a vol +BASSA (picco DVOL al 29Β°/46Β° percentile), gate IV-rank di VRP01 CHIUSO, famiglia INVERSE, 4 strutture. +Diario `2026-09-09-crolli-opzioni-monete.md`. + 🚨 **Tre baseline diverse girano sotto lo stesso nome "libro 75/25"**, e lo spread fra loro (0,12 di Sharpe, 1,7pp di maxDD) e' **piu' grande di quasi tutti gli effetti che il progetto misura**: `hourly` **1,683 / 11,22%** (la lente di **ogni muro e ogni traiettoria**) Β· `canonical` 1,800 / 9,56% @@ -180,8 +196,8 @@ CLAUDE.md", la risposta e' la colonna *cosa la riapre*. | decisione | data | non si ri-discute | cosa la riapre | |---|---|---|---| | **100% Deribit fino a $20k** β€” accettato P(perso tutto) 10/18/34/64% a p=0,5/1/2/5% invece di 0/0/4/27% | 26/07 | la soglia $3k | **$20k**, o un cambio di piano, o `p` che diventa stimabile invece che assunto | -| **SOL escluso** β€” universo direzionale resta BTC/ETH (presidiato da un test) | 22/08 | SOL su un book a 2 gambe con questi dati | ~3 anni di storia SOL certificata (**non prima del 2028**), o un meccanismo che non sia TP01/SKH01 congelati | -| **Niente short-vol da modello in deploy** β€” e niente long-vol scalp da modello | 19/06 | β€” | un `f` di stress reale misurato su un crash catturato | +| **SOL escluso** β€” universo direzionale resta BTC/ETH (presidiato da un test) | 22/08 | SOL su un book a 2 gambe con questi dati | ~3 anni di storia SOL certificata (**non prima del 2028**), o un meccanismo che non sia TP01/SKH01 congelati. **XRP misurato il 09/09 con lo stesso harness: diluisce uguale** (hold-out βˆ’0,169 in 0/24, un anno buono, 5m flat 27-61%); su Deribit i perp liquidi (β‰₯$10M/g) sono SOLO BTC/ETH/XRP/SOL β€” `r0909_deribit_universo.py` | +| **Niente short-vol da modello in deploy** β€” e niente long-vol scalp da modello | 19/06 | β€” | un `f` di stress reale misurato su un crash catturato **con IV-rank > 0,30 e sulla famiglia USDC-lineare** β€” il crollo del 1-5/06/2026 (misurato 09/09) e' catturato ma a vol bassa, sotto il gate e inverse: soddisfa la forma, non la sostanza | | **Non de-esporre il weekend** (porta il 38% del gross di TP01 nel 31% del tempo) | 17/07 | β€” | ogni proposta "risk-off weekend" parte **REFUTED** salvo null de-levering superato | | **Peso 75/25 confermato 3 volte** (24/07, 26/07, 24/07-follow-up) | 26/07 | β€” | `weights_tilt_null` superato, che finora **fallisce** | | **Fee Deribit: ≀5 bps/lato β†’ non si tocca nulla; >10 bps β†’ rivedere il peso SKH01** (regola decisa *prima* di vedere il numero) | 26/07 | β€” | il sorvegliante `fee_watch` allerta da solo | @@ -419,6 +435,14 @@ d'ancora in modo diverso (nella differenza si cancella in parte, nel livello per `usde_convert.cuscino_richiesto_usd`, P1) ogni ora e allerta sotto zero; e la riconversione USDEβ†’USDC che ripristina il cuscino e' `usde_convert --quota `, che esiste ma non e' automatica. +18. ⚠️ **`cblib.spot_series` + `asof(ts)` guarda UN'ORA AVANTI** (trovato in revisione il 09/09): il + feed 1h e' etichettato all'**apertura** (la barra 20:00 chiude col 5m delle 20:55), quindi + `S.asof(ts)` restituisce la chiusura di ts+1h. Tocca ogni numero di `cblib` che usa lo spot + (il f 0,714 di Β§11 compreso; anche `ST = S.asof(exp)` e' il prezzo di un'ora DOPO la scadenza). + Nella misura del 09/09 e' innocuo (ambo le gambe ITM) e giocava contro l'autore; `r0909_crash_catturato` + usa `spot_causale` (indice +1h). **Non riparato in `cblib`**: cambierebbe numeri pubblicati β€” va + riparato con la rimisura di Β§11, dichiarando lo scarto. D6, quarta occorrenza dell'etichetta. + --- ## 6. Le regole di prim'ordine @@ -615,8 +639,8 @@ scripts/live/ β†’ book_execute Β· venue_watch Β· fee_watch Β· edg journal Β· analista scripts/cron_{book,daily,chain,opt_snapshot,vol_term}.sh docs/memory/ β†’ LA MEMORIA (indice in testa a questo file) -docs/research/ β†’ BRIEF-0822 Β· RESULTS-0822 (Β§1-69) Β· SPEC-scale-key -docs/diary/YYYY-MM-DD.md β†’ una voce per esperimento (123) +docs/research/ β†’ BRIEF-0822 Β· RESULTS-0822 (Β§1-77) Β· SPEC-scale-key +docs/diary/YYYY-MM-DD.md β†’ una voce per esperimento (146) docs/journal/YYYY-MM-DD.md β†’ libro di bordo, una voce al giorno, 4 livelli per provenienza data/live/trades.db β†’ i trade allineati col tempo (dentro il perimetro di backup) Old/ β†’ ARCHIVIO pre-reset @@ -636,7 +660,7 @@ uv run python scripts/live/