# Sleeve, book e candidati > Estratto **verbatim** da `CLAUDE.md` il 2026-08-25 durante la compattazione. > Le cinque gambe del book, il portafoglio attivo e i candidati in forward-monitor. Ogni numero va letto con la sua banda d'ancora e la sua lente. > Il testo non e' stato riscritto: e' la memoria originale, spostata. --- - **TP01 Trend Portfolio — strategia DIFENSIVA robusta (non alpha)** — `src/strategies/trend_portfolio.py`. TSMOM multi-orizzonte (1-3-6 mesi) vol-targeted, long-flat, 50/50 BTC+ETH. Config canonica **PORT LF1d** (**>=12h, 1d raccomandato**, vol-target 20%, leva cap 2x): **FULL Sharpe ~1.30, maxDD ~14%; HOLD-OUT 2025-26 Sharpe ~0.31 / +3.5%** mentre il buy&hold 50/50 faceva −39%/DD60%. Verificata indipendentemente col gauntlet onesto (hold-out + cross-asset + plateau + deflated-Sharpe 0.999): **regge**. **Valore = taglio del drawdown ~6× vs buy&hold**, NON generazione di ritorno (CAGR ~16% vs ~48% del buy&hold sul toro). ⚠️ **LOOK-AHEAD (2026-06-19):** un ffill MIXED-TIMEFRAME su barre open-labeled gonfiava il 4h (~1.60 → reale ~1.1). Il calcolo per-singolo-TF è leak-free, ma **NON scendere sotto le 12h**: costi+overfitting dominano senza vantaggio (FULL Sh piatto ~1.3 da 12h a 4h; hold-out migliore a 1d). Deploy/paper a **1d**. Diari `2026-06-19-tp01-verification.md` / `-tp01-lookahead-fix-lf.md`. Paper/forward: `scripts/live/paper_portfolio.py` (TP01+XS01, 1d). Test: `tests/test_trend_portfolio.py`. (Il vecchio `paper_trend.py` standalone TP01 è RITIRATO in `Old/scripts/live/` 2026-07-17 — inerte dal 2026-06-19, non in cron, sostituito da `paper_portfolio`.) Ri-verifica: `scripts/analysis/{verify_tp01,stress_tp01,tp01_lowfreq}.py`. ⚠️ **ANCHOR TIMING-LUCK (2026-07-02, confermato da scettico):** l'hold-out ~0.31 è calcolato sull'ancora daily 00:00 UTC, che è la **migliore delle 24 possibili** (mediana ancore 0.04, banda [−0.13,+0.30]; P~0.86 che una qualsiasi ancora mostri uno spike così per puro caso) → l'hold-out 2025-26 NON risolve l'edge di ritorno di TP01; ciò che regge a OGNI ancora è il **taglio del DD** (7-10% vs ~60% B&H). FULL/plateau/deflated-Sharpe/gate INVARIATI (h=0 al 31° pctl su FULL). Regola: i futuri numeri hold-out di strategie a ribilanciamento ancorato si citano con la banda d'ancora. Diario `2026-07-02-timing-crt-wave.md`; script `scripts/research/r0702_tp01_offset.py` + `r0702_skeptic_offset.py`. - **XS01 Cross-Sectional Momentum (Hyperliquid) — DIVERSIFICATORE che migliora il portafoglio** — `src/portfolio/sleeves.py:_xsec_returns`. Market-neutral su **19 alt liquidi major** Hyperliquid (1d, dal 2024): ogni 10g long i 5 più forti / short i 5 più deboli, vol-target 20%. **Scorrelato a TP01 (~−0.12).** Affinato (2026-06-19): **(a) blend di lookback [30,90]** (z-score cross-sectional mediato, come il multi-orizzonte di TP01); **(b) gate di dispersione p30** (entra solo se la dispersione cross-section del momentum supera il percentile espandente causale, altrimenti flat — XS è rumore in regime compatto). Standalone FULL Sh **1.50** / HOLD 1.71 / DD 11%, plateau robusto (lookback, gate p15-35). **Caveat:** storia ~2.5 anni; STAT-MODE (book a 19 gambe non eseguibile a 2k, serve ~20k) → monitor forward. NB il gate concentra XS nei regimi dispersi (2025-26 = hold-out alta-dispersione). ⚠️ **PHASE TIMING-LUCK (2026-07-02):** i numeri headline sono sulla fase 0 del ciclo H=10, che è al **15° pctl di DD** (10.8% vs ~15.5% fase tipica, 29% peggiore) e 85° di FULL fra le 10 fasi (HOLD solo 65°, non estremo); P(spike per caso)≈0.91-0.94. Lens onesta = **ensemble di fase: FULL 1.25 / HOLD 1.31 / DD 10.9%**; a fase mediana FULL 1.08/HOLD 1.10/DD 21%. La decisione di ammissione @15% regge (0 fasi negative, 8/10 FULL≥1.0), i numeri 1.50/1.71/11% no → citarli con banda di fase. Ora-del-giorno NON testabile (solo 1d HL). Script `scripts/research/r0702_anchor_xs01.py`; diario `2026-07-02-anchor-audit-xs01-skh01.md`. Ricerca `scripts/portfolio/{xsec_research,xsec_blend,xsec_dispgate}.py`. Diari `2026-06-19-hyperliquid-xsec` / `-xsec-blend` / `-xsec-dispgate` / `-xsec-universe-expansion` / `-trend-multiasset`. - **PORTAFOGLIO ATTIVO = TP01 (33%) + XS01 (15%) + VRP01 (12%) + SKH01 (20%) + GTAA01 (20%)** (`src/portfolio/sleeves.active_sleeves`): TP01+XS01 combinato **FULL Sharpe 1.55, HOLD-OUT 1.55, DD 4.4%**. Aggiunto **VRP01** (options short-vol, sotto): TP01+VRP01 da solo fa FULL Sh 1.30→1.44 / HOLD 0.31→0.40 a peso 20%. **Aggiunto SKH01-V2-DD @25% effettivo (2026-06-23, sotto)**: 4-sleeve **FULL Sharpe 1.68→2.13, HOLD-OUT 1.63→2.30, DD full 14.3%→7.8%** (Skyhook quasi-ortogonale, corr ~0.09). **Aggiunto GTAA01 @20% effettivo (2026-07-01, i 4 preesistenti scalati ×0.80):** trend difensivo equity 6-ETF su IB (`src/portfolio/gtaa.py`, ~30 anni storia, validato 2026-06-22 su OOS equity 2015+ INDIPENDENTE dall'hold-out crypto, corr al book ~+0.10) → 5-sleeve **FULL Sharpe 2.12→2.24, HOLD-OUT 2.21→2.46, DD full 7.8%→6.2%** (costo dichiarato: CAGR full 23.3→18.8%; 2022 unico anno con dSh−). Uplift positivo in-sample E su tutte le finestre disgiunte (vs EW-STR refutato lo stesso giorno). Convenzioni: weekend/festivi equity = 0.0 (capitale IB fermo, non riciclato); attivazione nel book all'era crypto 2019-03; **il book live Deribit (`deribit_book_sleeves` TP01+SKH01 75/25) NON lo include** (GTAA in paper_combo dal 2026-06-23). Test `tests/test_gtaa_sleeve.py`; diario `2026-07-01-strategy-wave-6threads.md` (addendum GTAA). Report `scripts/portfolio/run_portfolio.py`. Sleeve a date d'inizio diverse → outer-join con pesi rinormalizzati (TP01/SKH01/GTAA dal 2019*, VRP dal 2021, XS dal 2024; *GTAA troncato all'era book). ⚠️ **ANCHOR-LUCK del book — MISURATO 2026-07-26 (la stima del 02/07 era ottimista su 3/3).** I numeri canonici sono calcolati con TUTTI e cinque gli sleeve alla loro ancora canonica. Il 02/07 la correzione fu **stimata a occhio** sommando le fortune marginali (HOLD ~1.9-2.1, FULL ~2.0-2.2, "DD ~6% invariato"); il 26/07 è stata **misurata sullo spazio congiunto** (24×10×7×23×5 = 193.200 configurazioni, 2000 estrazioni uniformi indipendenti, `r0726_loo_deluck.py`): | | canonico | pctl | **stima onesta = mediana** | banda p10-p90 | |---|---|---|---|---| | Sharpe FULL | +2.222 | 97.0° | **+1.95** | [1.81, 2.12] | | Sharpe HOLD-OUT | +2.364 | **99.6°** | **+1.54** | [1.11, 1.91] | | maxDD FULL | 6.07% | 12.0° | **6.85%** | [5.99, 7.94] | **Solo 9 estrazioni su 2000 battono l'hold-out canonico.** Il book resta positivo e diversificato a ogni ancora, ma **i numeri da citare sono 1.95 / 1.54 / 6.85%**, non i canonici. ⚠️ **Lezione: la somma delle fortune marginali NON è la mediana congiunta** — sbagliava di +0.82 di Sharpe hold-out, più di quasi tutti gli uplift per cui in questo progetto si è discusso se ammettere uno sleeve. Quando serve la banda di un AGGREGATO si campiona lo spazio congiunto; gli audit uno-sleeve-alla-volta (02/07, 03/07) restano validi per giudicare *quello* sleeve. Diari `2026-07-02-anchor-audit-xs01-skh01.md` (originale) e `2026-07-26-loo-deluck.md` (misura). 🚨 **«POSITIVO IN N/N ANCORE» NON E' N OSSERVAZIONI — misurato 2026-08-23, e tocca OGNI bullet di questo file che cita una banda d'ancora.** Correlazione media fra le **24 ancore di TP01 0,631 → N_eff 1,55**; fra le **10 fasi di XS01 0,790 → N_eff 1,23**. **E non si salva sulla differenza appaiata:** la componente comune **non si cancella** (corr 0,593 → N_eff 1,64-2,24) — era l'attesa a priori del critico ed e' stata **REFUTATA**. Sulla stessa grandezza, la **banda d'ancora e' 4,3x piu' stretta dell'IC95 bootstrap, che CONTIENE LO ZERO** (su XS01 il rapporto e' 3,8x: due misure indipendenti, stesso fattore ~4). ⚠️ **Cio' che NON significa: che i verdetti cadano.** Le decisioni prese con l'audit d'ancora poggiano anche su iso-vol, maxDD, selection-on-holdout ed edge lordo. **Cade la PRECISIONE dei numeri, non la DIREZIONE delle decisioni.** **REGOLE:** (a) «N/N ancore» si cita come **robustezza alla SCELTA dell'ancora**, ~2 osservazioni indipendenti — **non come N prove**; (b) **la banda d'ancora NON e' un intervallo di confidenza** e non va usata al posto di uno; (c) **non attaccare un p-value a un conteggio di ancore o di finestre sovrapposte** (caso preso in fallo: un «test dei segni 12/12, p=0,0005» su finestre 30g sovrapposte *e* selezionate come le peggiori). - **SKH01-V2-DD "Skyhook" — DIVERSIFICATORE quasi-ortogonale (research)** — `src/strategies/skyhook.SKH01_V2_DD`, sleeve `src/portfolio/sleeves._skyhook_returns`. Sistema dual-TF (segnale 690m / exec 230m) regime (BuzVola/BuzVolume tipo-Chande) AND pattern (Donchian breakout), NON trend-follower, L/S. Vincitrice di 2 onde multi-agente (la 2ª = DD-reduction): exit a **percentuale fissa ASIMMETRICA** (long sl4%/tp10%, short sl2%/tp8% più stretto) → standalone **maxDD BTC 21% / ETH 27% (<30%)**, minFull +0.99, minHold +1.26, causale (0/400), fee-surviving 0.40%RT. Marginal vs TP01 **ADDS** (corr 0.09, has_insample_edge, robust_oos multicut 7/7, is_hedge=False); blend 0.75·TP01+0.25·SKH **hold-out 0.31→1.17**. Verificato leak-free + 2 scettici. **CAVEAT:** equity daily-step (Sharpe lens), ETH DD margine sottile, book 230m (costi ribilanciamento da verificare a deploy) → research win, forward-monitor. Diario `2026-06-23-skyhook.md`. ⚠️ **GRID TIMING-LUCK (2026-07-02, più forte di TP01):** i numeri headline sono sull'offset 0 della griglia 230m/690m, al **93-98° pctl dei 23 offset a priori** — minHold +1.26, blend 1.17 e book HOLD 2.44 sono il MASSIMO dei 23 (mediane: minHold +0.39, blend 0.72, book 1.96); spike, non plateau (±30m crolla); P(spike)≈0.70. **Il gate DD<30% (criterio di selezione di V2-DD) fallisce in 15/23 offset** (mediana ETH 29.2%). Regge de-luckato: uplift blend positivo a TUTTE le 23 fasi (min +0.18, med +0.42) + corr 0.05-0.11 → ADDS sopravvive ridimensionato. **LIVE (SKH=25% del book Deribit):** path reale cron orario + exit software → book 50/50 FULL 1.46→1.19 / HOLD 1.64→1.15 / DD 18→25%; nei crash gap-through-stop reale (sl2% modellato → −11/−23% realizzato). Pesi/book INVARIATI (ogni cambio passa weights_tilt_null). **Follow-up CHIUSO 2026-07-24** (`scripts/research/r0724_skh_live_weight.py`): sul path live (lente hourly, 23 offset) il peso ottimale de-luckato È 0.25 (argmax mediana-IS di banda, plateau 0.20-0.30; w=0.30 passa il gate solo a off0 = ancora fortunata, fallisce a offset mediano) e la cadenza 230m vale ~+0.01/+0.02 Sh mediano (rumore: il degrado live è il fill-al-livello, ~+0.35 Sh, che nessun cron recupera) → **book 75/25 e cron orario CONFERMATI**; diario `2026-07-24-skh-live-weight.md`. Script `scripts/research/r0702_anchor_skh01.py`; diario `2026-07-02-anchor-audit-xs01-skh01.md`. - **VRP01 Options Short-Vol — DIVERSIFICATORE da FinanceOld/OptionsAgent** — `src/portfolio/sleeves._vrp_combo_returns`. Put credit spread settimanale (vendi put -0.28, compra put -0.10) gated su IV-rank. Idee portate da `../FinanceOld/OptionsAgent` (Bear Call Spread + gate d'ingresso). Migliora il lead VRP nudo (options_vrp_lab): **(a) defined-risk** taglia la coda (worst-week -16.6%→-7.4%, DD 33%→14%); **(b) gate IV-rank>0.30** = vendi vol solo ricca → ribalta HOLD-OUT da -0.25 a +0.28 (l'alpha è il filtro di regime). Standalone **FULL Sh 1.10, HOLD 0.60, DD 12%**, positivo/piatto ogni anno (2022 crash incluso). Scorrelato a TP01 (~+0.01-0.07). **CAVEAT:** premio MODELLATO su DVOL ATM (skew non esplicito), book a 1d, f di stress reale non catturato → LEAD robusto, non deploy pieno. Ricerca `scripts/research/options_vrp_v2.py` (vs baseline `options_vrp_lab.py`). Test `tests/test_vrp_sleeve.py`. ⚠️ **ANCHOR-AUDIT CHIUSO + ondata "migliora e proteggi" (2026-07-03, 7 filoni + 2 lenti + scettico): VRP01 NON è migliorabile e la protezione DD si compra SOLO con la size.** (a) **Anchor-luck (ciclo settimanale, 7 fasi): PRIMO sleeve SENZA firma di luck** — la fase canonica è la PEGGIORE delle 7 su FULL (1.09 = 7° pctl) e su DD (11.8% = 93° pctl), mediana su HOLD (0.59); spike bootstrap NEGATIVO → i numeri di ammissione FULL 1.10/HOLD 0.60/DD 12% sono CONSERVATIVI, non gonfiati. Da ora si citano con banda: ShFULL [1.09,1.83], ShHOLD [−0.03,1.11], DD [5.7,11.8%]; edge OOS f-dipendente (f=0.8 → HOLD~0). **Con questo l'audit anchor è completo su 4/4 sleeve ancorati.** (b) Griglia 288 strutture: nessuna batte VRP01 (DSR 0.000; metà griglia = 3ª occorrenza "0-perdite/Sharpe implausibile" dopo CC01/ALB-A → gate `implausible_sharpe` alzato di priorità). (c) 4 overlay DD (exit-spike/SL-MTM/ ala-coda/cooldown): 4/4 REFUTED dal null de-levering — la protezione crash vive già nel gate d'ingresso IV-rank. (d) Gate nuovi: 4° fallimento su 4 (l'alpha è il binario IV-rank>0.30). (e) Sizing: 12% deploy ≈ 0.27 Kelly onesto (anti-rovina); ⚠️ NON confondere col 12% di PESO del book (~0.014 Kelly, fattore 19x). (f) Gate term-structure VIX/VXV su SPX (ΔSh +0.90, DSR 0.992) = **confound di modello al 100%** (la var del gate coincide con l'errore BS-flat vs term-structure) → nuova regola: riprezzare term-structure-consistent prima di credere a un gate vol su strutture BS-flat. Book/pesi INVARIATI. Diario `2026-07-03-vrp-improve-dd.md`; script `scripts/research/r0703_vrpimp_*.py` (7 file). Diario `2026-06-20-financeold-analysis-vrp-v2.md`. ⚠️ **f MISURATO SULLE QUOTE REALI = 0.73, NON 1.0 (2026-07-30) — i numeri di ammissione vanno citati col f.** Primo confronto del prezzatore del sleeve con la catena Deribit mainnet vera (`scripts/research/r0730_vrp_real_quotes.py`, dati cerbero-bite). Su 8/8 scadenze settimanali con ENTRAMBE le gambe quotate (delta realizzati −0.270/−0.099 contro target −0.280/−0.100), agli STESSI strike: **f del credito NETTO 0.73** (IC95% bootstrap [0.698, 0.780], **0/15 osservazioni ≥1.0**; 0.80 a mid). **Meccanismo, non rumore:** IV(corta)−DVOL **+0.8pp** ma IV(lunga)−DVOL **+7.5pp** → il modello prezza a vol ATM anche l'ala che si COMPRA, che costa **~2.3× il modello** → il credito netto si comprime del 27%. **Il difetto non è nel premio incassato ma nella protezione comprata**, cioè proprio il "(a) defined-risk" per cui v2 fu promosso. **Conseguenza standalone (solo f cambiato):** f=1.00 → FULL 1.08 / HOLD **+0.58**; f=0.80 → 0.51 / **−0.02**; f=0.73 → 0.31 / **−0.23**. **Book 5-sleeve** (VRP01 12%, ancore canoniche): FULL 2.215→2.146 (Δ−0.069), HOLD 2.347→2.244 (Δ−0.103), DD invariato → **dentro la banda d'ancora**, ma il LOO del 26/07 dava a VRP01 +0.122 di FULL: **~metà era il prezzo che il modello si faceva da solo** (l'audit d'ancora corregge la fortuna di calendario, non l'ottimismo di prezzo). ⚠️ **La calibrazione del 20/06 NON è contraddetta, è replicata:** misurava la **sola gamba corta** (qui 1.02, implementazione indipendente). **REGOLA: il f di una struttura multi-gamba non è il f di una sua gamba — misurare la sola gamba venduta dà la risposta sbagliata con segno rassicurante.** Congelata in `tests/test_cb_chain_vrp.py`. ✅ **PROFIT-TAKE al 50% del credito — REFUTED (2026-07-30, 3° filone).** `scripts/research/r0730_vrp_profit_take.py`, test `tests/test_vrp_profit_take.py` (16), diario `2026-07-30-vrp-profit-take.md`. **Book/pesi/cron/config INVARIATI.** VRP01 tiene FINO A SCADENZA (`S1 = px[i+tn]`, nessuna gestione infra-settimana) e il profit-take era l'unico grado di liberta' non misurato: gli overlay del 03/07 erano tutti sul lato del RISCHIO. Replica del sleeve **bit-exact** (max|diff| = 0.0) prima di ogni delta. Esito con **fee reali per gamba**: canonico ShFULL **1.32** → PT25 0.22 / **PT50 −0.18** / PT75 −0.45; **null del de-levering REFUTED 6/6** (a PT25 basta k=0.818 per lo stesso DD con Sharpe 1.32 invece di 0.22). **Meccanismo (confronto appaiato per ingresso):** scatta sull'**86-91% dei VINCENTI** e sul **19-25% dei perdenti** → tronca i vincenti del **27%** e salva un perdente su cinque; la **peggior settimana e' IDENTICA** (−7.27%) in ogni variante = pura troncatura dell'upside. ❌ **Ipotesi mia refutata in sessione:** "su 7g chi tocca +50% e' chi sarebbe scaduto senza valore, quindi a scadenze lunghe paga" — testata su 7/10/14/18/21/28g, **ΔSh negativo a tutti e sei** (a 18g, il tenore di cerbero-bite, il DD migliora 7.1→3.8% ma lo Sharpe crolla = firma del de-levering). ⚠️ La colonna `Sh hold` di quello sweep **NON e' un risultato** (6 celle sul campione pieno); il tenore >10g resta un buco reale della griglia 03/07, da chiudere con `study_family_honest`, non con uno sweep. **Con questo gli overlay refutati su VRP01 sono 5/5.** ⚠️ **CORREZIONE a un numero pubblicato lo stesso giorno:** il sleeve modella le fee come 12.5% del credito NETTO, il listino vero e' **0.03% del sottostante per gamba** (cap 12.5% del premio della singola opzione, che quasi mai morde) → il modello **sovrastima le fee di ~2x**. Sleeve ufficiale 1.08/0.58/DD 11.8% vs fee reali **1.32/0.82/DD 10.5%**. Quindi il numero onesto di VRP01 con **f=0.73** e' **ShFULL 0.47 / DD 14.5%, non 0.31** (che era calcolato col forfait). `fee_frac` **NON cambiato**: il forfait e' conservativo e questo progetto tiene i numeri di ammissione conservativi. **Rientro immediato** dopo l'uscita: Sh 1.19 < 1.32 canonico; il suo ShHOLD 2.42 non e' selezionabile in-sample → **non e' un lead**. ✅ **BUCO DEL TENORE CHIUSO col gate onesto (2026-07-30, 4° filone) — nessun cambio.** `scripts/research/r0730_vrp_tenor_gate.py`, test `tests/test_vrp_tenor_gate.py` (12), diario `2026-07-30-vrp-tenor-gate.md`. La griglia 03/07 si fermava a **10g**; qui la famiglia e' stata **dichiarata prima di guardare**: 8 tenori (5-35g) x 3 delta corti x 3 lunghi = **72 celle** (riaprire il tenore riapre la struttura → i trial si contano al RIALZO). ⚠️ `study_family_honest` e' cablato sui candidati DIREZIONALI (`factory -> target_fn` via `candidate_daily`), quindi sono stati usati i suoi **tre componenti reali**: selezione in-sample-only → `altlib.deflated_sharpe` → `altlib.marginal_vs_tp01` (importati, non riscritti; c'e' un test d'identita'). **Esito: `earns_slot_honest = False`.** Cella scelta al buio **10g −0.28/−0.05** (Sh IS 1.75 / FULL 1.55 / HOLD 1.01 / DD 9.6%) contro il canonico 7g (1.50/1.32/0.82/10.5%; rango **17/72** in-sample, 26/72 full) → batte il canonico, ma **DSR 0.948 < 0.95 FAIL** (il canonico stesso fa 0.885 dentro questa famiglia). `marginal_vs_tp01` = **ADDS** per entrambe → il verdetto non e' "VRP01 e' rotto", e' che il vantaggio non sopravvive al conto dei trial. 📌 **Il buco si chiude meglio sul contenuto che sul gate: la regione MAI esplorata PERDE.** Miglior cella >10g = 18g −0.28/−0.05, **rango 8/72**, e solo **3/10** della top-10 stanno oltre i 10 giorni → lo studio **conferma** il 03/07 invece di ribaltarlo. ❌ **"Il vincitore sta dove il modello sbaglia di piu'" — MIO ARGOMENTO, MISURATO E REFUTATO LO STESSO GIORNO** (5° filone, sotto): l'ala a δ−0.05 e' molto piu' mispriced in RELATIVO (f_long **5.85** contro 2.23) ma pesa il **3.2%** del premio corto invece del **18.4%**, quindi sul credito NETTO l'effetto e' MINORE → f_net **0.852** contro **0.718**: il candidato ha un f **migliore**, non peggiore. Meccanismo giusto, conclusione rovesciata. **La decisione (nessun cambio) regge, ma su tre gambe invece di quattro:** gate DSR, regione nuova perdente, ineseguibilita' sotto ~$2.6k. ⚠️ **Robustezza del verdetto, pubblicata:** DSR **0.983 PASS a N=8** / **0.948 FAIL a N=72** / 0.909 a N=360 → **il verdetto si ribalta col conteggio**. La griglia era dichiarata in anticipo e il conto fatto al rialzo, ma **fallisce per 0.002**: si cita come tale, non come refutazione netta. Congelato in `test_il_verdetto_dipende_dal_numero_di_trial_dichiarati`. **Seguito giusto = una MISURA, non un altro backtest:** quanto vale f sul 10g/−0.05 sulle quote vere (la catena ora la raccogliamo noi ogni ora; oggi 15 osservazioni sul solo canonico). **REGOLE:** (a) quando si riapre un parametro si riapre la sua **famiglia**, e il deflated-Sharpe e' l'unico posto dove barare e' indolore e invisibile; (b) dichiarare la griglia **prima** e pubblicare la **sensibilita' del verdetto al conteggio**; (c) un buco si chiude meglio mostrando che dentro **non c'e' niente** che bocciando il candidato; (d) se la selezione converge dove un difetto di modello e' gia' misurato, **il sospetto vale piu' del numero** — e si dice che e' un sospetto. ✅ **f MISURATO SULLE STRUTTURE, e sorvegliante cablato (2026-07-30, 5° filone).** `scripts/live/vrp_f_watch.py` (in `cron_daily.sh`), test `tests/test_vrp_f_watch.py` (11), diario `2026-07-30-vrp-f-strutture.md`. **Book/pesi/config INVARIATI.** Il campione c'era gia': **8 scadenze utilizzabili per asset su 8**, entrambe le strutture, 16 osservazioni ciascuna. | struttura | f_short | f_long | quota ala/corta | **f_net** | |---|---|---|---|---| | canonico 7g δ−0.10 | 1.013 | 2.233 | 18.4% | **0.718** | | candidato 10g δ−0.05 | 0.972 | **5.846** | **3.2%** | **0.852** | Aritmetica che rende ovvio l'errore: `f_net = (f_short − k·f_long)/(1 − k)` con `k = premio_lungo/premio_corto` → **un f_long grande fa danno solo moltiplicato per un k grande**. ⚠️ Artefatto di tick ESCLUSO prima di crederci: l'ask dell'ala sta a **22 tick** mediani (min 15, **0%** a ≤2 tick). **La DIFFERENZA non e' stabilita:** appaiata per (asset, scadenza) fa **+0.109 IC95 [−0.047, +0.193]**, 11/16 positive → **contiene lo zero**. ✅ Replica indipendente del canonico (**0.718** per un percorso con finestra DTE e pairing diversi da quello che dava 0.73). Al proprio f: canonico **0.43**, candidato **1.18**. **CRITERIO PRE-REGISTRATO (dichiarato prima del campione pieno, congelato in un test): ≥40 coppie E ampiezza IC95 ≤0.12** (oggi 16 e 0.241) → prima gamba verso **fine ottobre 2026**; il sorvegliante rifa' la misura ogni giorno e **notifica una volta sola** quando basta (lezione DVOLSPREAD: un lead senza sorvegliante e senza data e' un lead perso). ⚠️ **Calibrazione della soglia verificata prima di fidarsene:** con differenza vera nulla lo zero e' escluso nel **5.0/4.0/3.0%** dei casi a n=16/40/60 = il 5% atteso. (Il test iniziale su seed fisso falliva perche' quel seed era uno dei 5% legittimi → sostituito con un test sulla PROPRIETA', 100 estrazioni.) **NON promuove nulla:** il candidato resta bocciato sul deflated-Sharpe, che non dipende da f. **REGOLE:** (a) **un fattore di errore si giudica moltiplicato per il suo peso** — 5.85 al 3% fa meno danno di 2.23 al 18%, e guardare il fattore senza il peso da' la conclusione opposta a quella vera; (b) prima di credere a un rapporto estremo su un prezzo piccolo, **contare i tick**; (c) una soglia sull'ampiezza di un IC richiede di **verificare la copertura** di quell'IC; (d) *"non abbastanza campione" non e' "nessuna differenza"* — si aspetta con una data. 💰 **A $3.000 la domanda non e' il rendimento** (`min_trade_amount` letti dal venue il 30/07): ~~**BTC min 0.1 = $6.210 di collaterale/lotto → FUORI**; ETH min 1 contratto = $1.832 → **1 lotto**.~~ 🚨 **CORRETTO 2026-08-23 (§50): misurato sulla famiglia INVERSE, che un conto USDC non puo' marginare.** Sulla **USDC-lineare** il lotto ETH e' **$242** e il BTC **$772** (7,5x piu' piccoli) ⇒ 1 lotto ETH copre il peso di book 12% gia' da **~$2.000**, e il BTC da ~$6.440. **CADE IL LOTTO, NON LA REGOLA:** *niente short-vol da modello in deploy* non ha mai avuto bisogno di un muro di taglia. **5ª occorrenza dello schema `fee_watch`** — un numero misurato su una configurazione diversa da quella che gira. Il sleeve 50/50 **diventa ETH-only**, e **al peso di book (12% = $360) sono 0 lotti** — servirebbe il **61% del conto** su un solo sleeve. **REGOLE:** (a) un'uscita si giudica su un confronto **appaiato per INGRESSO**, mai allineando le serie sulla data di USCITA — e' proprio quella che la variante cambia, e l'inner-join tiene solo i casi in cui non e' successo niente (errore commesso e corretto in sessione, 3ª occorrenza della trappola dopo venue-watch e GTAA; congelato in un test); (b) **una regola d'uscita che scatta piu' spesso sui vincenti che sui perdenti non e' protezione, e' troncatura** — si vede in una riga, la peggior settimana non cambia; (c) prima di misurare il rendimento a un capitale dato, misurare il **lotto minimo del venue**. **`VRP_CFG["f"]` NON cambiato** (15 osservazioni, 7 settimane, e per giunta **0/8 settimane passano il gate IV-rank>0.30**: il f è misurato nel regime in cui il sleeve sta FLAT, DVOL max raccolto al 24°/28° pctl della storia) → **caveat quantificato, non nuovo parametro**; il criterio del 19/06 ("rivalutare quando cerbero-bite cattura un crash") è **intatto**. ⚠️ **Il DD 12% è un DD di CHIUSURE settimanali:** con le standing quotes (~164 riquotazioni/trade) il peggior mark INFRA-settimana è mediana −6.9% / minimo **−81.7%** del capitale su un trade finito in utile, e il 50%-profit-take sarebbe scattato in **13/15** settimane. Stessa classe della lente wick accoppiata (25/07): *un rischio valutato sul minimo non si misura sulle chiusure*. Diario `2026-07-30-vrp-quote-reali.md`. - **Universo Hyperliquid: ESPANDERLO NON aiuta XS01** (provato): 52-asset / top-liquidità dinamico / trend-multi-asset → tutti peggiori (small-cap/memecoin diluiscono il momentum relativo; il trend multi-asset è ridondante con TP01, corr 0.74). I margini su XS sono nella STRUTTURA DEL SEGNALE (blend + gate), non nel numero di asset. I **51** parquet certificati restano per ricerca futura. ⚠️ Il test "52-asset = negativo" era in parte inquinato dal backfill sintetico (AXS 83%, ALGO/SAND 37% di barre vol=0) poi rimosso — vedi correzione estrazione 2026-06-20 sotto; resta comunque vero che il long-tail diluisce XS01, ma il numero netto post-fix è 51. - ✅ **XSR01 "Cross-Sectional Residual" — CANDIDATO NUOVO in forward-monitor (2026-07-25).** `scripts/live/paper_xsr.py`; scoperta `r0725_statarb_basket_gate.py`, scettico `r0725_statarb_demean_skeptic.py`, gate `r0725_xsr_deploy_gate.py`, test `tests/test_paper_xsr.py`. **Cos'e':** il meccanismo congelato di STATARB-RESID (W=45, sgn=+1, residuo OLS causale su BTC, z-score, tanh, vol-target 20%) applicato ai **50 alt HL**, con posizioni **DEMEANATE cross-sezionalmente** ogni giorno. Il demeaning annulla ALGEBRICAMENTE la gamba BTC comune (`sum(p_i−p̄)(r_i−r_btc) = sum(p_i−p̄)r_i`) → non e' un paniere di coppie ma una **strategia cross-sectional dollar-neutral**, e l'ampiezza effettiva passa da **4.5 a 37.4**. **Numeri (2.6 anni):** Sharpe netta **1.82** (lorda 2.70), maxDD **−2.6%**, vol 2.3%, ret 4.2%/a. **Gate superati:** marginale **ADDS** (robust_oos + beats_noise_null + non-hedge + has_insample_edge); **deflated-Sharpe 0.985 PASS**; **corr ~0 a TUTTI e 5 gli sleeve** (TP01 0.060, XS01 −0.019, VRP01 −0.001, SKH01 0.001, GTAA01 0.071); book a w=15% HOLD 2.36→**2.51**, DD invariato. **Scettico superato:** 3 null **a fee-neutrale** (permutazione cross-sezionale / casuale / temporale a blocchi) centrati a ~0.01, candidato lordo 2.70 **sopra il massimo di 300 estrazioni** (p<0.004); **lag 1.82/1.19/0.81/0.51** a +0/1/2/3g = decadimento dolce di segnale lento, NON firma di look-ahead; non ridondante con XS-momentum semplice (corr 0.17-0.29). **NON nel book, 3 motivi dichiarati:** (a) storia 2.6a monoregime e **crescente** (Sh 2024 1.03 / 2025 1.98 / 2026 3.11) → l'edge e' recente; (b) **`weights_tilt_null` FALLITO** (gate_pass=False a 10% e 15%, delta_insample −0.004/−0.007: effetto della storia corta, ma un gate fallito resta fallito); (c) **margine di costo sottile** — 1.82 a 0.05%/gamba, **0.93 a 0.10%, NEGATIVA a 0.20%**, con turnover 38.5% del lordo/g su 50 alt anche illiquidi e **slippage NON modellato** (rischio #1). **Eseguibilita':** ticket/gamba $1.73 a $600 (**sotto min-order $5 → STAT-MODE oggi**), $5.76 a $2000, **$14.41 a $5000** → diventa reale a **~$5k**, non ai ~$20k di XS01. 🚨 **IL GATE QUI SOTTO LEGGE UN MONITOR MAL TARATO (misurato 2026-08-23, §67): il pavimento del venue usato per l'haircut e' quello sbagliato — C\* vero $15.000-20.000, non i ~$3.000 riportati da HL-EXEC con un criterio piu' permissivo.** Le soglie **NON sono state toccate**: cambiarle guardando questa misura a due mesi dalla decisione sarebbe selection-on-holdout. Le due vie pulite: riscriverle **adesso** dichiarando che le si riscrive prima di vedere l'esito, oppure lasciarle e **citare il difetto al momento della decisione**. **Decisione dell'operatore.** **Gate pre-registrato 2026-10-23** (forward-day 0): deploy solo se Sharpe≥1.0 **E** haircut di eseguibilita' a $5000 ≤40% (se l'haircut sfonda → **RITIRO a prescindere dallo Sharpe**), poi weights_tilt_null e capitale ≥$5k. Monitor in `cron_daily.sh`, 3 libri (MODELED $2000 / REAL $600 / REAL $5000). ⚠ Lezione: XSR01 **non e' nato da un'idea nuova ma dalla DIAGNOSI di un fallimento** (ampiezza effettiva 4.5 → c'e' un fattore comune da togliere); e i suoi null vanno confrontati **a fee zero**, perche' permutare un segnale ne fa esplodere il turnover e il null perderebbe per costo invece che per assenza di informazione (p-value trionfale e falso). - **Soffitto strutturale BTC/ETH-direzionale ~1.3** superato SOLO espandendo a un meccanismo diverso: cross-sectional su universo Hyperliquid certificato (XS01) → portafoglio Sharpe ~1.55.