Files
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

93 lines
4.8 KiB
Markdown

# 2026-05-26 — Giorno 1: Setup e download dati
### 23:15 — Inizializzazione progetto
**Cosa:** creato struttura progetto Python con uv, git init, moduli base
**Perché:** servono fondamenta solide per ricerca iterativa. Struttura: src/data (download/storage), src/fractal (analisi pattern), src/strategies (strategie trading), src/backtest (engine di test), src/nn (reti neurali), src/utils (utility)
**Atteso:** progetto funzionante con dipendenze installate
**Reale:** in corso
### 23:20 — Verifica Cerbero MCP
**Cosa:** testato accesso API Cerbero su cerbero-mcp.tielogic.xyz per dati storici crypto
**Perché:** verificare se può fornire dati dal 2018
**Atteso:** dati storici cross-exchange (consensus multi-sorgente)
**Reale:** API funziona, dati recenti OK. Per storico 2018→oggi uso Binance via ccxt (copertura temporale maggiore, dati 1m disponibili)
### 23:25 — Script download dati
**Cosa:** creato src/data/downloader.py — scarica OHLCV da Binance per BTC/USDT e ETH/USDT su 4 timeframe (1m, 5m, 15m, 1h) dal 2018-01-01 a oggi. Formato: parquet (veloce, compresso). Supporta resume in caso di interruzione.
**Perché:** dati locali per iterazione veloce. Parquet per caricamento istantaneo vs CSV.
**Atteso:** ~4.2M candele 1m per asset, ~70K candele 1h per asset. Download 1m stimato ~30-60 min per asset.
**Reale:** in corso (avvio download)
### Metriche target
| Metrica | Valore target |
|---|---|
| Accuratezza previsione direzione | >80% |
| ROI annuo (con fees) | >30% |
| Capitale iniziale | €1.000 |
| Obiettivo giornaliero (steady state) | €50/giorno |
| Fee considerate | 0.1% maker/taker (Binance standard) |
### Approccio
1. **Focus frattali**: pattern ricorrenti multi-scala, non indicatori classici
2. **Multi-timeframe**: conferma segnali su scale diverse (1m→1h)
3. **Fuori dagli schemi**: combinare Fourier, auto-similarità, entropia di Shannon, dimensione frattale di Hausdorff
4. **Pragmatismo**: se un approccio non funziona, pivotare veloce. Misurare tutto.
### 23:40 — Analisi baseline completata
**Cosa:** analisi distribuzione pattern discreti (U/D/0) su BTC 1h, 73.557 candele 2018→2026
**Perché:** baseline per capire se pattern candlestick semplici hanno potere predittivo
**Atteso:** almeno alcuni pattern con >60% accuracy direzionale
**Reale:** NESSUN pattern supera 55% accuracy a 24h. Max: DDD→58.5% a 1h, ma scende a 53.6% a 24h. Pattern discreti semplici NON hanno edge significativo.
**Lezione:**
- Distribuzione candele quasi uniforme: UP 42.1%, DOWN 40.8%, DOJI 17.1%
- 1080 pattern unici (esattamente lo spazio teorico 3^3 + 3^4 + 3^5 + 3^6)
- Pattern alternanti (UDU, DUD) più frequenti → mercato mean-reverting a scala oraria
- Serve andare oltre: features continue (body/shadow ratios, volume), Fourier, self-similarity, ML
**Benchmark:** Buy & Hold test period: +110%, annualizzato 34.3%, Sharpe 0.52
### 23:40 — Download dati completato
**Cosa:** scaricati dati storici BTC + ETH, 3 timeframe (5m, 15m, 1h) dal 2018-01-01
**Fonti:** Cerbero MCP (Deribit) per set 2018+, Binance/ccxt per gap iniziale
**Reale:**
| Asset | TF | Candele | Peso |
|-------|-----|---------|---------|
| BTC | 5m | 882.630 | 23.6 MB |
| BTC | 15m | 294.213 | 9.1 MB |
| BTC | 1h | 73.557 | 2.8 MB |
| ETH | 5m | 882.312 | 19.4 MB |
| ETH | 15m | 294.107 | 7.9 MB |
| ETH | 1h | 73.531 | 2.5 MB |
**Note:** 1m rimandato (troppo pesante per primo round). 5m sufficiente per analisi fine-grained.
### 23:50 — Strategia 3: Fourier projection — FALLITA
**Cosa:** proiezione FFT naive su BTC 1h (ispirata dal paper Pythagoras)
**Atteso:** almeno 55% accuracy direzionale
**Reale:** 49.8% accuracy (=random), -99.9% return. Tutte le varianti parametri (W=144-588, N=5-50) identicamente pessime.
**Lezione:** FFT extrapola sinusoidi che non continuano fuori finestra. Il paper Pythagoras non fa proiezione naive — usa trasformazioni geometriche (centro inversione, riflessioni). Approccio sbagliato, non la tecnica in sé.
### 00:05 — Strategia 4: Regime-aware fractal ML — PARZIALE SUCCESSO
**Cosa:** RandomForest + GradientBoosting su features frattali (Hurst, fractal dim, self-similarity, vol ratio, momentum, candle patterns)
**Atteso:** >55% accuracy con ML su features ricche
**Reale:**
- RF: 38% accuracy (3 classi), pochissimi segnali ad alta confidenza (8 @ thr 0.55 → 100% acc)
- GB: 41.6% accuracy, MA a threshold sweep:
- thr=0.65: **63.6% accuracy**, 66 segnali, **+5.7% return**, Sharpe 0.21
- thr=0.80: **80% accuracy**, 5 segnali
- Feature importance: volatility (21%) > momentum (10%) > fractal features (6%)
**Lezione:**
1. Classificazione 3-classi troppo dispersiva → switch a binario
2. Features frattali contribuiscono ma non dominano — serve combinarle meglio
3. Trade filtering ad alta confidenza funziona: meno trade, più precisi
4. Direzione giusta: ML su features frattali produce edge reale, anche se piccolo