Files
PythagorasGoal/Old/docs/diary/2026-05-31-exit-study.md
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

3.8 KiB
Raw Permalink Blame History

2026-05-31 — Studio sugli EXIT delle fade: scalping, TP dinamico, TP-ATR

Innescato da una domanda operativa ("un TP è stato raggiunto, non si poteva scalpare / fare un TP dinamico?"). Studio fee-aware su MR02 (Donchian fade, segnali invariati n=20 sl_atr=2.0 max_bars=24, fee 0.10% RT, leva 3x). Tre alternative di uscita misurate contro il baseline attuale (TP = centro del canale). Verdetto: il design attuale è già ottimale; nessuna alternativa lo batte.

1. "Scalping" = timeframe più veloce (15m vs 1h)

A fee 0.10% il 15m rende di più in lordo (~4× più trade), MA è molto più fragile:

trade PnL @0% @0.10% @0.20% DD @0.10%
BTC 1h 2041 +22.768 +16.645 +10.522 29%
BTC 15m 8251 +65.286 +40.533 +15.780 29%
ETH 15m 9388 +120.103 +91.939 +63.775 62%

Da 0% a 0.20% il 15m perde ~76% del profitto (vs 54% del 1h) e il DD esplode (ETH 15m → 93% a 0.20%). 4× più trade = 4× più fee + slippage (non modellato, ma peggiore su book sottili). L'1h è scelto per il margine di sicurezza, non per il PnL lordo. Lo scalping vero (<0.3% target) è in pieno territorio "morte da fee".

2. TP dinamico / trailing ("lascia correre il vincitore")

Stessi segnali, exit per trailing a k·ATR dal massimo favorevole invece del TP fisso:

policy BTC win% ETH win% equity
FIXED (centro, attuale) 48% 49% 🟢 di gran lunga il migliore
TRAIL (lascia correre) 36% 36% 🔴 azzerato
MID+TRAIL 47% 47% 🔴 peggio

Il win-rate crolla 48%→36%: i trade che avrebbero incassato il TP fanno andata-e-ritorno e stoppano fuori. Concettuale: l'edge della fade è la reversione fino alla media; una volta toccata, l'edge è esaurito. Lasciar correre oltre = scommettere sulla continuazione, che sui perp crypto NON ha edge (rientra). È la stessa logica per cui SMA/ORB/WR (continuazione) hanno fallito: let-it-run = trend = il lato perdente.

3. TP scalato all'ATR (TP = entry + dir·m·ATR, SL fisso 2 ATR → R:R = m/2)

Config win% avg %/trade Sharpe sumRet%
BTC MID (attuale) 48% 0.816 3.8 1664
BTC ATR m=0.5 (RR0.25) 77% 0.081 1.0 217
BTC ATR m=1.0 67% 0.192 1.6 465
BTC ATR m=2.0 53% 0.563 3.0 1199
BTC ATR m=3.0 46% 0.679 3.0 1331
ETH MID (attuale) 49% 1.738 7.5 4169
ETH ATR m=0.5 77% 0.041 0.5 134
ETH ATR m=3.0 46% 1.082 4.7 2515

OOS (ultimo 30%) identico: MID batte ogni m (BTC MID avg 1.14/Sh 3.2; ETH MID avg 4.43/Sh 10.9). Due lezioni:

  • TP stretto (m=0.5) = trappola dello scalping quantificata: win-rate 77% ma edge zero/negativo (BTC 0.08%/trade). I rari stop a 2 ATR spazzano via le micro-vincite, la fee mangia il resto. Win-rate alto ≠ edge.
  • Nessun multiplo ATR fisso batte il centro del canale, su avg/trade E Sharpe, FULL e OOS, entrambi gli asset.

Verdetto unificato

Il TP al centro del canale è ottimale perché è un target adattivo alla struttura: un multiplo fisso di ATR misura solo quanta vol c'è, ma ignora dove sta la media; il centro adatta al punto reale di reversione ed è già scalato alla volatilità (il canale si allarga in regime volatile). Per una mean-reversion il punto giusto dove chiudere è la media — niente prima, niente dopo. Tre alternative escluse coi numeri (15m, trailing, TP-ATR) → la scelta di design corrente è blindata.

Nota metodologica ricorrente: diffidare del win-rate alto. Il segnale vero è rendimento-medio-per-trade × Sharpe; un TP stretto regala win-rate e nasconde l'assenza di edge. (Stesso tranello dei guru: backtest cherry-picked ad alta % di vincite.)