14522262e6
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>
156 lines
8.8 KiB
Markdown
156 lines
8.8 KiB
Markdown
# 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).
|