refactor(strategie): tieni solo MR01 mean-reversion, squeeze -> waste

L'analisi out-of-sample fee-aware ha dimostrato che l'intera famiglia
squeeze-breakout (SQ01-04, MT01, ML01, AD01, CM01, PD01) non ha edge:
le accuratezze storiche 76-82% erano un artefatto di look-ahead (ingresso
a close[i-1] con direzione decisa da close[i]). Sotto ingresso onesto a
close[i] e fee reali tutte perdono, anche a fee zero.

- nuova MR01_bollinger_fade (mean-reversion): edge netto validato OOS,
  robusto su griglia parametri e fino a 0.20% fee RT. BTC 1h n50 k2.5: +201% OOS, DD 15%
- 9 strategie squeeze spostate in scripts/waste/
- strategy_loader + strategies.yml: solo MR01 (BTC/ETH 1h)
- signal_engine.train: validazione OOS (accuratezza test + signal precision)
- scripts/analysis/strategy_research.py: harness di ricerca fee-aware

NOTA: lo StrategyWorker va aggiornato per usare gli exit TP/SL passati in
metadata prima di tradare MR01 dal vivo (ora esce solo a hold_bars/stop fisso).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Adriano Dal Pastro
2026-05-28 20:22:11 +00:00
parent ca88e62a11
commit 9879b46688
14 changed files with 506 additions and 47 deletions
+18 -35
View File
@@ -6,46 +6,29 @@ defaults:
poll_seconds: 60
retrain_hours: 24
# Solo MR01 Bollinger fade (mean-reversion): unica con edge netto validato
# out-of-sample e fee-aware. La famiglia squeeze e' in scripts/waste/.
# ATTENZIONE: MR01 esce su TP-alla-media / SL-ad-ATR / max_bars (vedi metadata
# dei Signal). Lo StrategyWorker attuale esce solo a hold_bars/stop -2% fisso:
# va aggiornato per usare gli exit in metadata PRIMA di tradare MR01 dal vivo.
strategies:
- name: SQ02_antifake_vol
- name: MR01_bollinger_fade
asset: BTC
tf: 15m
enabled: true
- name: SQ02_antifake_vol
asset: ETH
tf: 15m
enabled: true
- name: SQ01_squeeze_base
asset: BTC
tf: 15m
enabled: true
- name: ML01_squeeze_gbm
asset: ETH
tf: 15m
enabled: true
position_size: 0.15
params:
ml_threshold: 0.70
bb_window: 14
sq_threshold: 0.8
- name: MT01_squeeze_mtf
asset: BTC
tf: 15m
tf: 1h
enabled: true
params:
ema_period: 20
min_slope: 0.001
vol_filter: true
bb_window: 50
k: 2.5
sl_atr: 2.0
max_bars: 24
- name: MT01_squeeze_mtf
# ETH: edge positivo ma DD piu' alto (~70%); leva piu' bassa consigliata
- name: MR01_bollinger_fade
asset: ETH
tf: 15m
tf: 1h
enabled: true
params:
ema_period: 20
min_slope: 0.001
vol_filter: true
bb_window: 50
k: 2.5
sl_atr: 2.0
max_bars: 24