feat(XS01): affina con blend di lookback [30,90] — FULL 0.80->1.10, portafoglio 1.41->1.48

Come TP01 fonde gli orizzonti, XS01 ora fonde 30g+90g del momentum cross-sectional (z-score per
lookback, mediato). Sweep: [30,90] e' il sweet spot (fonde i due singoli robusti, anti-overfit):
XS01 standalone FULL 0.80->1.10, DD 21%->14%, corr a TP01 -0.06->-0.12, 100% anni+. Portafoglio
TP01 70 + XS01 30: FULL Sh 1.41->1.48, DD 5.2%->4.6%, ~€/g 1.65->1.78; hold-out 1.15->1.06 (calo
marginale dentro il rumore). Piu' robusto (due orizzonti) + diversifica meglio -> promosso.

sleeves.XS_CFG lookbacks=(30,90), engine _xsec_returns usa lo score blended. 12 test ok.
Diario 2026-06-19-xsec-blend.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-06-19 22:19:12 +00:00
parent bf6ade51af
commit fd5a0bd3cf
3 changed files with 161 additions and 7 deletions
+35
View File
@@ -0,0 +1,35 @@
# 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.