Adriano f42fec9fac feat(strategy4): MT01 squeeze+MTF 82.7% acc — batte SQ02, 6 strategie scartate
Nuova strategia MT01: squeeze 15m + momentum EMA 1h
  BTC 15m: 82.7% acc, 503 trades, DD 5.9%, 9/9 anni, worst 72%
  ETH 15m: 81.2% acc, 404 trades, DD 2.9%, 9/9 anni, worst 73%

Strategie testate e scartate (waste W23-W28):
  IB01 inside bar (58.7%, no edge)
  DC01 donchian (48%, sotto random)
  SB01 retest (52%, no edge)
  MR01 mean reversion RSI (62.9%, DD 29%)
  VO01 volume spike (64.2%, DD 34%)
  HY01 squeeze+MR (64.6%, DD 14.5%)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 00:38:11 +02:00

PythagorasGoal

Sistema di riconoscimento pattern frattali e predizione per il trading di criptovalute (BTC, ETH), ispirato al framework teorico di Serleto & Malanga (Pythagoras Trading Prediction).

Obiettivo

Partendo da un capitale iniziale di €1.000, raggiungere un profitto medio di €50 al giorno entro 68 mesi, tramite strategie algoritmiche che combinano analisi frattale, squeeze di volatilità e machine learning.

Risultati

Oltre 30 strategie testate su dati storici 20182026 (BTC e ETH, timeframe 15m / 1h). Le migliori:

Codice Strategia Accuracy Trades Max DD €/giorno Robustezza
SQ02 Antifake+Vol BTC 15m 79.7% 1250 6.5% €5.23 9/9 anni
ML01 Squeeze+GBM BTC 15m 79.1% 1929 5.5% €8.45 5/5 anni
SQ02 Antifake+Vol ETH 15m 78.6% 942 3.4% €4.33 8/9 anni
SQ02 Antifake+Vol BTC 1h 78.0% 473 3.5% €3.85 9/9 anni
SQ01 Squeeze Base ETH 15m 76.4% 2948 6.2% €10.31 9/9 anni
ML01 Squeeze+GBM ETH 15m 76.7% 1210 4.2% €11.12 5/5 anni

La strategia più robusta (SQ02 BTC 15m) mantiene accuracy ≥73% ogni anno dal 2018 con Sharpe 5.01.

Come funziona

Volatility Squeeze Breakout

Il meccanismo centrale sfrutta i cicli naturali di compressione ed espansione della volatilità:

  1. Compressione — le Bollinger Bands entrano dentro i Keltner Channel (il prezzo si muove sempre meno, accumulando "energia").
  2. Breakout — le bande escono dal canale. Un impulso direzionale parte.
  3. Filtri — anti-fakeout (scarta breakout con retrace >60%) + volume confirmation (breakout >1.3× media).
  4. ML opzionale — un modello GradientBoosting (GBM), addestrato walk-forward su feature strutturali, conferma la direzione e filtra i segnali deboli.

Feature ML (44 dimensioni)

  • Rapporti body/shadow normalizzati su finestre multiple (12, 24, 48 candele)
  • Momentum, volatilità, skewness, kurtosis dei rendimenti logaritmici
  • Autocorrelazione lag-1 e profilo volumetrico
  • Durata della fase di squeeze e rapporto di espansione Keltner
  • Posizione del prezzo rispetto al range recente e ATR normalizzato

Struttura progetto

