feat: strategie 1-10, framework analisi frattale, download dati storici BTC/ETH
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# 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
|
||||
@@ -0,0 +1,72 @@
|
||||
# 2026-05-27 — Giorno 2: Strategie e risultati
|
||||
|
||||
### 00:00 — Strategia 5: Enhanced fractal (DATA LEAKAGE trovata!)
|
||||
|
||||
**Cosa:** GBM con features multi-window (4 finestre × 9 features), classification binaria, BTC + ETH su 3 lookahead
|
||||
**Atteso:** miglioramento rispetto a #4 con più features e classificazione binaria
|
||||
**Reale:** risultati iniziali troppo belli (84.5% accuracy BTC, 85% ETH) → **DATA LEAKAGE TROVATA**
|
||||
**Bug:** `returns[i-w : i]` includeva `returns[i-1]` che usa `close[i]` (1 candle nel futuro)
|
||||
**Fix:** cambiato a `returns[i-w : i-1]` — re-run in corso
|
||||
**Lezione:** SEMPRE verificare che nessuna feature usi dati oltre il timestamp di decisione. Returns ha off-by-one insidioso.
|
||||
|
||||
### 00:10 — Strategia 6: Structural Pattern KNN + GBM
|
||||
|
||||
**Cosa:** features normalizzate da finestra OHLC (close norm, body, direction, shadow, volume), con KNN e GBM
|
||||
**Reale:**
|
||||
- KNN: max 55.9% accuracy (K=100, thr=0.65) → edge minimo
|
||||
- **GBM: thr=0.65, 795 trades, 58.6% accuracy, +57.5% return** ← MIGLIOR SINGOLO (senza leakage)
|
||||
**Lezione:** features strutturali normalizzate battono features raw. GBM >> KNN per questo tipo di dati.
|
||||
|
||||
### 00:20 — Strategia 7: LSTM
|
||||
|
||||
**Cosa:** LSTM (2 layer, 64 hidden, dropout 0.3) su sequenze di 48 candele × 6 features per-candle
|
||||
**Reale:**
|
||||
- BTC test: 51.9% base, ma thr=0.60: **58.4% accuracy, 214 trades, +4.3%**
|
||||
- BTC thr=0.65: **64.3% accuracy** ma solo 14 trade
|
||||
- ETH: 52.6% base, thr=0.55: **54.5%, +19.9%**
|
||||
- Training su CPU (CUDA non disponibile) → 14 epoch con early stopping
|
||||
**Lezione:** LSTM cattura pattern ma non aggiunge molto rispetto a GBM su features ingegnerizzate. Edge comparabile (~58-64%) con molte meno features. CPU training lento.
|
||||
|
||||
### 00:30 — Strategia 8: Ensemble multi-timeframe
|
||||
|
||||
**Cosa:** 3 modelli (structural 1h, multi-tf 15m, combined) con voting e media probabilità
|
||||
**Reale:**
|
||||
- M1_structural thr=0.65: 829 trades, **58.3% acc, +53.4%, 17.8% annualizzato**
|
||||
- M2_multi_tf: scarso (15m features da sole non bastano)
|
||||
- Ensemble agree≥2, thr=0.65: 520 trades, **59.2% accuracy, +19.9%**
|
||||
- Ensemble agree≥3, thr=0.65: 27 trades, **70.4% accuracy** ma pochi trade
|
||||
**Lezione:**
|
||||
1. Multi-timeframe aggiunge margine (+1% accuracy nell'ensemble)
|
||||
2. Consensus forte (3/3) raggiunge 70%+ ma troppo pochi trade
|
||||
3. Il collo di bottiglia è la frequenza segnali ad alta confidenza
|
||||
|
||||
### 00:45 — Strategie 9 e 10 in esecuzione
|
||||
|
||||
- **#9**: Walk-forward validation con GBM, features combinate structural+fractal
|
||||
- **#10**: High precision (target >80%) con ensemble 5 modelli (2×GBM, RF, ExtraTrees, LogReg), consensus voting, leva 3x
|
||||
|
||||
### Riepilogo risultati validi (no leakage)
|
||||
|
||||
| # | Nome | Accuracy | Return | Ann. | Trades | Note |
|
||||
|---|------|----------|--------|------|--------|------|
|
||||
| 6 | GBM structural | 58.6% | +57.5% | ~20% | 795 | Miglior singolo |
|
||||
| 8/M1 | Structural WF | 58.3% | +53.4% | 17.8% | 829 | Robusto |
|
||||
| 8/ens | Ensemble 2/3 | 59.2% | +19.9% | 7.2% | 520 | Più filtrato |
|
||||
| 8/ens3 | Ensemble 3/3 | 70.4% | +11.3% | 4.2% | 27 | Alta acc, pochi trade |
|
||||
| 4 | GBM fractal | 63.6% | +5.7% | ~3% | 66 | Pochi ma precisi |
|
||||
| 7 | LSTM | 58.4% | +4.3% | 3.1% | 214 | Comparabile a GBM |
|
||||
|
||||
### Analisi gap verso target
|
||||
|
||||
| Target | Attuale | Gap |
|
||||
|--------|---------|-----|
|
||||
| Accuracy >80% | max 70.4% (ens 3/3) | serve +10% |
|
||||
| ROI annuo >30% | max ~20% (structural) | serve +10% |
|
||||
| €50/giorno da €1000 | richiede ~5% daily | richiede crescita capitale su 6 mesi |
|
||||
|
||||
### Prossimi passi
|
||||
|
||||
1. Verificare strategia 5 corretta (senza leakage)
|
||||
2. Risultati strategia 9 (walk-forward) e 10 (high precision ensemble)
|
||||
3. Se accuracy ancora insufficiente: provare features da 5m aggregati, o approach completamente diverso (reinforcement learning?)
|
||||
4. Valutare combinazione: multi-asset (BTC+ETH) per diversificazione
|
||||
@@ -0,0 +1,17 @@
|
||||
# Diario di Ricerca — PythagorasGoal
|
||||
|
||||
Registro cronologico di ogni passo del progetto: decisioni, esperimenti, risultati attesi e reali.
|
||||
|
||||
## Formato entry
|
||||
|
||||
Ogni entry segue il formato:
|
||||
|
||||
```
|
||||
### YYYY-MM-DD HH:MM — Titolo
|
||||
|
||||
**Cosa:** descrizione azione
|
||||
**Perché:** motivazione
|
||||
**Atteso:** risultato previsto
|
||||
**Reale:** risultato effettivo
|
||||
**Note:** osservazioni, lezioni apprese
|
||||
```
|
||||
Reference in New Issue
Block a user