Files
PythagorasGoal/docs/diary/2026-06-12-fade15m-gate.md
T
Adriano Dal Pastro f78380596a feat(live): SWAP fade 1h -> 15m su PORT06 (scelta utente, gate fade15m_port06_gate)
FADE specs tf=15m (sid invariati -> pesi/alloc intatti; DIP01 resta 1h);
builder canonico allineato (combine_portfolio.FADE_TF) -> parita' delle due
facce; regression-lock aggiornato al nuovo baseline (FULL Sh 7.34->8.13
DD 3.46->2.47, OOS Sh 10.07->10.86 DD 1.48->2.09). Runner invariato (fetch
15m gia' esistente dal blend pairs). Suite 126 passed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 20:47:44 +00:00

4.2 KiB
Raw Blame History

2026-06-12 — GATE PORT06: fade 15m PROMOSSI (tutte e tre le varianti)

Seguito del probe ACCEL50: i 6 sleeve fade (MR01/02/07 × BTC/ETH) a 15m, parametri live 1h NON ri-tunati, engine canonico build_trades/fade_daily_equity parametrizzato sul timeframe. Script: scripts/analysis/fade15m_port06_gate.py.

Risultati

[1] Parità. Builder locale a 1h == sleeve canonico, diff 0.00 esatto su tutti e 6.

[2] Standalone (daily, pos 0.15 lev 3, fee 0.10% RT). Il 15m batte il twin 1h quasi ovunque; OOS Sharpe: MR01_ETH 4.94 (vs 1.10), MR02_ETH 6.40 (vs 4.72), MR07_ETH 4.44 (vs 1.97), MR07_BTC 2.37 (vs 1.59). Fee 2x: regge ovunque tranne MR02_BTC (OOS 0.60 — il piu' fee-sensitive, ma a fee reali e' il migliore BTC).

[3] Correlazione 15m↔1h: media 0.26 (range 0.16-0.41) — più decorrelato del pairs 15m promosso a 0.37. NON è la stessa scommessa più veloce: è un edge a orizzonte diverso.

[4] Gate PORT06 (cap PAIRS 0.33 / SHAPE 0.0588):

variante FULL CAGR FULL DD FULL Sh OOS CAGR OOS DD OOS Sh
BASELINE (1h) 74% 3.46% 7.34 111% 1.48% 10.07
ADD (+6 sleeve 15m) 85% 2.73% 8.02 125% 1.38% 10.48
SWAP (15m al posto 1h) 101% 2.47% 8.13 163% 2.09% 10.86
BLEND 50/50 87% 2.31% 8.06 136% 1.77% 10.82

Tutte e tre PROMOSSE dal criterio standard (OOS Sharpe non peggiora E DD scende).

[5] Anti-illusione flat (il check che ha ucciso pairs-alt e XEX/DOGE). ETH 15m ha 14-30%/anno di candele flat. Con flat-entry-skip l'edge SOPRAVVIVE: MR01_ETH Sh 3.11→2.85 (OOS 4.94→4.60), MR02_ETH 4.72→4.63, MR07_ETH 3.76→3.55; BTC invariato (≤0.01). Coerente col finding registrato 2026-05-28. La quota di ritorno persa (~30-40% del FULL ETH) è il caveat slippage onesto: il ledger reale shadow sarà il giudice, come per il pairs 15m.

Raccomandazione

ADD è la promozione più pulita: migliora TUTTE le metriche senza buttare il track record live dei 6 sleeve 1h (SWAP rinuncia alla config validata dal vivo; il suo OOS DD peggiora 1.48→2.09). In subordine BLEND (miglior FULL DD 2.31%).

Per il deploy (non fatto qui)

  1. _defs.py: 6 SleeveSpec nuovi MR0x_{asset}_15M con tf: 15m nei params.
  2. Runner: estendere il fetch sub-orario (già esistente per PR_ETHBTC_15M) ai fade 15m; verificare lookback (EMA200 a 15m = 50h → bastano ~2200 barre).
  3. Validazione worker a 15m (replay == backtest, come validate_worker_pairs).
  4. Sizing: a peso pieno i 6 sleeve 15m raddoppiano la famiglia FADE; valutare position_size ridotto come il blend pairs (il gate ADD qui è già a peso pieno e migliora comunque, ma il caveat slippage 15m suggerisce prudenza).
  5. MR02_BTC 15m è il più fee-sensitive (fee2x OOS 0.60): monitorare le fee reali.

Addendum — DEPLOY: SWAP SECCO (stessa giornata, scelta utente)

L'utente ha scelto SWAP (la variante a CAGR più alto), consapevole dei due costi discussi: OOS DD 1.48→2.09% e perdita della maturità operativa 1h (la meccanica live — EXIT-16 confirm, TP_PHANTOM, TP resting — gira 4x più veloce su un feed testnet con wick anomali; il gate misura l'edge, non la robustezza operativa). Proposta alternativa staged (ADD temporaneo 1-2 settimane, poi spegnere il 1h) declinata: "swap secco".

Implementazione (deliberatamente minima, sid INVARIATI → pesi/alloc/epoche intatti):

  • _defs.py: FADE specs → tf="15m" (DIP01 resta 1h: non era nel gate).
  • combine_portfolio.py: FADE_TF="15m" nel builder canonico → le due facce (backtest/live) restano sulla STESSA definizione; il lock di parità (test_backtest_parity) confronta le facce fra loro e resta verde.
  • Runner: NESSUNA modifica (il fetch sub-orario BTC/ETH 15m esisteva già per il blend pairs; _spec_assets_tf/_series_for sono generici).
  • Worker: nuove dir *__15m (stato 1h preservato in *__1h, worker flat al momento dello switch). Esecuzione reale invariata (match per nome MR01/02/07).
  • max_bars=24 barre ora = 6h; EXIT-16 confirm sulla barra 15m completata.

Monitor post-deploy: stop-rate e divergenza sim/reale dei fade 15m nell'hourly report; fee reali su MR02_BTC; STALE_FEED (le barre flat 15m sono più frequenti che a 1h).