# 2026-07-26 — "Quale strategia terrei?" — leave-one-out del book DE-LUCKATO sulle ancore **Richiesta:** *"dimmi qual strategia pensi di tenere"*. **Script:** `scripts/research/r0726_loo_deluck.py` — **test:** `tests/test_loo_deluck.py` (9). **Book, pesi, cron, config: INVARIATI.** Nessuna decisione di allocazione cambia. Cambia invece un **numero documentato in CLAUDE.md** (§4) e cambiano **due giudizi che avevo dato un'ora prima nella stessa sessione** (§3). --- ## 0. Perche' la risposta ovvia non vale La domanda "quanto vale ogni sleeve al suo posto nel book" ha una misura ovvia: togli lo sleeve, guarda quanto cala il book. L'ho fatta, e alla prima lettura diceva questo: ``` BOOK COMPLETO FULL +2.222 HOLD +2.364 maxDD 6.07% tolto dFULL dHOLD dDD TP01 (33%) +0.280 -0.219 +0.24pp XS01 (15%) +0.142 +0.640 +0.25pp VRP01 (12%) +0.087 +0.064 +1.08pp SKH01 (20%) +0.432 +0.652 +1.64pp GTAA01 (20%) +0.120 +0.244 +1.70pp ``` Letta cosi', SKH01 e' il motore del book e TP01 e' un peso morto sull'hold-out. **Entrambe le letture sono sbagliate**, e il motivo era gia' scritto nel progetto il giorno prima: > *se si de-lucka una strategia va de-luckato anche il suo DEGRADO* — ogni Δ fra due varianti > misurato a un'ancora sola eredita la fortuna di quell'ancora. > (lezione 26/07, codificata in `altlib.anchor_luck_delta`) Un leave-one-out **e' esattamente un Δ fra due varianti**. E qui il problema e' al quadrato: 4 sleeve su 5 sono ancorati, e per 3 di loro l'ancora canonica era gia' stata misurata come fortunata (TP01 92° pctl su 24 ancore, SKH01 93-98° su 23 offset, XS01 fase 0 al 15° pctl di DD). VRP01 e' l'unico senza firma — la sua fase canonica e' la **peggiore** delle 7. --- ## 1. Il metodo: estrazioni CONGIUNTE, non una griglia per sleeve Gli audit del 02/07 e del 03/07 hanno de-luckato **uno sleeve alla volta**, tenendo gli altri alla loro ancora canonica. Va bene per giudicare quello sleeve; non basta per giudicare il **book**, perche' i numeri del book sono calcolati con tutti e cinque alla canonica insieme. Spazio di luck congiunto: **24 (TP01, ancore orarie) x 10 (XS01, fasi H=10) x 7 (VRP01, fasi settimanali) x 23 (SKH01, offset di griglia 230m/690m) x 5 (GTAA01, fasi della cadenza settimanale) = 193.200 configurazioni.** Non enumerabile: si campiona. **2000 estrazioni uniformi e indipendenti** (seed 20260726). Uniformi-indipendenti e' il null onesto: non avevamo nessuna ragione a priori di preferire un'ancora a un'altra — se ce l'avessimo avuta, sarebbe stata parte della strategia. Per ogni estrazione: book completo + i 5 leave-one-out, **tutti alla stessa configurazione d'ancora**. La statistica e' la **mediana delle differenze appaiate**, mai la differenza delle mediane (l'errore che il 26/07 aveva ribaltato il verdetto sul recupero on-book di SKH01: le due mediane cadono su ancore diverse). **Repliche riusate, non riscritte.** I quattro generatori ancorati vengono dagli audit che li hanno gia' verificati bit-exact (`r0702_tp01_offset.daily_off`, `r0702_anchor_xs01.xs_phase`, `r0703_vrpimp_anchor.combo_weekly`, `r0702_anchor_skh01.skh_port`). Riscriverli avrebbe voluto dire rifare gli stessi errori di convenzione. L'unico pezzo nuovo e' la fase di GTAA01 (`i % REBAL_EVERY == ph` invece di `== 0`), ed e' l'unico coperto da test dedicato. **Sanity obbligatorio prima di tutto** — ogni replica ancorata deve riprodurre lo sleeve di **produzione** alla sua ancora canonica, altrimenti sto misurando un'altra strategia: ``` TP01 ancora 0 max|dif| = 0.0e+00 (n=2692) OK XS01 ancora 0 max|dif| = 0.0e+00 (n=938) OK VRP01 ancora 0 max|dif| = 0.0e+00 (n=1884) OK SKH01 ancora 0 max|dif| = 0.0e+00 (n=2690) OK GTAA01 ancora 0 max|dif| = 0.0e+00 (n=2690) OK ``` Costo totale: 69 serie, ~8s di precalcolo, 34s per le 2000 estrazioni. --- ## 2. Il livello del book: i numeri pubblicati stanno in cima alla banda ``` canonico pctl MEDIANA p10 p90 fortuna Sharpe FULL +2.222 97.0% +1.946 +1.807 +2.116 +0.276 Sharpe HOLD-OUT +2.364 99.6% +1.542 +1.109 +1.910 +0.822 maxDD FULL 6.07% 12.0% 6.85% 5.99% 7.94% -0.78% ``` **L'hold-out canonico sta al 99.6° percentile dello spazio d'ancora: solo 9 estrazioni su 2000 fanno meglio.** La stima onesta e' **1.54**, con banda [1.11, 1.91]. ⚠️ **Un "100%" che ho dovuto correggere.** La prima stampa dava `pctl 100%` — arrotondamento di 99.55% con un `%.0f`. In un artefatto di ricerca un 100% stampato significa "e' il massimo, punto" e avrebbe fatto concludere a una sessione futura qualcosa di piu' forte del vero. Verificato a mano (max fra le 2000 = +2.577, a `TP01=0 / XS01=7 / VRP01=1 / SKH01=0 / GTAA01=3`), formato portato a 1 decimale. *Regola pratica: un percentile stampato senza decimali mente esattamente agli estremi, che sono l'unico posto dove lo si legge.* --- ## 3. Il leave-one-out de-luckato — e due giudizi miei ribaltati ``` dSharpe FULL canonico pctl MEDIANA >0 in TP01 33% +0.280 5.8% +0.390 100.0% SKH01 20% +0.432 99.0% +0.142 90.8% XS01 15% +0.142 76.8% +0.125 99.9% VRP01 12% +0.087 1.8% +0.122 100.0% GTAA01 20% +0.120 63.5% +0.115 100.0% dSharpe HOLD-OUT canonico pctl MEDIANA >0 in XS01 15% +0.640 63.4% +0.497 96.2% GTAA01 20% +0.244 17.3% +0.267 100.0% SKH01 20% +0.652 96.0% +0.190 85.5% VRP01 12% +0.064 47.4% +0.065 84.2% TP01 33% -0.219 39.5% -0.200 0.9% dMaxDD (pp, >0 = protegge) pctl MEDIANA >0 in GTAA01 20% +1.695pp 23.8% +1.999pp 100.0% VRP01 12% +1.075pp 55.6% +1.056pp 88.3% SKH01 20% +1.636pp 89.3% +0.322pp 64.0% TP01 33% +0.236pp 48.4% +0.274pp 62.1% XS01 15% +0.251pp 65.0% +0.000pp 43.0% ``` **SKH01 non e' il motore del book.** Del suo contributo apparente, l'ancora canonica regala **2/3 sul FULL** (+0.43 → +0.14), **70% sull'hold-out** (+0.65 → +0.19), **80% sulla protezione DD** (+1.64pp → +0.32pp). De-luckato e' indistinguibile dagli altri sul FULL ed e' **il meno affidabile dei cinque**: l'unico sotto il 91% di estrazioni positive su tutte e tre le metriche (91/86/64%). **GTAA01 non e' il primo da tagliare** (lo avevo detto un'ora prima, sulla lente canonica). E' **l'unico sleeve positivo nel 100% delle estrazioni su tutte e tre le metriche** e il miglior protettore di DD del book, al doppio del secondo. Non ha fortuna da restituire: il suo canonico sta *sotto* la mediana su FULL e DD. ⚠️ L'altra gamba di quel giudizio resta pero' intatta e indipendente: a $10k comprare ~€0.50/giorno sopra il risk-free con un maxDD del 10% e' caro, e sotto `GTAA_MIN_CAPITAL` = $3k lo sleeve non e' deployabile. **Attribuzione ≠ eseguibilita'.** **TP01 e' il maggior contributore, e il canonico lo SOTTOSTIMAVA** (+0.280 al 5.8° pctl → +0.390 de-luckato, positivo in 2000/2000, quasi 3x il secondo). Il suo hold-out negativo **non e' artefatto d'ancora**: e' negativo nel **99.1%** delle configurazioni. Le due cose insieme sono la storia dell'assicurazione, finalmente misurata invece che asserita — sul campione pieno (che contiene il 2022) e' il contributore piu' grande; nella finestra 2025-26 e' stato fermo mentre gli altri guadagnavano, e questo costa −0.20. **Giudicarlo sulla finestra in cui non e' servito significa venderlo esattamente prima che serva.** **VRP01** conferma per la seconda volta di essere l'unico senza firma di fortuna: canonico al **1.8° pctl** sul FULL, cioe' i numeri di ammissione erano *conservativi*. Secondo protettore di DD. **XS01** tiene il primo posto sull'hold-out anche de-luckato (+0.497), ma la sua protezione di DD e' **esattamente zero** (mediana 0.000, positiva nel 43% = moneta). E' un diversificatore di **rendimento, non di rischio** — e conta, perche' sul canale funded il vincolo binding e' il DD, non il CAGR (25/07 §4). **Correlazioni:** stabili sotto de-luck, tutte quasi-nulle. La sola sopra 0.1 e' TP01-GTAA01 (mediana +0.189, canonica +0.242). ### Il contrappeso che SKH01 ha diritto ad avere Questo de-luck penalizza SKH01 sul path **backtest** (chiusura di bin). Ma le due misure del 26/07 dicono che il **path live e' migliore del backtest su entrambi i lati**: ingressi +0.38 di Sharpe mediano, uscite +0.081 di Sharpe FULL di book. Applicare il de-luck senza quel contrappeso lo penalizzerebbe due volte. Verdetto onesto: **SKH01 vale meno dei suoi numeri di ammissione e piu' di questa tabella.** Quanto esattamente resta il follow-up gia' dichiarato e bloccato (serve la versione vol-targeted del path live di SKH01). --- ## 4. Correzione a CLAUDE.md La stima del 02/07 era **a occhio** — sommava le fortune misurate sleeve-per-sleeve. Oggi e' **misurata congiuntamente**, ed era ottimista su tutte e tre le metriche: | | stimato 02/07 | misurato 26/07 | |---|---|---| | HOLD-OUT | ~1.9-2.1 | **1.54** [1.11, 1.91] | | FULL | ~2.0-2.2 | **1.95** [1.81, 2.12] | | maxDD | "~6% invariato" | **6.85%** [5.99, 7.94] | L'errore non e' stato usare una stima: e' stato che una stima per somma di effetti marginali **non e' la mediana congiunta**, e la differenza (+0.82 di hold-out) e' piu' grande di quasi tutti gli uplift per cui in questo progetto si e' discusso se ammettere uno sleeve. --- ## 5. Cosa NON e' questa misura - **Non e' evidenza out-of-sample.** Il book e' valutato sugli stessi anni in cui XS01 e SKH01 sono stati scelti e affinati. E' attribuzione, de-luckata. - **Non e' un gate sui pesi.** Ogni proposta di cambio pesi passa da `weights_tilt_null`. Qui non si propone nulla: i pesi restano 33/15/12/20/20. - **Non e' una lente di eseguibilita'.** Dice quanto uno sleeve contribuisce al book modellato, non se lo si puo' comprare a $600 (GTAA01 sotto $3k e XS01 sotto ~$20k non si possono). --- ## 6. Risposta alla domanda **TP01**, se ne va tenuta una. Maggior contributore de-luckato (+0.390, 2000/2000), l'unico eseguibile davvero oggi a $600 senza haircut, e l'unico il cui valore dichiarato — il taglio del DD ~6x contro il buy&hold — **non e' ancorato** e regge a tutte le ancore testate. Tutto il resto dei suoi numeri e' gia' stato declassato (hold-out 0.31 → ~0.05); quello no. Le altre: **SKH01** si tiene al 25% e non un euro di piu'; **GTAA01** si tiene nel book modello (miglior protettore di DD) ma non nel live finche' non ci sono $3k su IB; **VRP01** si tiene come *metro* — e' l'unico i cui numeri sono onesti per costruzione; **XS01** non e' da tenere oggi, e' da accendere quando arriva il capitale (~$20k, o un conto funded, dove vale piu' di tutte). Il book live che gira — **TP01 75 / SKH01 25** — e' gia' questa risposta. --- ## 7. Regole trasferibili 1. **Un leave-one-out e' un Δ, quindi va de-luckato come ogni Δ.** L'attribuzione all'ancora canonica ha invertito la classifica su 2 metriche su 3. 2. **De-luckare uno sleeve alla volta non de-lucka il book.** La fortuna del book e' un fenomeno *congiunto*: la somma delle fortune marginali ha sbagliato di +0.82 di Sharpe hold-out. Quando serve la banda di un aggregato, si campiona lo spazio congiunto. 3. **Un percentile stampato a 0 decimali mente agli estremi**, che sono l'unico posto dove serve. 4. **La frazione di estrazioni positive dice piu' della mediana.** Fra +0.142 (SKH01, positivo nel 91%) e +0.115 (GTAA01, positivo nel 100%) la mediana preferisce il primo e l'affidabilita' il secondo — ed e' la seconda a decidere se ci si mette del capitale. 5. **Uno sleeve difensivo si giudica sul sinistro, non sul premio.** L'hold-out negativo di TP01 e' robusto (99.1% delle ancore) e *non* e' un argomento per ridurlo.