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>
3.7 KiB
Diario di ricerca — 2026-05-29
Combinare le strategie migliora i risultati?
Domanda: usare insieme le due famiglie di strategie presenti sul repo migliora il profilo rischio/rendimento rispetto a usarle separatamente?
- FADE (mie): reversione intraday 1h, long/short, BTC/ETH — MR01 Bollinger, MR02 Donchian, MR03 Keltner, MR07 Return-reversal (tutte col filtro trend 3.0 ATR).
- HONEST (altra sessione): long-only multi-regime multi-crypto — DIP01 (dip-buy 1h BTC), TR01 (EMA-trend 4h basket), ROT02 (dual-momentum rotation 1d).
Metodo (scripts/analysis/combine_portfolio.py): per ogni sleeve si costruisce
l'equity giornaliera normalizzata su un indice comune (2021-01-01 → 2026-05-26),
si passa ai rendimenti giornalieri, si misura la correlazione cross-famiglia e si
confrontano i portafogli equal-weight (ribilanciati ogni giorno), 50/50 fra famiglie
e inverse-vol. Metriche FULL e OOS (ultimo 30% della finestra comune, da 2024-10-12):
ritorno, CAGR, max DD, Sharpe annualizzato. Le curve honest sono riusate da
honest_improve2.py; quelle fade da risk_management.build_trades.
Correlazione: cross-famiglia +0.05 (quasi indipendenti). Intra-fade +0.18, intra-honest +0.05. L'unica coppia un po' correlata è MR01_BTC↔DIP01_BTC (+0.43), entrambe mean-reversion su BTC. Famiglie scorrelate ⇒ diversificazione quasi ideale.
Risultati (FULL | OOS):
| Portafoglio | Ret% | CAGR | DD% | Sharpe | oDD% | oSharpe |
|---|---|---|---|---|---|---|
| FADE only (8) | +549 | 41 | 8.6 | 3.75 | 5.4 | 4.14 |
| HONEST only (3) | +642 | 45 | 12.0 | 1.90 | 6.5 | 2.23 |
| ALL equal-weight (11) | +589 | 43 | 6.1 | 3.95 | 4.6 | 4.46 |
| ALL 50/50 famiglie | +615 | 44 | 5.5 | 3.18 | 4.0 | 3.87 |
| ALL inverse-vol | +483 | 39 | 5.8 | 3.97 | 4.6 | 4.02 |
Conclusione: sì, combinare conviene.
- DD crolla: combinato 5.5–6.1% full / 4.0–4.6% OOS, contro 8.6% (fade) e 12% (honest) da sole → drawdown ridotto del 35–50%.
- Sharpe sale: combinato OOS 4.46 vs honest 2.23 (raddoppia) e batte pure fade (4.14).
- CAGR resta ~43–44% (≈ media delle due famiglie) ma con metà del rischio: è il "free lunch" della diversificazione fra sorgenti di edge scorrelate.
- Best Sharpe = equal-weight degli 11 sleeve; best DD = 50/50 fra le due famiglie.
Caveat onesti: la finestra comune è 2021–2026 (5.4 anni), OOS ~2024-10→oggi (1.6 anni) — pochi regimi. CAGR e Sharpe sono backtest a leva 3x; il 2024 cripto favorevole pesa. Il target €50/giorno resta vincolato dal capitale: 43% CAGR su €1000 non fa €50/giorno a breve, serve compounding pluriennale o più capitale. Prossimo passo: confermare il portafoglio combinato nel paper trader live.
File: scripts/analysis/combine_portfolio.py (nuovo).
Pulizia roster + miglioria ROT02
- Waste delle peggiori: MR03 Keltner (fade più debole, Sharpe 1.22, ridondante
con MR01 — rimuoverla migliora il portafoglio fade: DD 8.6→8.2, ret +549→+666)
e ROT01 (dominata da ROT02). Spostate in
scripts/waste/. - Portafogli pronti:
PORT02_fade_master(6 sleeve fade) ePORT03_all_master(9 sleeve fade+honest, varianti equal/5050). - ROT02 DD alto → migliorato: la rotazione concentrava il book su 2 asset
(DD 40%). Sweep su
rot_improved:top_k=3dimezza quasi il DD (40%→26%) e alza il ritorno full (+1095→+1303%, ret/DD 27→50). Il vol-target abbassa il DD ma sacrifica ritorno (de-leverage) → tenuto top_k=3 senza VT. Caveat onesto: l'OOS di ROT02 cala un po' (+98→+68%, DD 12→14%), ma il MASTER (config deployata) migliora lo Sharpe full 3.95→4.23. Applicato aROT02_dual_momentum.pye_rot_daily_equity. Sweep inhonest_improve.rot_improved.