# ONDATA 2026-08-22 — esiti per filone (aggiornato man mano) Regola di lettura: `SCARTATO` con un meccanismo misurato vale quanto un `LEAD` — chiude un filone e smette di farlo pagare alle ondate successive. `CANDIDATO` richiede marginal ADDS + DSR>=0.95 + null de-levering superato + eseguibilita' al capitale dichiarato. | # | filone | verdetto | in una riga | |---|---|---|---| | 9 | ADAPTIVE-HORIZON | **SCARTATO** | il "vincitore adattivo" ha lookback incollato al bordo il 100% del tempo = TSMOM costante a 20g (corr 1.000, dSh 0.00 in 8/8 anni e 0/12 ancore); isolando le celle davvero adattive -> NEUTRAL, corr→TP01 0.90 = TP01 travestito || 4 | DEALER-GAMMA | **SCARTATO** | la gamba tradeable e' INCOERENTE (BTC non separa, ETH separa al ROVESCIO); cio' che resta e' quasi tutto DVOL (corr 0.66), gia' refutato il 26/06. DSR 0.440 e la cella migliore sta SOTTO il massimo atteso dal rumore | | 2 | GROWTH-POLICY | **LEAD** (condizione, non data) | il libro gira al **7% di Kelly** e raccoglie il **15%** della crescita massima in log; il gradino eseguibile 1.00x->1.25-1.50x vale 14.7a -> 12.9-11.6a al muro. Ma un solo giorno -10% all'anno porta k* da ~10x a **2x**: non si decide su un conto vero con la lente close-only | | 12 | ORTHO-SCREEN | **SCARTATO 7/7** | nessuna famiglia arriva a ADDS+DSR; e il motivo e' **aritmetico**: su 168 trial il massimo atteso dal rumore e' Sharpe **1.572**, SOPRA il soffitto direzionale misurato (~1.3) -> uno screen largo su BTC/ETH direzionale **non puo'** passare un DSR, per costruzione | | 3 | XS-LITE | **SCARTATO** (come sleeve) + **1 soglia pubblicata falsificata** | concentrare XS01 non crea uno sleeve nuovo (corr 0.81-0.96 col canonico, DSR FAIL, de-levering non superato) — ma il muro *"XS01 serve ~$20k"* e' misurato su una diagnostica di TURNOVER: il ribilancio vero smette di passare sotto **~$109 di sleeve (~$730 di book), 27x piu' in basso** | | 10 | FLOW-SQUEEZE | **SCARTATO** (2 motivi indipendenti) | meta' dell'ipotesi **non esiste nel dato** (`liquidation_*_risk` = una sola categoria in 17.229/17.229 righe); l'altra meta' e' sotto la propria soglia di potenza **dichiarata prima** (MDE 1,056% vs effetto 0,402%) ed e' comunque **morta alla nascita** (la colonna non e' ricostruibile) | | 11 | VRP-QUOTE-VERE | **SCARTATO** + **1 difetto di RACCOLTA in produzione** | il campione contiene l'**astensione** della strategia (0/19 settimane passano IV-rank>0.30) e il titolo non sopravvive all'ora d'ingresso; ma soprattutto: **`collect_chain.py` raccoglie la famiglia di contratti che il conto NON puo' marginare** | ## Note che sopravvivono ai singoli filoni ### 9 — ADAPTIVE-HORIZON (r0822_adaptive_horizon.py, 112 trial dichiarati) - Sanity: il baseline dell'agente riproduce TP01 canonico a **max|diff| = 0.0** (n=2719). - Il controllo giusto NON era TP01 ma il **miglior lookback COSTANTE**: senza quel controllo il null confonde "adattare paga" con "un orizzonte piu' corto paga su questo campione". L'agente se l'e' costruito da solo dopo aver visto l'argmax incollato al bordo, e ha dichiarato i trial in piu'. - ⚠️ Segnalazione, NON proposta: 30/90/180 e' rango 18/24 in-sample nella propria famiglia di orizzonti (10/24 sull'hold-out), ma la superficie di L e' un **crinale di rumore** — il salto di Sharpe fra L ADIACENTI e' +0.18, cioe' il 47-67% dell'intero vantaggio del vincitore su TP01, ed estendere la griglia ha spostato l'argmax da L=20 a L=15. "Piu' corto e' meglio" e' un max-of-k su una superficie frastagliata. **Nessun cambio a TP01.** - Riaprirebbe il filone: un rilevatore il cui L si muove DAVVERO che batta il miglior L costante (non TP01) in >=6/8 anni appaiati con corr→TP01 < 0.6 — es. BOCPD/PELT vero, non provato. ### 4 — DEALER-GAMMA (r0822_dealer_gamma.py, 136 statistiche dichiarate) ⚠️ **DIFETTO DI DATO, il risultato piu' riusabile del filone: `dealer_net_gamma` e' il GEX col SEGNO INVERTITO** — corr **-0.95 BTC / -0.89 ETH** contro la ricostruzione da manuale sulla catena (962/1116 snapshot, ~280-316 strike), fit `dng ~ -0.7*GEX`. **Chi lo usasse col nome che porta leggerebbe ogni regime al contrario.** Spiega anche la contraddizione interna del file (corr fra `dng>0` e `spot>flip` = -0.28 / -0.92). ⚠️ **Il file dichiara piu' di quel che ha:** cadenza 15 min solo dal **2026-05-01**; i 37 giorni prima sono **un punto al giorno** -> **90 giorni, non 4 mesi**. `liquidation_long_risk` e `liquidation_short_risk` sono **COSTANTI** ('low' in 17.229 righe su 17.229 non nulle) = zero informazione. `gamma_flip_level` congelato nel **61%** dei passi su BTC. - Gate: **null de-levering FALLITO** (baseline x0.6 stesso maxDD con Sharpe migliore); **DSR 0.440** su 64 trial, e nel modo piu' netto — la cella migliore (+4.98 lordo) sta **sotto** il massimo atteso dal puro rumore (+5.12). `marginal_vs_tp01` inutilizzabile: su 90 giorni full e hold-out COINCIDONO (`n_hold_days == n_days == 90`). - **Null location-matched** (aggiunto dall'agente): `gamma_flip_level` bocciato — 96% di accordo con `spot > SMA(720h)` su ETH; su BTC la SMA nuda da' uno spread MAGGIORE. - **Ampiezza effettiva**: 73/59 episodi di regime ma 6-8 coprono il 78-86% del tempo -> **n_eff 53 (BTC) / 24 (ETH) ore** su 2.130. Il regime coincide col MESE (maggio long, giugno short, luglio long). - ✅ Ricostruibile oggi dalla NOSTRA catena, meglio dell'originale (518 ore dal 01/08, ~209-262 strike/ora, quote_status ok ~100%, segno giusto) — **ma la soglia non e' portabile** (`dng=0` corrisponde a `GEX=+5.8e6` su BTC): ricalibrarla sui 90 giorni sarebbe la selezione che il progetto rifiuta. Riapertura non prima di **~30-40 episodi di regime = ~2 anni (meta' 2028)**. ### 2 — GROWTH-POLICY (r0822_growth_policy.py, 241 celle dichiarate) ✅ **Controllo di replica superato**: il motore riproduce `r0807_piano_netto` §2 al numero pubblicato (EUR250/m -> 19,8a / P 52%; EUR500/m -> 14,7a / P 99%) con path diversi. 📌 **Il risultato strutturale: ogni gate del progetto e' INVARIANTE ALLA SCALA.** Lo Sharpe misura 1,31 a OGNI cella del knob di leva -> `deflated_sharpe` e `marginal_vs_tp01` non falliscono, **non vedono la variabile**. E' per questo che la leva e' l'unica leva del libro mai esaminata in 2 mesi. - Serie de-luckata x0,89: drift 17,11%/a, vol 11,37%, Sharpe 1,51, peggior giorno -3,95%. Netto fee E netto fisco d'accumulo (33% + carry 4a + patrimoniale 0,2%). - k* empirico **~10-14x** (banda 10x a 1500 path / 14x a 2500: la POSIZIONE non e' risolta), Kelly gaussiano 13,2x. Libro a k=1 -> g 17,0%/a, maxDD mediano 18,1%, P(DD>30%) 1,4%. - **Fragilita' che decide il verdetto:** k* e' lineare nell'errore del drift (stimato su 7,4 anni) — -1 SE -> 10x, -2 SE -> 7x, drift dimezzato -> 7x, drift zero -> 0,5x. E allo **stress di coda** un giorno -10% **all'anno** porta k* a **2x**, -15%/anno a **1x**. - ⚠️ **Controllo di plausibilita' FALLITO dall'agente sul proprio output** (e riportato): capitale mediano **$4,4e12** da $600 a k=14x -> il modello assume ritorno **indipendente dalla size**. A k>2 i numeri sono aritmetica, non previsioni. - **Gate pre-registrato (condizione, non data): nessuna proposta di k>1 prima di rifare la curva con la lente WICK ACCOPPIATA** (`r0725_prop_coupled`) — a leva il breach si valuta sul MINIMO, e la lente close-only usata qui e' quella misurata **cieca** il 25/07 (raddoppia i breach da daily-loss). - 📌 **Sottoprodotto da verificare (tocca un'etichetta del libro live):** a `target_vol=20%` la vol **realizzata** di TP01 e' **12,14%** — il target vale sulla posizione quando c'e', e TP01 e' long-flat. **L'etichetta sovrastima il rischio preso di ~40%.** ### 12 — ORTHO-SCREEN (r0822_ortho_screen.py, 174 trial: 7 famiglie x 24 + 6 controlli) 📌 **Il risultato piu' riusabile dell'ondata, ed e' metodologico:** il deflated-Sharpe va calcolato **di screen** (168 trial) e non solo di famiglia (24). Su quel pool il massimo atteso dal puro rumore e' **Sharpe 1.572**, cioe' **sopra il soffitto direzionale misurato del progetto (~1.3)**. **Conseguenza: una ricerca a rete larga su un singolo stream direzionale BTC/ETH non puo' passare il proprio gate — non e' sfortuna, e' aritmetica.** Le ondate future o dichiarano famiglie molto piu' piccole in anticipo, o cambiano meccanismo (non-direzionale / cross-sectional). 📌 **Per la prima volta nel progetto l'eseguibilita' a $600 non e' il vincolo binding di niente** (haircut 0.00-0.01 su 7/7): muore tutto molto prima, sull'edge. - Famiglie: RSKEW (skew realizzata), TACC (accelerazione del trend), VPX (volume-prezzo), XDISP (dispersione dei 51 alt come timer), XCORR (corr BTC-ETH), XTAIL (dopo shock 3σ), VRAT (variance-ratio). Miglior DSR di famiglia 0.633, di screen **0.034**. `robust_oos` False 7/7. - **TACC** e' l'unica ADDS (corr→TP01 0.09) ma il suo uplift hold-out **vive tutto nel 2026** (2025 da solo −0.314) = finestra fortunata. E la domanda della famiglia ha risposta: **e' il LIVELLO, non l'accelerazione** — la cella scelta si riduce al ritorno a 5 giorni, corr **+0.784** col momentum di livello. - ✅ **Tre falsificazioni che chiudono spazio:** (1) la mean-reversion **non torna in vita** sotto due conditioner mai provati (volume, shock 3σ): la selezione in-sample sceglie il ramo di CONTINUAZIONE in entrambi i casi; (2) la dispersione dei 51 alt come timer di mercato e' **negativa** (−0.899 sulla sola finestra attiva, non e' un artefatto di calendario); (3) RSKEW e' il ritratto del fitting — **miglior in-sample dello screen (1.281) e peggior hold-out (−0.494)**, col segno OPPOSTO all'a-priori teorico dichiarato. - ⚠️ **6ª occorrenza del null del de-levering** (VRAT, maxDD 4.4% -> `k*TP01` fa meglio). - ⚠️ Due candidati hanno l'ancora canonica come **PEGGIORE** delle 8 (TACC, VRAT): la fortuna d'ancora non ha un verso fisso, e guardare solo il canonico a volte **inventa un danno**. ### 3 — XS-LITE (r0822_xs_lite.py, 26 celle + 120 valutazioni d'ancora) ✅ Repliche **bit-exact** prima di ogni delta: XS01 vs `sleeves._xsec_returns` e XSR01 vs `basket_from_positions(demean=True)`, entrambe `max|diff| = 0.0`. 📌 **Falsificazione di un numero pubblicato:** il muro *"XS01 serve ~$20k"* non e' un fatto di Sharpe ma di **turnover** — e a capitale piccolo il min-order salta la **deriva del vol-target** (|Δw| giornaliero 0.001) che **non porta segnale**, non il ribilancio (|Δw| 0.091-0.157). Capitale minimo perche' il ribilancio passi: **$109 (k=5) / $86 (k=3) / $64 (k=2)** di sleeve. Stessa lezione gia' imparata su TP01 nel 2026 ("a $600 il min-order e' gia' la banda ottimale") e **mai applicata a XS01**. ⚠️ L'agente ha usato **min-order $10 (Hyperliquid)**, non $5 (Deribit) — un audit dedicato sta verificando i minimi veri del venue. - Concentrare **non** ripara il rischio #1 di XSR01: XS-LITE regge oltre **50 bps/gamba**, XSR-LITE muore a **~28 bps a ogni k, pieno incluso**. - La radice dell'ampiezza **non descrive** XS01: da 10 a 4 gambe si perde il **2%** di Sharpe mediano-di-fase mentre N_hhi passa 6.9 -> 3.0 (il segnale sta negli **estremi** del ranking; le gambe 3-5 per lato aggiungono rischio quanto segnale). Il collasso arriva solo a k=1 (41%). - ⚠️ **Da inseguire — tocca un gate pre-registrato: lo Sharpe 1.82 di XSR01 NON si riproduce oggi.** Sulla finestra identica a quella di scoperta la lente "paniere" da' **1.75** e la lente "libro" di `paper_xsr` da' **2.23**; 1.82 non e' nessuna delle due. Spiegazione piu' probabile: `data/raw` e' gitignored e il cron riscrive i parquet HL ogni notte -> **stesso codice, dati diversi** (identico allo scoperto del 07/08 su GTAA/TLT). **La decisione del 23/10 poggia su quel numero.** ### 10 — FLOW-SQUEEZE (r0822_flow_squeeze.py, 118 trial dichiarati, griglia RIDOTTA per budget) 📌 **Sottoprodotto con potenza vera, e chiude un filone: il funding non predice ne' direzione ne' volatilita'** — misurato su **53.430 ore / 3 anni** di funding Hyperliquid (li' la potenza c'e'): eccesso |<=0,35%| a 24h con **segno instabile fra anni**, |ritorno| futuro piatto e non monotono. **Il filone funding, gia' chiuso su 3 lati come livello di carry, si puo' dichiarare chiuso anche come proxy di AFFOLLAMENTO. Quarto lato.** - Il "segnale" migliore (Sharpe 3,25 su 90 giorni) e' **il massimo di 18 celle**: DSR **0,103** (0,004 su 118 trial), `implausible_sharpe=True`, e su 114 giorni **il massimo atteso per caso e' Sharpe 5,40** -> il candidato sta **sotto il proprio null**. Il 71% del P&L e' in giugno, il 60% in **3 giorni su 114**. - Il null "statica travestita" e' superato (sempre-short = −0,67), ma quello di **timing casuale location-matched** e' al 99,7° pctl **che pero' e' il massimo di 18** -> P(per caso) = 0,06: **non superato dopo il conto dei trial**. Esempio pulito di come si legge un percentile alto. - ⚠️ **Ricostruibilita' MISURATA, non assunta:** l'OI della catena (opzioni) contro la colonna dello snapshot (perpetual) da' **Pearson +0,03 BTC / +0,21 ETH** — non e' la stessa grandezza. - 💡 **Azione possibile, costo quasi nullo (NON eseguita, tocca il cron di produzione):** accendere un collettore orario dell'**OI dei perpetual Deribit** (una GET/ora, API pubblica). Non ripara questo filone, ma da quel giorno la storia comincia; oggi ripartirebbe da zero. Il criterio di falsificazione e' gia' scritto dall'agente: >=12 mesi, eccesso oltre la MDE (~0,3%) e presente in >=3 trimestri su 4. - ⚠️ **Distinzione metodologica utile** (nata contraddicendo il suggerimento del coordinatore): qui il vincolo binding NON e' la concentrazione degli episodi (86-87 episodi corti, i primi 8 coprono solo il 20-25% delle ore) ma la **lunghezza del calendario** (90 giorni). *Ampiezza scarsa* e *calendario corto* sono due diagnosi diverse e si curano in modi diversi: piu' episodi vs piu' tempo. ### 11 — VRP-QUOTE-VERE (r0822_vrp_real_quotes.py, 60 trial + 9 ancore d'ingresso) 🚨 **IL RISULTATO DI PRODUZIONE — `collect_chain.py` interroga `{"currency": "BTC"|"ETH"}`, che su Deribit restituisce le sole opzioni INVERSE (regolate in BTC/ETH). Il conto e' in USDC** (esegue `BTC_USDC-PERPETUAL`). Esiste una famiglia **USDC-lineare** con lotto minimo **10x piu' piccolo**: | famiglia | min lotto | ~$ per lotto | |---|---|---| | BTC inverse | 0.1 | ~$7.700 | | **BTC_USDC** | **0.01** | ~$780 | | ETH inverse | 1.0 | ~$2.500 | | **ETH_USDC** | **0.1** | ~$250 | Quindi il muro pubblicato *"BTC opzioni min 0.1 = $6.210/lotto -> FUORI a $3.000"* (congelato in `tests/test_vrp_profit_take.py`) e' **misurato sulla famiglia che il conto non puo' marginare**. **3ª occorrenza dello schema `fee_watch` (21/08): un controllo/collettore puntato su uno strumento diverso da quello che si trada.** ⚠️ **MA la verifica indipendente del coordinatore cambia la conclusione, e in meglio:** contando l'open interest famiglia per famiglia (`get_book_summary_by_currency`, misura mia, non dell'agente) | famiglia | strumenti | con OI>=100 | |---|---|---| | BTC inverse | 1038 | **415** | | ETH inverse | 932 | **548** | | **BTC_USDC** | 686 | **5** | | **ETH_USDC** | 660 | **119** | -> **BTC_USDC e' praticamente morto** (5 strumenti liquidi su 686). **Il muro sul BTC RESTA, ma per la ragione giusta e meglio misurata: non la taglia del lotto, la LIQUIDITA'.** ETH_USDC (119 strumenti, ~$250/lotto) e' l'unica gamba che varrebbe la pena raccogliere. 📌 Sottoprodotto fuori perimetro: esiste un universo opzioni USDC piu' liquido di BTC_USDC — SOL_USDC 341, XRP_USDC 250, HYPE_USDC 172, AVAX_USDC 146 strumenti con OI>=100. - **Il campione misura la strategia mentre STA FERMA**: 0/19 settimane passano il gate IV-rank>0.30, DVOL alla mediana del 7°/11° percentile storico, sottostante +25%/+44%. - ✅ **Replica indipendente del f del 30/07 su campione piu' lungo: f = 0,714 pooled** (IC95 [0,690, 0,779], **0/19 osservazioni >= 1,0**). Attraversare lo spread costa **~10% del credito**. - ⚠️ **Correzione a un numero pubblicato:** il forfait fee del sleeve sovrastima il listino vero di **1,44x (BTC) / 1,80x (ETH)**, non di "~2x". Il segno (conservativo) regge, la taglia no. - ⚠️ **Rischio sul MINIMO, non sulle chiusure:** peggior mark infra-settimana mediana −6,4% del rischio, **minimo −91,0%**; fra le settimane chiuse **in utile**, minimo **−56,9%**. - Gate: `implausible_sharpe` **FLAGGED** su entrambi (0 perdite su 10 -> regola del tre: tasso vero fino al 30%, su un payoff che perde 7,4x il credito); `deflated_sharpe` **non calcolabile** (T=10) e l'agente **si e' rifiutato di fabbricare una griglia giornaliera al 94% di zeri** per superare il T>=30; banda d'ancora: canonico all'89° pctl, **mediana onesta 1,45**, banda che include il negativo. Il titolo annualizzato (32,58) e' stato **deliberatamente non riportato come risultato**. - ⚠️ L'agente ha **refutato in corsa una propria conclusione**: spostare l'ora d'ingresso cambia QUALI STRIKE corrispondono al delta obiettivo -> non e' lo stesso trade un'ora dopo, e' **un'altra struttura**; la media BTC **cambia segno** fra le ancore (−1,35% -> +11,22%).