diff --git a/docs/report/strategie_attive.html b/docs/report/strategie_attive.html index 3c04c1a..7bfc86b 100644 --- a/docs/report/strategie_attive.html +++ b/docs/report/strategie_attive.html @@ -20,8 +20,9 @@ font-size:13px;margin-top:10px}

PythagorasGoal — Strategie attive

-

Portafoglio live PORT06 (17 sleeve, capitale pool €2.000, leva 2x) · -v1.1.9 · generato 2026-06-07 17:31 UTC · backtest canonico: FULL Sharpe 6.61 / DD 3.58% — OOS Sharpe 8.77 / DD 1.34%

+

Portafoglio live PORT06 — definizione 17 sleeve; pool live real-only 14 sleeve +(i 3 book multi-asset girano in statistica, fuori dal capitale-pool). Capitale pool €2.000, leva 2x · +v1.1.14 · generato 2026-06-08 14:48 UTC · backtest canonico: FULL Sharpe 6.61 / DD 3.58% — OOS Sharpe 8.77 / DD 1.34%

Tre famiglie principali quasi scorrelate fra loro (fade↔honest ~0.05, pairs ~0.02-0.09, shape ~0.08): la diversificazione è la leva anti-drawdown. Pesi equal con tetti per famiglia, @@ -68,12 +69,14 @@ le fade per costruzione non prendono. Valuta solo barre 4h COMPLETE.

< (solo se positive), gross 0.45. Gate di regime: tutto cash se BTC<SMA100. Diversificare su 3 asset invece di 2 ha quasi dimezzato il DD (40%→26%) alzando il ritorno.

annoROT02 (universo 8)
trdPnL%DD%
2021+00
2022+00
2023+8110
2024+437
2025+1312
2026-89
TOT+13019

PnL = ritorno % dell'anno dall'equity giornaliera canonica (2021-2026, leva 3x convenzione test); DD = max drawdown nell'anno; trd non applicabile (ribilancio giornaliero del book).

PAIRS — spread reversion market-neutral (5 coppie × 5.88%, famiglia ≤33%)

-

PR01 — Pairs Reversion (ETH/BTC, LTC/ETH, ADA/ETH, BTC/LTC, ETH/SOL)

PAIRSSIMULATO

+

PR01 — Pairs Reversion (ETH/BTC, LTC/ETH, ADA/ETH, BTC/LTC, ETH/SOL)

PAIRSESECUZIONE REALE (testnet)

Market-neutral: quando il rapporto fra due asset si allontana troppo dalla sua media (|z| del log-ratio ≥ 2), compra la gamba debole e shorta la forte; chiude quando il rapporto rientra (|z| ≤ 0.75) o dopo 72 barre. Config universale per tutte le coppie (niente tuning per-coppia = anti-overfit). Correlazione col mercato ~0.05: rende anche quando il mercato è fermo. -Fee su 2 gambe. Senza stop per design → position size ridotto a 0.20 (esposizione ≈ validato).

annoETH/BTCLTC/ETHADA/ETHBTC/LTCETH/SOL
2018-343 (177, dd 45)
2019+233 (198, dd 8)
2020+323 (211, dd 25)
2021+549 (202, dd 12)
2022+1344 (206, dd 3)+292 (45, dd 14)+899 (157, dd 5)+328 (58, dd 8)+1243 (147, dd 9)
2023+464 (213, dd 4)+56 (94, dd 5)+341 (173, dd 10)+61 (106, dd 14)+125 (168, dd 24)
2024+1661 (253, dd 6)+1024 (195, dd 9)+1078 (225, dd 16)+638 (186, dd 10)+1302 (199, dd 12)
2025+1173 (225, dd 16)+962 (196, dd 10)+1046 (187, dd 19)+686 (178, dd 7)+1264 (202, dd 11)
2026+61 (71, dd 2)+279 (76, dd 3)+140 (71, dd 3)+265 (71, dd 3)+270 (88, dd 4)
TOT+5464 (1756, dd 48)+2614 (606, dd 14)+3504 (813, dd 19)+1978 (599, dd 21)+4204 (804, dd 24)

