From 3f1feb1a6ffec6502904574ebcaa430c6e591eb3 Mon Sep 17 00:00:00 2001
From: Adriano Dal Pastro
Date: Thu, 11 Jun 2026 21:07:06 +0000
Subject: [PATCH] =?UTF-8?q?docs(report):=20generatore=20aggiornato=20?=
=?UTF-8?q?=E2=80=94=20tranching=20XS01=20+=20verit=C3=A0=20esecuzione/net?=
=?UTF-8?q?ting=20in=20metodologia?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- card XS01: paragrafo phase-tranching v1.1.21 (3 sub-book sfasati, gate plateau
K=2/K=3, PORT06 OOS 10.07->10.15 DD 1.48->1.38)
- metodologia: bullet v1.1.23-25 (TP_PHANTOM conferma dal book reale, ledger su
amount fillato, chiusure netting-aware, reconciler ACCOUNT_DRIFT, drift-monitor)
L'HTML rigenerato segue in un commit separato (in coda dietro il refresh parquet).
Co-Authored-By: Claude Fable 5
---
scripts/analysis/make_strategy_doc.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/scripts/analysis/make_strategy_doc.py b/scripts/analysis/make_strategy_doc.py
index dfda0c9..6ab16b1 100644
--- a/scripts/analysis/make_strategy_doc.py
+++ b/scripts/analysis/make_strategy_doc.py
@@ -779,6 +779,12 @@ cross-section del momentum ≥ 0.0313 (mediana TRAIN) — la reversione paga qua
dispersione da far rientrare. Diagnostica monotona TRAIN e OOS, plateau p30-p70,
standalone Sharpe 2.50→3.46 (regge fee 2x), PORT06 OOS 10.07→10.37 a DD pari.
Solo path live (backtest canonico non filtrato → il live farà meglio del backtest).
+Phase-tranching (2026-06-11, v1.1.21): la fase del roll non-sovrapposto
+è arbitraria e da sola muove lo Sharpe daily 1.52-2.33 e il DD 14-33% (timing-luck) → live
+gira con 3 sub-book sfasati di 4 barre su capitale comune (PnL/3 ciascuno): ensemble
+di fase SENZA parametri fittati. Gate con plateau (K=2 e K=3 entrambi promossi): PORT06
+OOS Sharpe 10.07→10.15, DD 1.48→1.38 a FULL pari. Worker validato esatto (K=1 == backtest;
+K=3 == unione fasi).
8 gambe → niente esecuzione reale: gira PAPER come i book multi-asset
(il rumore di arrotondamento a €2k dominerebbe). Worker validato (replay == backtest esatto).
""",
g_xs, t_xs)
@@ -829,6 +835,7 @@ non si fada un crollo/parabolica), EXIT-16 (stop solo sul close confermat
Gate out-of-sample: nessun meccanismo va in produzione senza migliorare (o non degradare) il portafoglio FULL e OOS — robusto individualmente ≠ migliora PORT06.
Esecuzione reale shadow (15 sleeve su 19): i 6 fade + DIP01 (single-leg, TP limit al livello, disaster-stop −30% on-book), i 6 pairs incl. ETH/BTC 15m flat-skip (2 gambe, leg-risk unwind) e i 2 SH01 (single-leg, exit a orizzonte, niente TP/SL) eseguono ordini reali su Deribit testnet. Restano simulati solo i book multi-asset TR01/ROT02/TSM01/XS01 (bloccati dal capitale: serve ~€20k per il rumore di arrotondamento). Fee reali verificate dai trade; divergenze sim/reale ≥100bps alertate su Telegram.
Real-truth ledger (2026-06-10): il capitale dei worker eseguiti si aggiorna col PnL dei fill reali (fee reali incluse), non col sim — equity, pesi e notional derivano dai soldi veri sul conto; il sim resta diagnostica nel log (fallback dichiarato solo se il trade reale non è mai esistito). Le decisioni di entry/exit restano guidate dal feed.
+Verità d'esecuzione e netting (2026-06-11, v1.1.23-25): il tocco TP va confermato dal book reale (gate TP_PHANTOM: resting a zero-fill + prezzo lontano dal livello = wick fantasma del feed → exit soppressa); i ledger usano l'amount fillato, mai il richiesto; le chiusure sono netting-aware (residuo reduce-only cappato/respinto dal netting di conto → rieseguito in market puro: niente gambe orfane quando worker opposti condividono lo strumento). Reti di sicurezza: reconciler orario conto-vs-libri (alert ACCOUNT_DRIFT), eventi NET_CLOSE/PAIR_LEG_ORPHAN/REAL_CLOSE_PARTIAL, drift-monitor giornaliero per famiglia (warn sotto il p5 storico).
Generato da scripts/analysis/make_strategy_doc.py — grafici da episodi reali sui dati parquet locali.