Momentum cross-sectional vive nella dispersione; gate: entra solo se la dispersione cross-section del momentum supera il percentile ESPANDENTE causale (altrimenti flat). Plateau robusto p15-p35 (non knife-edge: il crollo a p40+ e' over-gating); scelto p30. XS01 standalone FULL 1.10->1.50, HOLD 1.03->1.71, DD 14%->10.8%. Portafoglio TP01 70+XS 30: FULL 1.48->1.55, HOLD 1.06->1.55, DD 4.6%->4.4%. Il gate alza SIA FULL SIA hold-out (tiene XS attivo nei regimi dispersi, flat nei bull compatti; causale). E' il concetto del vecchio XS01. sleeves.XS_CFG disp_pct=30; engine _xsec_returns gatea su dispersione. 12 test ok. Diario 2026-06-19-xsec-dispgate.md. Affinamenti del segnale (blend+gate) > espansione universo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.5 KiB
2026-06-19 — Affinamento XS01: gate di dispersione (p30)
Il momentum cross-sectional vive nella DISPERSIONE (winners/losers distanti). In regime compatto
(tutti gli asset insieme) e' rumore. Gate: entra solo se la dispersione cross-section del momentum
supera il percentile ESPANDENTE causale disp_pct; altrimenti flat. Sul blend [30,90] dei 19 major.
scripts/portfolio/xsec_dispgate.py. (È il concetto del vecchio XS01 pre-reset, disp_min=p50.)
Sweep soglia (19 major, 899g) — XS01 standalone + contributo portafoglio
| soglia | XS FULL | XS OOS | PORT FULL | PORT HOLD | %flat |
|---|---|---|---|---|---|
| no gate | 1.10 | 1.03 | 1.50 | 1.06 | 0% |
| p15 | 1.32 | 1.39 | 1.64 | 1.36 | 28% |
| p20 | 1.46 | 1.63 | 1.72 | 1.52 | 31% |
| p25 | 1.46 | 1.63 | 1.72 | 1.52 | 31% |
| p30 | 1.50 | 1.71 | 1.74 | 1.56 | 35% |
| p35 | 1.60 | 1.90 | 1.81 | 1.69 | 37% |
| p40-p50 | 1.0 | 0.8 | 1.36-1.38 | 0.77-0.93 | 42-49% |
PLATEAU robusto p15-p35 (cinque punti, tutti molto > no-gate); il crollo a p40+ e' OVER-gating (salta troppo). Scelto p30 (centro sicuro del plateau, lontano dal cliff p40). Non un knife-edge.
Effetto sul portafoglio (TP01 70% + XS01 30%)
| XS01 | PORT FULL | PORT HOLD | PORT DD |
|---|---|---|---|
| [30] originale | 1.41 | 1.15 | 5.2% |
| + blend [30,90] | 1.48 | 1.06 | 4.6% |
| + dispersion gate p30 | 1.55 | 1.55 | 4.4% |
XS01 standalone: FULL 1.10→1.50, HOLD 1.03→1.71, DD 14%→10.8%, ~€/g 1.64→2.36. Il gate alza SIA FULL SIA hold-out (a differenza del solo blend, che barattava un po' di hold-out).
Meccanismo + caveat onesti
- Causale: soglia = percentile espandente della dispersione PASSATA; nessun look-ahead.
- Perche' funziona: tiene XS attivo nei regimi DISPERSI (2025-26, dove gli alt divergono) e flat nei bull compatti (2024). L'hold-out 2025-26 e' ad alta dispersione -> il gate concentra l'attivita' di XS proprio li' -> hold-out forte. E' il comportamento voluto, ma NB che il salto del hold-out riflette anche che il 2025-26 e' stato un regime ad alta dispersione.
- Caveat XS01 invariati: storia ~2.5 anni; STAT-MODE (book 19 gambe non eseguibile a 2k).
Azione
src/portfolio/sleeves.XS_CFG: aggiunto disp_pct=30; engine _xsec_returns gatea su dispersione.
Portafoglio attivo: TP01 70% + XS01 (blend [30,90] + gate disp p30) 30% — FULL Sh 1.55 / HOLD 1.55
/ DD 4.4%. 12 test ok. Affinamenti del SEGNALE (blend + gate) hanno funzionato dove l'espansione
universo no: i margini su XS sono nella struttura del segnale, non nel numero di asset.