# 2026-07-01 — Pesi statici ri-ottimizzati + guardia-DD sul portafoglio a 4 sleeve ## Mandato Migliorare il portafoglio ATTIVO (TP01 41.25 / XS01 18.75 / VRP01 15 / SKH01 25) SENZA nuove strategie: (A) ri-ottimizzazione onesta dei pesi statici, (B) guardia-drawdown a livello portafoglio (replica del soft-guard vincente del tail-hedge lab 2026-06-23), (C) combinazione. NON meta-allocazione dinamica (già scartata, thread 3 del 2026-06-29). Script: `scripts/research/r0701_portfolio_opt.py`. Solo ricerca: nessun file di src/ o live toccato, i pesi sono PROPOSTI, non applicati. ## Baseline riprodotta `run_portfolio.py` oggi: **FULL Sh 2.12 / HOLD 2.21 / DD full 7.8% / CAGR 23.3%** (vs 2.13/2.30 del diario Skyhook: i dati sono avanzati di una settimana, coerente). Matrice sleeve outer-join 2019-03-14 → 2026-07-01 (TP01/SKH01 dal 2019, VRP01 dal 2021-05, XS01 dal 2024-01), combine identico a `portfolio.combined_daily` (pesi rinormalizzati per-riga sugli sleeve attivi). ## (A) Pesi statici — metodo - Ottimizzazione SOLO in-sample (pre-cut), valutazione OOS (post-cut), multi-cut {2024-01, 2024-07, 2025-01}. Sleeve con <120 giorni in-sample al cut (XS01 al 2024-01) PINNED al peso corrente (l'ottimizzatore non ha dati per giudicarli). - Criteri: MAXSH (max-Sharpe del combo simulato), RP (inverse-vol), ERC, MINVAR-R (min-var con vincolo ritorno ≥ pesi correnti). Null: EW (25×4) e CURRENT. Vincoli 5%≤w≤60%, Σ=1. - **Cap STRUTTURALI dichiarati** (prudenza, non statistica): **VRP01 ≤ 15%** (sleeve MODELLATO su DVOL ATM, stress-f non catturato — "niente short-vol da modello in deploy"), **XS01 ≤ 25%** (STAT-MODE, storia ~2.5 anni). Varianti sotto cap: MAXSH-STR (ottimizzato) e EW-STR (EW proiettato sui cap, parameter-free → TP 30 / XS 25 / VRP 15 / SKH 30). ### Risultati (pesi ottimizzati pre-2025, valutati FULL e HOLD-OUT 2025-26) | criterio | pesi TP/XS/VRP/SKH | FULL Sh | FULL DD | FULL CAGR | HOLD Sh | HOLD DD | HOLD CAGR | multi-cut ΔSh OOS | anni vinti | |---|---|---|---|---|---|---|---|---|---| | CURRENT | 41.2/18.8/15/25 | 2.12 | 7.8% | +23.3% | 2.21 | 3.5% | +16.0% | — | — | | MAXSH | 27.6/17.5/**39.5**/15.4 | 2.17 | 6.3% | +21.8% | 2.27 | 2.8% | +12.7% | +0.24/+0.08/+0.06 | **1/8** | | RP-invvol | 26.7/15.5/**41.6**/16.3 | 2.17 | 6.4% | +21.8% | 2.25 | 2.8% | +12.4% | +0.28/+0.07/+0.04 | — | | ERC | 26.6/16.2/**41.6**/15.7 | 2.17 | 6.3% | +21.7% | 2.25 | 2.8% | +12.4% | +0.29/+0.07/+0.05 | — | | MINVAR-R | 26.7/23.3/**29.6**/20.4 | 2.18 | 6.4% | +23.3% | 2.37 | 2.6% | +16.1% | +0.20/+0.10/+0.16 | 4/8 | | MAXSH-STR | 38.6/25/15/21.4 | 2.14 | 7.5% | +23.4% | 2.28 | 3.3% | +16.8% | **−0.00**/+0.03/+0.07 | 3/8 | | EW | 25/25/25/25 | 2.14 | 7.0% | +24.5% | 2.39 | 2.8% | +18.1% | +0.16/+0.17/+0.18 | 6/8 | | **EW-STR** | **30/25/15/30** | 2.10 | 8.5% | +25.2% | **2.35** | 3.2% | **+19.7%** | **+0.06/+0.13/+0.14** | **7/8** | ### Lettura onesta 1. **Gli OTTIMIZZATORI non aggiungono nulla — anzi overfittano.** Tutti (MAXSH/RP/ERC/MINVAR-R) convergono sulla stessa mossa: scaricare TP01 e caricare **VRP01 al 30-42%** perché ha la vol più bassa (7.7%/anno). Ma quella è la vol del MODELLO (premio BS su DVOL, coda di stress non catturata): è esattamente il punto cieco tipo-CC01 ("Sharpe/vol implausibile → rischio nascosto"). E per-anno MAXSH vince **1/8 anni** vs CURRENT — l'uplift multi-cut è smoothing di vol modellata, non alpha di allocazione. **Dentro i cap** l'ottimizzatore (MAXSH-STR) converge quasi sui pesi correnti (38.6/25/15/21.4) e NON è persistente (−0.00 al cut 2024-01) → **i pesi correnti sono già ~ottimi per ciò che il backtest può giudicare lecitamente**. 2. **L'unico segnale robusto è la DE-CONCENTRAZIONE parameter-free**: EW-STR (EW sotto i cap, nessun parametro fittato) vince **7/8 anni** (unica perdita 2021 −3.1pp), tutti i cut OOS (ΔSh +0.06/+0.13/+0.14), HOLD Sh 2.21→2.35, HOLD CAGR +16.0→+19.7%. Classico "1/N batte l'ottimizzazione" (DeMiguel). La sostanza: CURRENT dà il 41% al peggior Sharpe FULL del book (TP01 1.30) e EW-STR sposta ~11pp da TP01 verso SKH01 (+5pp) e XS01 (+6.25pp). 3. **MA non è un free lunch risk-adjusted**: FULL Sh 2.12→**2.10** e FULL DD 7.8→**8.5%** (più SKH01, che ha DD standalone 18%, pesa di più nei primi anni a 2 sleeve). L'uplift è un TILT di ritorno verso gli sleeve research-grade con la storia più corta/caveat più pesanti (SKH01 = research win, book 230m da verificare a deploy; XS01 = STAT-MODE non eseguibile a 2k). E TP01 resta l'unico sleeve *deployed* live: il suo 41% nel report riflette una scelta di prudenza/eseguibilità, non solo statistica. ### VERDETTO (A) - **Ottimizzazione formale: NON MIGLIORA** (viola i cap strutturali o converge ai pesi correnti). **Per il book reale i pesi correnti reggono.** - **Candidato PROPOSTO (non applicato): EW-STR = TP01 30 / XS01 25 / VRP01 15 / SKH01 30** — uplift OOS persistente e per-anno (7/8), dentro i cap, al costo di FULL DD +0.7pp e FULL Sh −0.02. È una decisione di risk-appetite (più ritorno atteso spostando peso su sleeve research-grade), non un miglioramento dominante. Se si vuole adottare, farlo consapevoli che aumenta la dipendenza da SKH01/XS01, e NON tocca il book Deribit eseguibile (TP75/SKH25). ### Caveat metodologici (A) - Le 3 finestre multi-cut sono ANNIDATE (tutte contengono il 2025-26): non 3 conferme indipendenti. Il test disgiunto vero è il per-anno (7/8 per EW-STR è il dato forte). - EW-STR è stato costruito DOPO aver visto EW vincere (proiezione del null sui cap dichiarati): costruzione principled e parameter-free, ma va detto — non era nella griglia iniziale. - I pesi CURRENT stessi furono fissati (2026-06-23) conoscendo l'hold-out → il confronto "in-sample-opt vs CURRENT su hold-out" è semmai sbilanciato A FAVORE di CURRENT; EW-STR vince comunque. ## (B) Guardia-drawdown a livello portafoglio — metodo Soft-guard causale sul combo 4-sleeve (pesi CURRENT): esposizione del giorno D decisa dal DD dell'equity fino a **D−1**; trigger/re-entry sul **NAV ombra** non-guardato (lezione stops_lab: sull'equity congelata a expo=0 il DD non rientra mai); isteresi re-risk a 0.4·X come nel tail-hedge lab. Griglia X∈{3,4,5,6}%, derisk∈{0,0.5}. Selezione cella IN-SAMPLE (max Calmar pre-2025), verifica hold-out + multi-cut, **null de-levering** (expo costante c che pareggia il MaxDD in-sample della guardia: Sharpe di c·r è invariante → la guardia vale solo se batte quello). ### Risultati - Cella scelta in-sample: **X=5% / derisk=0.5** (IS Calmar 3.64 vs 3.24 baseline; IS DD 7.8→6.6%, IS CAGR 25.3→23.9%, IS Sh 2.13→2.12). In-sample batte il null de-levering c=0.84 a pari DD (CAGR 23.9% vs 21.0%) — il timing esiste in-sample. - **MA OOS è INERTE**: a ogni cut la cella scelta non scatta MAI (ΔSh +0.00, ΔDD 0.0pp, ΔCAGR 0.0pp su tutti e 3 i cut) perché il DD OOS del 4-sleeve resta 3.5-4.8% < trigger 5%. **La diversificazione a 4 sleeve fa già il lavoro della guardia** (il 2022 del book è +11.6% con DD 3.6%: non c'è il grind da proteggere che aveva il combo TP01+GTAA del tail-hedge lab, DD 8.4% / 2022 −4.4%). - Trigger più stretti che scattano davvero COSTANO: X=3%/d=0.5 → HOLD Sh 2.10 (< 2.21), CAGR 13.7% (< 16.0%); X=3-4%/d=0 whipsaw pieno (HOLD Sh 1.83-2.09; a X=4/d=0 il DD guardato IS sale addirittura a 8.8% > 7.8% baseline — accumulo di perdite su cicli off/on, lo stesso fenomeno visto in stops_lab con l'uscita totale). ### VERDETTO (B) **NON MIGLIORA.** La guardia-DD che vinceva sul combo TP01+GTAA (DD 8.4%, 2022 −4.4%) qui non ha bersaglio: il 4-sleeve ha già DD ~3.5-4.8% OOS. Coerente col thread meta-allocazione 2026-06-29 (drawdown-control ridondante). Nota operativa: la cella X=5%/d=0.5 è *innocua* (non fa nulla finché il DD non supera il 5%) e in-sample mostrava timing genuino sopra il null de-levering — può valere come **circuit-breaker di emergenza sul live** (risk management, non alpha), ma non è un miglioramento statistico e non la si adotta come tale. ## (C) Combinazione (B) è inerte → niente da combinare. Per completezza: EW-STR + guard X=5%/d=0.5 → FULL Sh 2.08, DD 6.7%, CAGR 23.7% | HOLD invariato 2.35/3.2%/19.7% (la guardia lima il DD 2021-2023 del tilt a costo di −0.02 Sh FULL). Nessuna adozione proposta. ## Sintesi | config | FULL Sh | FULL DD | FULL CAGR | HOLD Sh | HOLD DD | HOLD CAGR | |---|---|---|---|---|---|---| | **CURRENT (attivo)** | 2.12 | 7.8% | +23.3% | 2.21 | 3.5% | +16.0% | | EW-STR (proposta A, non applicata) | 2.10 | 8.5% | +25.2% | 2.35 | 3.2% | +19.7% | | CURRENT + guard 5%/0.5 (B) | 2.11 | 6.6% | +22.3% | 2.21 | 3.5% | +16.0% | | EW-STR + guard (C) | 2.08 | 6.7% | +23.7% | 2.35 | 3.2% | +19.7% | - **(A) NON MIGLIORA in senso forte** — i pesi correnti reggono; l'unico candidato onesto è il tilt de-concentrante EW-STR (30/25/15/30), un trade-off di risk-appetite da decidere, non un upgrade dominante. Gli ottimizzatori in-sample o violano i cap strutturali (VRP01 40%) o riconvergono sui pesi correnti. - **(B) NON MIGLIORA** — guardia inerte OOS sul 4-sleeve; utile al più come circuit-breaker. - Nessuna modifica a `src/portfolio/sleeves.py` o al live. Test 160/160 verdi. Script: `scripts/research/r0701_portfolio_opt.py` (~4s, vettoriale). ## Verifica avversariale (agente scettico) Script: `scripts/research/r0701_portfolio_skeptic.py`. **VERDETTO: NON APPLICARE — CURRENT resta.** I numeri dell'agente riproducono ESATTAMENTE (via `StrategyPortfolio.combined_daily`, path di produzione: CURRENT 2.12/2.21, EW-STR 2.10/2.35, multi-cut +0.06/+0.13/+0.14, |diff|=0). Il claim muore altrove: l'uplift è **selezione-sull'hold-out di 2° ordine**, non alpha di allocazione. 1. **L'uplift OOS vive TUTTO nel 2025-26 — la finestra che ha selezionato i beneficiari.** Finestre OOS **DISGIUNTE** (i 3 cut del diario sono annidati): ΔSh EW-STR vs CURRENT = **−0.12** (2024H1) / +0.06 (2024H2) / **+0.14** (2025+). L'unica finestra OOS non toccata dalla selezione hold-out è negativa. Sharpe standalone IS→HOLD per sleeve: TP01 1.49→**0.30**, SKH01 1.42→**1.64**, XS01 1.22→**1.51**: EW-STR compra esattamente i due sleeve ammessi/affinati (2026-06-23 / 2026-06-19) PERCHÉ forti sull'hold-out e vende quello che lì collassa. Meccanico. 2. **Pre-2025 (finestra non contaminata) EW-STR PERDE risk-adjusted**: ΔSh aggregato **−0.05**, Sharpe per-anno vinti **2/6** (2021 −0.29, 2020 −0.10, 2023/2024 negativi). 3. **"7/8 anni vinti" è un artefatto di metrica**: è RITORNO composto (un tilt a più vol/ritorno li vince quasi per costruzione), non risk-adjusted. Su **Sharpe per-anno: 3/8**. E due dei 7 "vinti" (2023, 2024) hanno margine **+0.03pp** = tie. Bilancio materiale sul ritorno: 5 vinti / 1 perso (2021 −3.1pp) / 2 pari. 4. **Plateau: liscio ma il gradiente è solo "meno TP01"**; a TP fisso, alzare SKH 25→30 è piatto/negativo (min multi-cut a TP35: +0.07→+0.02). Scomposizione: il tilt **solo-SKH** (+5pp, TP 36.25) da solo NON è persistente (multi-cut **−0.00**/+0.05/+0.04); il tilt **solo-XS** (TP35/XS25/VRP15/SKH25) è l'unico positivo su tutte le finestre disgiunte (+0.05/+0.02/+0.11) — ma pre-2025 fa ΔSh −0.00 (edge ≈ zero fuori dal 2025-26) e carica lo sleeve MENO eseguibile (STAT-MODE). 5. **Realismo**: con l'outer-join rinormalizzato EW-STR tiene SKH01 al **50% effettivo nel 2019-20 e 40% nel 2021-23** (book research 230m a metà portafoglio: da lì il FULL DD 8.5%). Punto onesto A FAVORE: un haircut d'esecuzione a drag su SKH01(-20/30%) e SKH+XS non ribalta il ranking hold-out (ΔSh resta +0.08..+0.13), ma i livelli assoluti crollano (HOLD Sh CURRENT 2.21→1.64 al −30% su entrambi) e il beneficio resta di CARTA: il book Deribit eseguibile (TP75/SKH25) non è toccato dalla decisione. 6. **Forking paths quantificato**: ≥15 config valutate sull'hold-out (7 vettori pesi + 8 celle guardia), EW-STR costruito dopo aver visto EW vincere. Su **500 tilt CASUALI cap-respecting**: 51% batte CURRENT sull'hold-out (mediana ΔSh +0.00), solo 11% sul FULL, 30% su tutti e 3 i cut. EW-STR è al **94° percentile** dell'uplift hold-out fra i tilt casuali ≈ il **massimo atteso di ~15 tentativi** (k/(k+1)=93.8%): l'uplift osservato è indistinguibile dal "best of 15 tilt casuali scelto sull'hold-out". **Conclusione**: il tilt non è disonesto nei conti ma non è evidenza — è la stessa lezione del gate SELECTION-ON-HOLDOUT applicata al livello dei PESI (2° ordine: gli sleeve stessi sono stati selezionati su quell'hold-out). Unica direzione sopravvissuta: XS01 18.75→25 (solo-XS, positivo su tutte le finestre disgiunte), MA edge ≈0 fuori dal 2025-26, sleeve STAT-MODE non eseguibile a $600, e l'hold-out-strength di XS01 è a sua volta concentrata dal gate di dispersione nel regime 2025-26 → da rivalutare SOLO con più storia forward, non ora. **CURRENT (41.25/18.75/15/25) resta.**