cella: PnL% anno (n trade, max DD% anno) — Σ rendimenti netti per trade, fee 0.20% RT/coppia (2 gambe), leva 3x convenzione test. NB: la finestra canonica del portafoglio parte dal 2021; gli anni precedenti (spesso negativi) sono mostrati per onestà storica.

+Fee su 2 gambe. Senza stop per design → position size ridotto a 0.20 (esposizione ≈ validato).

+

Esecuzione reale a 2 gambe su Deribit testnet (PairsExecutionClient): +open/close long A / short B, leg-risk unwind, mai close_position.

annoETH/BTCLTC/ETHADA/ETHBTC/LTCETH/SOL
2018-343 (177, dd 45)
2019+233 (198, dd 8)
2020+323 (211, dd 25)
2021+549 (202, dd 12)
2022+1344 (206, dd 3)+292 (45, dd 14)+899 (157, dd 5)+328 (58, dd 8)+1243 (147, dd 9)
2023+464 (213, dd 4)+56 (94, dd 5)+341 (173, dd 10)+61 (106, dd 14)+125 (168, dd 24)
2024+1661 (253, dd 6)+1024 (195, dd 9)+1078 (225, dd 16)+638 (186, dd 10)+1302 (199, dd 12)
2025+1173 (225, dd 16)+962 (196, dd 10)+1046 (187, dd 19)+686 (178, dd 7)+1264 (202, dd 11)
2026+61 (71, dd 2)+279 (76, dd 3)+140 (71, dd 3)+265 (71, dd 3)+270 (88, dd 4)
TOT+5464 (1756, dd 48)+2614 (606, dd 14)+3504 (813, dd 19)+1978 (599, dd 21)+4204 (804, dd 24)

cella: PnL% anno (n trade, max DD% anno) — Σ rendimenti netti per trade, fee 0.20% RT/coppia (2 gambe), leva 3x convenzione test. NB: la finestra canonica del portafoglio parte dal 2021; gli anni precedenti (spesso negativi) sono mostrati per onestà storica.

TSM — trend-following multi-orizzonte (1 sleeve × 6.47%)

TSM01 — TSMOM (1d)

TSMSIMULATO

Long sugli asset con consenso pieno di momentum su 3 orizzonti (3/6/12 mesi), @@ -81,12 +84,15 @@ gross 0.30, cash totale se BTC<SMA100. Mai un anno negativo nel backtest. Non ritorno: è il diversificatore che lavora nei regimi in cui le fade soffrono. Attualmente flat by-design (risk-off).

annoTSM01 (universo 8)
trdPnL%DD%
2021+00
2022+00
2023+00
2024-22
2025+76
2026+00
TOT+56

PnL = ritorno % dell'anno dall'equity giornaliera canonica (2021-2026, leva 3x convenzione test); DD = max drawdown nell'anno; trd non applicabile (ribilancio giornaliero del book).

SHAPE — ML morfologico (2 sleeve × 2.94%, famiglia ≤5.88%)

-

SH01 — Shape-ML (BTC, ETH)

SHAPESIMULATO

+

SH01 — Shape-ML (BTC, ETH)

SHAPEESECUZIONE REALE (testnet)

