Come Gestire l'Overfitting
Wikipedia fornisce questa definizione:
L'overfitting si verifica quando un modello statistico descrive errori casuali o rumore invece della relazione sottostante.
Nel trading, questo significa creare una strategia che si adatta perfettamente al rumore passato ma non ha alcun potere predittivo in futuro. È una delle insidie più pericolose nel trading sistematico.
Il Problema della Sovra-Ottimizzazione
Quando i trader utilizzano un singolo dataset per ottimizzare più parametri — come i livelli di stop loss e take profit — il loro modello rischia di perdere la capacità di seguire il trend e di catturare invece il rumore casuale del mercato.
Il risultato è una equity line che appare splendida sul dataset di ottimizzazione, ma che crolla su dati nuovi.
Ecco un backtest su 8 anni che mostra risultati impressionanti:

Ed ecco la stessa strategia testata su 40 anni di dati:

La marcata differenza tra i due grafici rivela che l'ottimizzazione su 8 anni stava catturando rumore, non un vero vantaggio di mercato.
La Metodologia di Validazione
Ecco l'approccio che raccomando per rilevare ed evitare l'overfitting:
Passo 1 — Sviluppare il concetto di base
Parti da un'idea di strategia semplice. Usa un dataset storico di 10 anni con parametri minimi (idealmente solo stop loss e condizione di entrata). Non ottimizzare mai in modo aggressivo sul dataset di sviluppo.
Passo 2 — Ottimizzare con cautela
Se la strategia è redditizia sul dataset iniziale, ottimizza utilizzando il minor numero possibile di parametri. Ogni parametro aggiuntivo richiede più dati per essere statisticamente valido.
Passo 3 — Validare su 30+ anni
Prendi i parametri ottimizzati e testali su dati mai utilizzati in precedenza — almeno 30 anni di storia, che coprano diversi regimi di mercato.
Passo 4 — Interpretare i risultati
Quando si testa sul dataset esteso, si incontrerà uno di questi tre esiti:
- Redditività continua → Il modello cattura un comportamento di mercato genuino. Alta affidabilità.
- Performance piatta → Il comportamento di mercato mostra casualità rispetto alla tua entrata. Lo schema potrebbe non essere reale.
- Perdite → Esisteva un comportamento sottostante nella finestra temporale breve, ma da allora è cambiato. Indaga il perché.
Conclusione
Quanto meno la performance del tuo sistema di trading è sensibile a piccole variazioni dei parametri, tanto più è robusto. Il trading algoritmico di successo richiede:
- Un vantaggio statistico genuino (non rumore)
- Un'ottimizzazione conservativa dei parametri
- Validazione su dati out-of-sample che coprono più regimi di mercato
Evita la sovra-ottimizzazione. Dai priorità all'identificazione di pattern di comportamento di mercato reali, piuttosto che adattare il rumore per produrre un backtest più bello.