Files
PythagorasGoal/Old/docs/diary/2026-05-29-exploration.md
Adriano Dal Pastro 14522262e6 chore(reset): v2.0.0 — storico certificato Deribit mainnet, ripartenza pulita
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>
2026-06-19 15:20:59 +00:00

8.8 KiB
Raw Permalink Blame History

Diario — 2026-05-29 — Esplorazione di nuove famiglie di strategie

Obiettivo

Trovare 5-10 nuove famiglie di strategie, diverse da quelle esistenti, migliori o complementari, con DD basso e attenzione alle fee. Esplorazione onesta (no look-ahead, netto fee, OOS) condotta con agenti paralleli, ognuno su una famiglia indipendente, tutti sullo stesso harness condiviso (scripts/analysis/explore_lab.py). Lavoro sul branch strategy_explore.

Famiglie esplorate (9) ed esito onesto

Famiglia Esito Note
Pairs / spread reversion VINCITORE Market-neutral, genuinamente nuova, decorrelata
TSMOM multi-orizzonte diversificatore Marginale ma distinto (corr 0.53 con ROT02), DD basso
Stagionalità settimanale ⚠️ marginale/fragile "Mercoledì-long-24h" 7/8 asset OOS+ ma effetto concentrato a 00:00 UTC
Vol-target BTC ⚠️ marginale Sharpe 0.94 vs 0.76 buy&hold, DD ancora 44%
Stagionalità intraday (ora) rumore L'edge orario muore sotto le fee
Stagionalità mensile/turn-of-month rumore Reale in-sample, morto OOS dal 2024
Cross-sectional reversal nessun edge Perde vs equal-weight, corr 0.98 col momentum
Opening-range breakout non generalizza Solo BTC/ETH, alcuni regimi, fee-fragile
Lead-lag BTC→alt nessun edge Reazione contemporanea (corr lag+1 ≈ 0), non batte buy&hold
Momentum/continuation intraday negativo Conferma: il fade (mean-reversion) domina

7 famiglie su 9 sono rumore — e l'harness le ha rifiutate senza produrre falsi positivi (segnale che la metodologia onesta funziona). Due edge reali emergono.

Vincitore 1 — PAIRS (market-neutral) — PR01_pairs_reversion.py

Scommette sul rientro del log-ratio di due cripto verso la media (z-score). Quando z ≤ 2 → long A / short B; z ≥ +2 → l'opposto; esce al rientro (|z| ≤ 0.5) o a tempo. Engine onesto verificato in pairs_research.py (test esplicito no-look-ahead: z[i] invariato perturbando il futuro). Fee contate su 2 gambe (0.20% RT/coppia).

Validazione (netto, leva 3x, OOS = ultimo 30%, 1h):

Coppia CAGR Sharpe OOS DD anni+
ETH/BTC 144% 4.04 17% 8/9
LTC/ETH 71% 2.52 10% 7/8
ADA/ETH 77% 2.16 11% 7/8

Tutte le 10 coppie testate positive FULL+OOS, regge fee 0.40% RT/coppia, correlazione col mercato ~0.02 (market-neutral confermato). DD pieno 42-49% (alto), ma OOS DD 10-17% (buono) e soprattutto quasi-zero correlazione col resto → diversificatore eccezionale. Limite: 2 gambe (long+short), il worker live va esteso prima del live.

Vincitore 2 — TSM01 (TSMOM multi-orizzonte) — tsmom_research.py

Long-only multi-crypto: tiene equal-weight gli asset con consenso pieno del segno di momentum su 3/6/12 mesi, cash se BTC<SMA100. Distinto da ROT02 (persistenza assoluta vs ranking relativo), corr 0.53. FULL +169% / OOS +80% / DD 22% / Sharpe 1.07, mai un anno negativo, regge fee 0.40%. Verificato no-look-ahead (cheat-test esplode a +575%). Marginale come stand-alone (rende meno di ROT02) ma utile in ensemble.

Il payoff — combinare le nuove fonti col MASTER (combine_v2.py)

Le nuove sleeve sono quasi scorrelate col MASTER-9 (pairs ~0.02-0.08, TSM01 0.05). Aggiungerle migliora nettamente il portafoglio:

Portafoglio CAGR DD% Sharpe OOS DD% OOS Sharpe
MASTER-9 (base) 47 5.2 4.23 4.7 4.33
MASTER + pairs (12) 66 3.8 5.67 3.3 6.86
MASTER + TSM01 (10) 44 4.7 4.21 4.2 4.33
MASTER esteso (13) 62 3.6 5.66 3.0 6.79

I pairs sono l'aggiunta decisiva: alzano la CAGR (47→66), abbassano il DD (5.2→3.8 full, 4.7→3.3 OOS) e portano lo Sharpe OOS a 6.86 — il free-lunch della diversificazione da una fonte market-neutral scorrelata. TSM01 contribuisce poco (diluisce il ritorno) ma abbassa lievemente il DD.

Caveat onesti

  • I pairs hanno DD pieno alto (42-49%) sull'1h; il vantaggio sta nella decorrelazione, non nel DD stand-alone. Richiedono esecuzione a 2 gambe (short del perp B) — da verificare shortabilità/liquidità sugli alt e raddoppio fee nel worker.
  • Sharpe combinati 5-7 e CAGR 60%+ sono backtest a leva 3x su finestra 2021-2026 con OOS ~1.6 anni e il 2024 cripto eccezionale: numeri ottimistici, da confermare in paper trading live.
  • TSMOM e le strategie honest condividono l'overlay risk-off SMA100: parte della loro difensività è comune (non perfettamente indipendente).