PythagorasGoal/
├── src/
│   ├── data/              # Download e gestione dati (Cerbero MCP + Binance)
│   ├── fractal/           # Indicatori frattali: Hurst, Higuchi FD, self-similarity
│   ├── backtest/          # Motore di backtesting con fee e metriche
│   ├── strategies/        # Classe base Strategy ABC + indicatori condivisi
│   │   ├── base.py        # Strategy, Signal, BacktestResult, YearlyStats
│   │   └── indicators.py  # keltner_ratio, detect_squeezes, ema, atr, rv, corr
│   └── live/              # Paper trading live su Deribit testnet
│       ├── multi_runner.py     # Orchestratore multi-strategia
│       ├── strategy_worker.py  # Worker indipendente con stato persistente
│       ├── strategy_loader.py  # Import dinamico classi Strategy
│       ├── cerbero_client.py   # Client HTTP per Cerbero MCP
│       ├── signal_engine.py    # Squeeze + ML real-time (per ML01)
│       └── telegram_notifier.py
├── scripts/
│   ├── strategies/        # Strategie attive (SQ01-SQ04, ML01)
│   ├── waste/             # Strategie scartate (W01-W22)
│   └── analysis/          # Script di confronto e report
├── strategies.yml         # Config multi-strategy paper trader
├── data/
│   └── raw/               # Parquet OHLCV (gitignored, ~70 MB)
├── docs/
│   ├── diary/             # Diario di ricerca giornaliero
│   └── specs/             # Specifiche di design
├── Dockerfile
├── docker-compose.yml
└── pyproject.toml

Strategie attive

Tutte le strategie estendono src.strategies.base.Strategy con interfaccia comune: generate_signals() → backtest() → report().

Codice Script Tipo Descrizione
SQ01 SQ01_squeeze_base.py Regole Squeeze breakout puro
SQ02 SQ02_squeeze_antifake_vol.py Regole Squeeze + antifakeout + volume confirm
SQ03 SQ03_squeeze_all_filters.py Regole Squeeze + filtri selezionabili (9 preset)
SQ04 SQ04_squeeze_ultimate.py Regole Combo incrementali con correlazione/trend
ML01 ML01_squeeze_gbm.py ML Squeeze + GBM walk-forward

Per eseguire il backtest di una strategia:

uv run python scripts/strategies/SQ02_squeeze_antifake_vol.py

Paper Trading Live

Il multi-strategy runner esegue N strategie in parallelo su dati live da Cerbero MCP, ognuna con €1000 USDC virtuali indipendenti.

Avvio

# Locale
uv run python -m src.live.multi_runner

# Docker
docker compose up -d

Configurazione

Le strategie attive sono definite in strategies.yml:

defaults:
  capital: 1000
  position_size: 0.15
  leverage: 3

strategies:
  - name: SQ02_antifake_vol
    asset: BTC
    tf: 15m
    enabled: true

Per aggiungere una strategia: nuova riga in strategies.yml, poi docker compose restart. Lo storico delle strategie esistenti rimane intatto.

Persistenza

Ogni strategia ha la sua directory in data/paper_trades/:

data/paper_trades/
  SQ02_antifake_vol__BTC__15m/
    trades.jsonl    # Storico trade append-only
    status.json     # Stato corrente (resume al restart)

Notifiche Telegram per ogni trade (richiede TELEGRAM_BOT_TOKEN e TELEGRAM_CHAT_ID in .env).

Setup

# Clona e installa
git clone <repo-url> && cd PythagorasGoal
uv sync

# Scarica dati storici (~70 MB)
uv run python -m src.data.downloader

# Backtest strategia migliore
uv run python scripts/strategies/SQ02_squeeze_antifake_vol.py

# Paper trading live
uv run python -m src.live.multi_runner

Requisiti

  • Python ≥ 3.11
  • uv come package manager
  • Accesso a Cerbero MCP (cerbero-mcp.tielogic.xyz) per dati Deribit live
  • Docker (opzionale, per deploy su VPS)

Dati

Asset Timeframe Candele Copertura
BTC 5m / 15m / 1h 883K / 294K / 74K 2018-01 → oggi
ETH 5m / 15m / 1h 882K / 294K / 74K 2018-01 → oggi

Fonte primaria: Deribit perpetual via Cerbero MCP. Fallback: Binance spot via ccxt. Formato: Apache Parquet.

Riferimenti

  • Serleto, L. & Malanga, C. — Pythagoras Trading Prediction (2024)
  • Serleto, L. & Malanga, C. — Libro dei Frattali (2024)

Licenza

Uso privato. Non destinato alla distribuzione.

S
Description
No description provided
Readme 64 MiB
Languages
Python 98.8%
JavaScript 1.1%