docs: update CLAUDE.md with post-research state (TP01 winner + research outcome)
This commit is contained in:
@@ -16,6 +16,30 @@ Cosa è cambiato:
|
|||||||
- L'esecuzione è **DISABILITATA**, il conto mainnet è flat. **Non c'è trading live attivo.**
|
- L'esecuzione è **DISABILITATA**, il conto mainnet è flat. **Non c'è trading live attivo.**
|
||||||
- Si riparte dalla ricerca di strategie NUOVE, su dati certi, con la metodologia qui sotto.
|
- Si riparte dalla ricerca di strategie NUOVE, su dati certi, con la metodologia qui sotto.
|
||||||
|
|
||||||
|
### Ricerca post-reset (2026-06-19) — esito
|
||||||
|
|
||||||
|
Prima ondata di ricerca onesta su BTC/ETH certificati (5 track, harness condiviso
|
||||||
|
`src/backtest/harness.py`). Sintesi in `docs/diary/2026-06-19-research-synthesis.md`.
|
||||||
|
|
||||||
|
- **VINCITRICE (l'unica robusta e profittevole): TP01 Trend Portfolio** —
|
||||||
|
`src/strategies/trend_portfolio.py`. TSMOM multi-orizzonte (1-3-6 mesi) vol-targeted,
|
||||||
|
50/50 BTC+ETH. Config canonica **PORT LF4h** (4h, long-flat, vol-target 20%, leva cap 2x):
|
||||||
|
**CAGR ~16.6%, Sharpe ~1.32-1.36, maxDD ~12-14%, positiva ogni anno 2019-2026**.
|
||||||
|
Robusta su tutti i TF (15m-1d), regge fee fino a 0.40% RT, su entrambi gli asset.
|
||||||
|
Paper trader: `scripts/live/paper_trend.py`. Test: `tests/test_trend_portfolio.py`.
|
||||||
|
- **Edge deboli ma reali** (NON standalone, NON migliorano il portafoglio): ML walk-forward
|
||||||
|
su BTC (Sharpe ~0.57), trend 1h long-short (Sharpe ~1.0), relative-value market-neutral
|
||||||
|
ETH/BTC (scorrelato ~0.05 ma Sharpe solo 0.27 → troppo debole per alzare lo Sharpe).
|
||||||
|
- **MORTO/confermato artefatto:** mean-reversion / fade (negativo anche a fee zero su dati
|
||||||
|
certi — la vecchia libreria +201%/+1238% era pura contaminazione); trend 5m/15m (fee).
|
||||||
|
- **Soffitto strutturale:** con i soli BTC/ETH lo Sharpe di portafoglio si ferma a **~1.3**.
|
||||||
|
Combinare TF o aggiungere la RV non aiuta (ridondanza/edge troppo debole).
|
||||||
|
- **Onestà sul target €50/giorno:** NON raggiungibile su 2000 in 1-2 anni (servono ~130k di
|
||||||
|
capitale o un DD da rovina). La leva non è la scorciatoia; la via è target-vol + capitale +
|
||||||
|
tempo. La strategia che *guadagna* esiste, ma a ~+€1.5/giorno su 2000.
|
||||||
|
|
||||||
|
Script ricerca: `scripts/research/track{A,B,C,D,E}_*.py` + `trackD_timing.py`.
|
||||||
|
|
||||||
## Obiettivo
|
## Obiettivo
|
||||||
|
|
||||||
Ricerca: riconoscimento pattern frattali per trading algoritmico su crypto. Target dichiarato
|
Ricerca: riconoscimento pattern frattali per trading algoritmico su crypto. Target dichiarato
|
||||||
@@ -35,9 +59,13 @@ netto fee, out-of-sample, robusto su griglia, e su dati certificati + liquidi +
|
|||||||
src/data/downloader.py → load_data(asset, tf): legge i parquet certificati da data/raw/
|
src/data/downloader.py → load_data(asset, tf): legge i parquet certificati da data/raw/
|
||||||
src/strategies/base.py → Strategy (ABC), Signal, BacktestResult, YearlyStats
|
src/strategies/base.py → Strategy (ABC), Signal, BacktestResult, YearlyStats
|
||||||
src/strategies/indicators.py → indicatori condivisi (ema, atr, keltner, ...)
|
src/strategies/indicators.py → indicatori condivisi (ema, atr, keltner, ...)
|
||||||
|
src/strategies/trend_portfolio.py → TP01: strategia VINCENTE (PORT LF4h), causale, deployabile
|
||||||
src/fractal/ → indicatori frattali (patterns.py, indicators.py, similarity.py)
|
src/fractal/ → indicatori frattali (patterns.py, indicators.py, similarity.py)
|
||||||
src/backtest/engine.py → engine di backtesting riusabile
|
src/backtest/engine.py → engine di backtesting riusabile
|
||||||
|
src/backtest/harness.py → harness ONESTO (load BTC/ETH, backtest_signals no-leakage, OOS)
|
||||||
src/version.py → APP_VERSION (legge il file VERSION)
|
src/version.py → APP_VERSION (legge il file VERSION)
|
||||||
|
scripts/research/ → ricerca post-reset: track{A-E}_*.py (trend/ML/MR/portfolio/xsec)
|
||||||
|
scripts/live/paper_trend.py → paper trader forward-only di TP01 (no esecuzione reale)
|
||||||
scripts/analysis/ → SOLO i tool dati certificati:
|
scripts/analysis/ → SOLO i tool dati certificati:
|
||||||
rebuild_history.py → (ri)costruisce lo storico da Deribit mainnet (base 5m + resample)
|
rebuild_history.py → (ri)costruisce lo storico da Deribit mainnet (base 5m + resample)
|
||||||
certify_feed.py → certifica il feed (integrità, coerenza resample, spike, cross-venue)
|
certify_feed.py → certifica il feed (integrità, coerenza resample, spike, cross-venue)
|
||||||
@@ -57,7 +85,10 @@ uv sync # installa dipende
|
|||||||
uv run python scripts/analysis/rebuild_history.py --asset BTC ETH # (ri)costruisci storico da Deribit mainnet
|
uv run python scripts/analysis/rebuild_history.py --asset BTC ETH # (ri)costruisci storico da Deribit mainnet
|
||||||
uv run python scripts/analysis/certify_feed.py # certifica i feed (locale + cross-venue)
|
uv run python scripts/analysis/certify_feed.py # certifica i feed (locale + cross-venue)
|
||||||
uv run python scripts/analysis/certify_feed.py --local # solo check locali (veloce)
|
uv run python scripts/analysis/certify_feed.py --local # solo check locali (veloce)
|
||||||
uv run pytest # test (da ripopolare con le nuove strategie)
|
uv run python scripts/research/trackD_trendport.py # backtest strategia vincente (full report)
|
||||||
|
uv run python scripts/research/trackD_timing.py # vincitrice su 15m/1h/4h/1d + PnL/DD/trade per anno
|
||||||
|
uv run python scripts/live/paper_trend.py # avanza il paper trader TP01 (forward-only)
|
||||||
|
uv run pytest # test
|
||||||
```
|
```
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
|||||||
Reference in New Issue
Block a user