Reset del progetto su fondamenta verificate dopo la scoperta che l'intera libreria "validata OOS" era artefatto di feed contaminato (print fantasma del feed Cerbero TESTNET + storico Binance/USDT). - Storico ricostruito da Deribit MAINNET (ccxt pubblico, tokenless) e CERTIFICATO (certify_feed.py): BTC/ETH puliti su TUTTA la storia (mediana 2-6 bps vs Coinbase USD), integrita' OHLC + coerenza resample (maxΔ 0.00) + cross-venue OK. Alt esclusi (illiquidi/divergenti: LTC/DOGE 50-82% barre flat; XRP/BNB non certificabili). - Verdetto sul feed pulito: FADE / PAIRS / XS01 / TSM01 morti (ogni portafoglio Sharpe -2.3..-3.0, DD ~40%); solo SH01 e frammenti HONEST con segnale residuo, da ri-validare in isolamento. - Cleanup "restart pulito": strategie, stack live (src/live, src/portfolio, runner/executor, yml, docker), ~100 script ricerca/gate, waste/games/ portfolios, dati non certificati + cache e 60+ diari -> archiviati in Old/ (preservati, non cancellati). Diario consolidato in un unico documento. - Skeleton ricerca tenuto: Strategy ABC + indicatori + src/fractal + src/backtest/engine + load_data; tool dati certificati (rebuild_history, certify_feed, audit_feed, multi_source_check). - Universo dati ATTIVO: solo BTC/ETH (5m/15m/1h); guardrail fisico (load_data su alt -> FileNotFoundError). Esecuzione DISABILITATA, conto flat. Co-Authored-By: Claude Opus 4.8 (1M context) <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).