Files
PythagorasGoal/docs/diary/2026-06-19-xsec-blend.md
T
Adriano Dal Pastro fd5a0bd3cf 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>
2026-06-19 22:19:12 +00:00

1.8 KiB
Raw Blame History

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.