# 2026-06-19 — Affinamento XS01: blend di lookback [30,90] Come TP01 fonde gli orizzonti 30/90/180, XS01 ora fonde piu' lookback del momentum cross-sectional (z-score cross-sectional per lookback, mediato) invece del singolo L=30. `scripts/portfolio/xsec_blend.py`. ## Sweep lookback (19 major, 899g) — FULL/OOS/DD/anni+/corrTP | lookbacks | FULL | OOS25 | DD% | anni+ | corrTP | |---|---|---|---|---|---| | [30] (prima) | 0.80 | 1.20 | 21 | 100% | −0.06 | | [90] | 0.88 | 0.90 | 17 | 100% | −0.05 | | **[30,90]** | **1.10** | **1.03** | **14** | **100%** | **−0.12** | | [20,40,90] | 0.51 | 0.67 | 25 | 100% | −0.12 | | [30,60,120] | 0.68 | 0.74 | 16 | 100% | −0.13 | **[30,90] e' il sweet spot**: fonde i DUE singoli robusti (30 e 90), FULL Sh 0.80→1.10, DD 21→14%, corr a TP01 −0.06→−0.12 (diversifica meglio), 100% anni+. Non e' un cell fortunato: e' la combinazione dei due lookback gia' validati (anti-overfit, come il multi-orizzonte di TP01). ## Effetto sul portafoglio (TP01 70% + XS01 30%) | | XS01 [30] | XS01 blend [30,90] | |---|---|---| | XS01 standalone FULL / DD | 0.80 / 21% | **1.10 / 14%** | | Portafoglio FULL Sharpe | 1.41 | **1.48** | | Portafoglio HOLD-OUT Sharpe | 1.15 | 1.06 | | Portafoglio DD | 5.2% | **4.6%** | | ~€/giorno (2k) | +1.65 | +1.78 | Migliora FULL Sharpe + DD + robustezza (due orizzonti) al costo di un hold-out marginalmente piu' basso (−0.09, dentro il rumore di una singola finestra). Giudizio: il blend e' piu' robusto (meno dipendente da un singolo lookback) e diversifica meglio -> PROMOSSO. ## Azione `src/portfolio/sleeves.XS_CFG`: `L=30` -> `lookbacks=(30,90)`; engine `_xsec_returns` usa lo score blended (media z-score cross-sectional per lookback). **Portafoglio attivo: TP01 70% + XS01 blend 30%, FULL Sh 1.48 / HOLD 1.06 / DD 4.6%.** 12 test ok. Sleeve sempre sui 19 major.