Files
PythagorasGoal/docs/research/RESULTS-0822.md
T

11 KiB
Raw Blame History

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
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

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.