Una LogisticRegression legge 17 feature della forma delle ultime 24 barre e predice il segno del rendimento a 12 barre; entra solo se la probabilità supera 0.58, esce a orizzonte. Training walk-forward causale (mai dati futuri). Win-rate ~50%: l'edge è nell'asimmetria, non nella frequenza. Senza stop-loss by design (ogni stop testato rompe l'edge): la coda si gestisce dimezzando il peso della famiglia (cap 5.88%).

+

Esecuzione reale single-leg su Deribit testnet: niente TP/SL, chiusura a orizzonte +H=12 (market reduce-only), disaster-bracket on-book come unica protezione di coda — è il +diversificatore più decorrelato del portafoglio.

Fix di oggi (punto-10): il training live usa la storia COMPLETA dal parquet locale (il regime corto a 365g non era robusto: trade-rate 22% vs 10% validato).

annoBTCETH
trdPnL%DD%trdPnL%DD%
2018237-6623239+7415
2019318+8815365-1921
2020240+19410219-29353
2021224+30113146+6718
2022142+641191+7922
2023118+17517+215
2024144+110847+1086
202585+775108+5407
202623+59225-307
TOT1531+845231257+54761

PnL = Σ rendimenti netti per trade (%, leva 3x, fee 0.10% RT, convenzione test; il live gira a leva 2x); DD = max drawdown nell'anno (equity compounding pos 0.15); riga TOT: DD dell'intero periodo. NB: la finestra canonica di valutazione del portafoglio parte dal 2021 — gli anni 2018-2020 (regime microstrutturale diverso, spesso negativi) sono mostrati per onestà storica.

@@ -95,7 +101,7 @@ locale (il regime corto a 365g non era robusto: trade-rate 22% vs 10% validato).
  • Fee sempre incluse: 0.10% round-trip taker Deribit (misurate reali = assunte). Molte operazioni = morte per fee: ogni strategia regge lo stress a fee doppie.
  • Niente look-ahead: direzione e prezzo decisi solo con dati fino al close corrente; barre in formazione escluse (lezione EXIT-16). La famiglia squeeze (accuratezze 76-82%) è stata scartata proprio per questo artefatto.
  • 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: i 7 sleeve single-leg eseguono ordini reali su Deribit testnet accanto al sim (TP limit al livello, disaster-stop −30% on-book, fee reali verificate dai trade); divergenze sim/reale ≥100bps alertate su Telegram.
  • +
  • Esecuzione reale shadow (~81% del portafoglio): 14 sleeve eseguono ordini reali su Deribit testnet accanto al sim — i 6 fade + DIP01 (single-leg, TP limit al livello, disaster-stop −30% on-book), i 5 pairs (2 gambe, leg-risk unwind) e i 2 SH01 (single-leg, exit a orizzonte, niente TP/SL). Restano simulati solo i book multi-asset TR01/ROT02/TSM01 (bloccati dal capitale: serve ~€20k per il rumore di arrotondamento). Fee reali verificate dai trade; divergenze sim/reale ≥100bps alertate su Telegram.
  • Generato da scripts/analysis/make_strategy_doc.py — grafici da episodi reali sui dati parquet locali.

    \ No newline at end of file diff --git a/scripts/analysis/make_strategy_doc.py b/scripts/analysis/make_strategy_doc.py index ccc6129..39be3c8 100644 --- a/scripts/analysis/make_strategy_doc.py +++ b/scripts/analysis/make_strategy_doc.py @@ -672,12 +672,14 @@ le fade per costruzione non prendono. Valuta solo barre 4h COMPLETE.

    """, g_t asset invece di 2 ha quasi dimezzato il DD (40%→26%) alzando il ritorno.

    """, g_rot, t_rot) c_pr = card("PR01 — Pairs Reversion (ETH/BTC, LTC/ETH, ADA/ETH, BTC/LTC, ETH/SOL)", - B("pairs", "PAIRS") + sim, """ + B("pairs", "PAIRS") + real, """

    Market-neutral: quando il rapporto fra due asset si allontana troppo dalla sua media (|z| del log-ratio ≥ 2), compra la gamba debole e shorta la forte; chiude quando il rapporto rientra (|z| ≤ 0.75) o dopo 72 barre. Config universale per tutte le coppie (niente tuning per-coppia = anti-overfit). Correlazione col mercato ~0.05: rende anche quando il mercato è fermo. -Fee su 2 gambe. Senza stop per design → position size ridotto a 0.20 (esposizione ≈ validato).

    """, g_pr, t_pairs) +Fee su 2 gambe. Senza stop per design → position size ridotto a 0.20 (esposizione ≈ validato).

    +

    Esecuzione reale a 2 gambe su Deribit testnet (PairsExecutionClient): +open/close long A / short B, leg-risk unwind, mai close_position.

    """, g_pr, t_pairs) c_tsm = card("TSM01 — TSMOM (1d)", B("tsm", "TSM") + sim, """

    Long sugli asset con consenso pieno di momentum su 3 orizzonti (3/6/12 mesi), @@ -685,12 +687,15 @@ gross 0.30, cash totale se BTC<SMA100. Mai un anno negativo nel backtest. Non ritorno: è il diversificatore che lavora nei regimi in cui le fade soffrono. Attualmente flat by-design (risk-off).

    """, g_tsm, t_tsm) - c_sh = card("SH01 — Shape-ML (BTC, ETH)", B("shape", "SHAPE") + sim, """ + c_sh = card("SH01 — Shape-ML (BTC, ETH)", B("shape", "SHAPE") + real, """

    Una LogisticRegression legge 17 feature della forma delle ultime 24 barre e predice il segno del rendimento a 12 barre; entra solo se la probabilità supera 0.58, esce a orizzonte. Training walk-forward causale (mai dati futuri). Win-rate ~50%: l'edge è nell'asimmetria, non nella frequenza. Senza stop-loss by design (ogni stop testato rompe l'edge): la coda si gestisce dimezzando il peso della famiglia (cap 5.88%).

    +

    Esecuzione reale single-leg su Deribit testnet: niente TP/SL, chiusura a orizzonte +H=12 (market reduce-only), disaster-bracket on-book come unica protezione di coda — è il +diversificatore più decorrelato del portafoglio.

    Fix di oggi (punto-10): il training live usa la storia COMPLETA dal parquet locale (il regime corto a 365g non era robusto: trade-rate 22% vs 10% validato).

    """, g_sh, yearly_table(st_sh)) @@ -698,7 +703,8 @@ locale (il regime corto a 365g non era robusto: trade-rate 22% vs 10% validato). PythagorasGoal — Strategie attive PORT06

    PythagorasGoal — Strategie attive

    -

    Portafoglio live PORT06 (17 sleeve, capitale pool €2.000, leva 2x) · +

    Portafoglio live PORT06 — definizione 17 sleeve; pool live real-only 14 sleeve +(i 3 book multi-asset girano in statistica, fuori dal capitale-pool). Capitale pool €2.000, leva 2x · v{ver} · generato {now} · backtest canonico: FULL Sharpe 6.61 / DD 3.58% — OOS Sharpe 8.77 / DD 1.34%

    Tre famiglie principali quasi scorrelate fra loro (fade↔honest ~0.05, pairs ~0.02-0.09, @@ -734,7 +740,7 @@ non si fada un crollo/parabolica), EXIT-16 (stop solo sul close confermat

  • Fee sempre incluse: 0.10% round-trip taker Deribit (misurate reali = assunte). Molte operazioni = morte per fee: ogni strategia regge lo stress a fee doppie.
  • Niente look-ahead: direzione e prezzo decisi solo con dati fino al close corrente; barre in formazione escluse (lezione EXIT-16). La famiglia squeeze (accuratezze 76-82%) è stata scartata proprio per questo artefatto.
  • 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: i 7 sleeve single-leg eseguono ordini reali su Deribit testnet accanto al sim (TP limit al livello, disaster-stop −30% on-book, fee reali verificate dai trade); divergenze sim/reale ≥100bps alertate su Telegram.
  • +
  • Esecuzione reale shadow (~81% del portafoglio): 14 sleeve eseguono ordini reali su Deribit testnet accanto al sim — i 6 fade + DIP01 (single-leg, TP limit al livello, disaster-stop −30% on-book), i 5 pairs (2 gambe, leg-risk unwind) e i 2 SH01 (single-leg, exit a orizzonte, niente TP/SL). Restano simulati solo i book multi-asset TR01/ROT02/TSM01 (bloccati dal capitale: serve ~€20k per il rumore di arrotondamento). Fee reali verificate dai trade; divergenze sim/reale ≥100bps alertate su Telegram.
  • Generato da scripts/analysis/make_strategy_doc.py — grafici da episodi reali sui dati parquet locali.

    """