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>
4.2 KiB
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)
_defs.py: 6 SleeveSpec nuoviMR0x_{asset}_15Mcontf: 15mnei params.- Runner: estendere il fetch sub-orario (già esistente per PR_ETHBTC_15M) ai fade 15m; verificare lookback (EMA200 a 15m = 50h → bastano ~2200 barre).
- Validazione worker a 15m (replay == backtest, come validate_worker_pairs).
- 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).
- 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_forsono 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).