Terza ondata — espansione dei meccanismi provati + 2 nuovi sondaggi

Esplorate altre 4 direzioni con agenti paralleli:

  • Fade su 6 nuovi alt (ADA/BNB/DOGE/LTC/SOL/XRP): 0 robuste. La mean-reversion fade vive solo su BTC/ETH (liquidi); sugli alt sparisce o è artefatto di pochi pump (DOGE). Coerente con la lezione del progetto.
  • Espansione PAIRS (tutte le 28 coppie): trovate 3 nuove coppie robuste → BTC/LTC (robusta 1h e 4h, Sharpe 2.21, DD 24-34%, concentrazione PnL 9%), ETH/SOL e BNB/ETH (Sharpe 2.4+, solo 1h). Pattern: sempre alt-liquido vs major, mai alt/alt. PR01 ora ha 6 coppie.
  • Low-volatility anomaly: in cripto è INVERTITA (vince l'alta vol = alta beta), ridondante con EW+risk-off/ROT02. L'anti-test high-vol stravince.
  • Confluenza multi-timeframe (fade 1h confermato da 4h): non crea edge nuovo e non migliora lo Sharpe, ma dimezza il DD di MR01 (ETH: stesso Sharpe 3.17 a DD 38% vs 63%) e stabilizza l'OOS → utile variante low-DD, non strategia indipendente.

Bilancio finale e MASTER esteso (6 pairs)

Robusti deployabili: famiglia PAIRS (6 coppie) + TSM01 (+ confluenza MTF come variante low-DD di MR01, + tilt stagionale mercoledì marginale). I 6 pairs sono quasi scorrelati col MASTER (corr 0.02-0.08). MASTER + 6 pairs:

Portafoglio CAGR DD% Sharpe OOS DD% OOS Sharpe
MASTER-9 (base) 47 5.2 4.23 4.7 4.33
MASTER + 6 pairs (15) 71 5.7 5.93 2.3 7.71
MASTER esteso +TSM01 (16) 67 5.4 5.95 2.2 7.67

Aggiungere i 6 pairs porta l'OOS DD a 2.2-2.3% (da 4.7%) con Sharpe OOS ~7.7 e tutti gli anni positivi: il guadagno di diversificazione da fonti market-neutral scorrelate.

Quarto giro — validazione anti-overfitting e irrobustimento

Tre audit scettici paralleli (walk-forward, plateau, stress, scomposizione):

Pairs — de-overfittati. Sostituita la config per-coppia (cherry-picking di z_exit/n) con una config universale n=50 z_in=2.0 z_exit=0.75 max_bars=72. Verifiche:

  • plateau (non picco): heatmap n×z_in → 20/20 celle Sharpe>1 su ETH/BTC e BTC/LTC;
  • walk-forward (train 2y / test 6m rolling): ETH/BTC 11/12 finestre positive, BTC/LTC 9/10 → edge distribuito su tutta la storia, non un regime singolo;
  • BNB/ETH scartata (era robusta solo coi suoi parametri → overfit; crolla con la universale e muore per prima allo stress costi). Famiglia ridotta a 5 pairs.
  • stress: 5/6 reggono fee+slippage realistici; solo ETH/BTC regge fee 6x (coda fee-fragile).

Master — numeri sobri. L'OOS Sharpe 7.7 / DD 2.3% è ottimistico ~50% perché l'OOS cade nel bull calmo 2024-25. Numeri onesti da usare:

  • worst-DD su finestra mobile 90g (2021-2026) = 5.7% (bear FTX) → budget DD ~6%, non 2.3%;
  • Sharpe per-semestre: mediana ~5 (min 1.2, max 12) → atteso ~5, non 7.7;
  • ogni anno e ogni semestre dal 2021 positivo (anche il 2022 bear, grazie alle gambe short);
  • equal-weight ≈ inverse-vol (non dipende da pesi fortunati);
  • regge leva 2x + slippage doppio (CAGR 36%, Sharpe 5.1);
  • rischio concentrato: i pairs portano ~57% del rischio → cap consigliato ~30-35%.
  • Config robusta raccomandata: MASTER-esteso, equal-weight, leva 2x, cap pairs ~30-35%.

TSM01 — confermato robusto (36/36 config OOS+, walk-forward stabile) ma corr reale con ROT02 = 0.62 (non 0.53), e gran parte del DD basso viene dall'overlay risk-off condiviso. Tenuto come diversificatore con gross 0.30 (stesso Sharpe, DD 22%→15%).

Confluenza multi-TF — SCARTATA: era overfit. Taglia il 97% dei trade (restano ~40 in 8 anni = non significativo), distrugge lo Sharpe (1.58→0.27 su BTC) e il caso "bello" non sopravvive alle perturbazioni. Per abbassare il DD di MR01 meglio ridurne la leva, non il filtro 4h.

Risultato del giro: quanto trovato regge l'esame anti-overfit (NON è l'errore squeeze), ma i numeri vanno comunicati sobri (Sharpe ~5, DD ~6%) e con leva 2x + cap pairs. Famiglia pairs consolidata a 5 coppie con config universale; confluenza MTF rimossa dai vincitori.

File creati (branch strategy_explore)

scripts/analysis/explore_lab.py (harness onesto condiviso), pairs_research.py (verifica + ricerca pairs), tsmom_research.py (TSM01), combine_v2.py (master esteso); scripts/strategies/PR01_pairs_reversion.py (artefatto pairs).