Backtest di una strategia di trading: come farlo bene
Un backtest fatto male è peggio di nessun backtest: dà una falsa sicurezza su una strategia che nella realtà non funzionerà. La differenza tra un backtest affidabile e uno fuorviante non sta nella sofisticazione del codice, ma in pochi principi metodologici spesso ignorati.
Cos'è un backtest e a cosa serve davvero
Un backtest simula l'applicazione di una strategia su dati storici, per stimare come si sarebbe comportata nel passato. Il suo scopo non è dimostrare che una strategia funzionerà in futuro — nessun backtest può garantirlo — ma verificare se l'idea ha una logica statisticamente coerente e stimare il profilo di rischio a cui ci si espone.
I dati: la base di tutto
- Qualità e pulizia dei dati — errori nei prezzi storici o split azionari non corretti falsano i risultati in modo silenzioso.
- Survivorship bias — se il dataset include solo le aziende ancora quotate oggi, esclude quelle fallite o delistate, gonfiando i rendimenti storici.
- Periodo testato sufficientemente lungo — un backtest su 1-2 anni può catturare solo un regime di mercato, non rappresentativo di uno scenario ribassista o laterale.
- Coerenza tra dati e strumento reale — se si testa su dati giornalieri ma si intende operare intraday, il backtest non cattura la dinamica reale.
L'errore più pericoloso: l'overfitting
L'overfitting si verifica quando una strategia viene "ottimizzata" scegliendo i parametri che hanno funzionato meglio sui dati storici disponibili, adattandosi al rumore statistico invece che a un pattern reale e ripetibile.
Una strategia con più di 4-5 parametri liberi testata su un singolo dataset è ad alto rischio di overfitting. Se piccole variazioni nei parametri cambiano drasticamente il risultato, la strategia sta probabilmente catturando rumore, non un pattern reale.
Metodi per ridurre il rischio di overfitting:
- Out-of-sample testing — dividere i dati in un periodo di sviluppo e uno (mai visto) di validazione.
- Walk-forward analysis — ripetere ottimizzazione e validazione su finestre temporali successive.
- Semplicità dei parametri — strategie con pochi parametri e una logica economica chiara generalizzano meglio.
Costi di transazione: l'elemento che quasi tutti dimenticano
Un backtest che non include commissioni, spread e slippage sovrastima sistematicamente la profittabilità della strategia, specialmente per strategie ad alta frequenza di operazioni.
Le metriche da guardare, non solo il rendimento totale
| Metrica | Cosa misura |
|---|---|
| Drawdown massimo | La perdita massima dal picco al minimo successivo |
| Sharpe ratio | Rendimento per unità di rischio (volatilità) |
| Win rate e rapporto R:R | Definiscono insieme l'aspettativa per operazione — vedi stop loss e take profit |
| Numero di operazioni | Un campione troppo piccolo non è statisticamente significativo |
| Durata media del drawdown | Quanto tempo la strategia impiega storicamente per recuperare da una perdita massima |
Dal backtest al trading reale: il paper trading
Prima di allocare capitale reale, è buona pratica testare la strategia in paper trading per verificare che l'esecuzione pratica non introduca scostamenti significativi rispetto ai risultati simulati.
Un esempio numerico: stesso rendimento, rischio molto diverso
Due backtest possono chiudere con lo stesso rendimento totale e raccontare storie completamente diverse. La sequenza dei numeri, non solo il risultato finale, è ciò che rivela la reale rischiosità di una strategia.
Strategia A: 120 operazioni, win rate 65%, rapporto medio rischio/rendimento 1:1, drawdown massimo 12%. Rendimento totale simulato: +38% in due anni.
Strategia B: 40 operazioni, win rate 35%, rapporto medio rischio/rendimento 1:4, drawdown massimo 31%. Rendimento totale simulato: +38% negli stessi due anni.
Stesso rendimento sulla carta, ma la Strategia B richiede una tolleranza psicologica molto più alta: due terzi delle operazioni chiudono in perdita, e il capitale può scendere di quasi un terzo prima di risalire. Guardare solo il rendimento totale nasconderebbe questa differenza.
Data snooping: il rischio di testare troppe strategie sullo stesso dataset
Un errore meno noto dell'overfitting sui parametri, ma altrettanto insidioso, è il data snooping (o curve fitting): testare decine o centinaia di varianti di strategia sullo stesso set di dati storici finché una non produce risultati eccellenti "per caso" statistico, non per una logica reale.
Più strategie si testano sullo stesso dataset, più aumenta la probabilità che almeno una risulti profittevole solo per coincidenza — esattamente come lanciare una moneta cento volte aumenta la probabilità di trovare una sequenza di dieci teste consecutive, senza che la moneta sia truccata. La difesa più efficace è limitare il numero di varianti testate e riservare sempre una porzione di dati mai toccata durante lo sviluppo per la validazione finale.
Il backtest non è statico: il rischio del cambio di regime
Una strategia validata su un backtest condotto interamente in un mercato rialzista a bassa volatilità può comportarsi in modo radicalmente diverso in un mercato laterale o in una fase di alta volatilità. Includere nel periodo testato almeno un ciclo completo — una fase rialzista, una correzione significativa e una fase laterale — riduce il rischio di costruire un edge che esiste solo in un particolare regime di mercato, destinato a sparire non appena le condizioni cambiano.
Domande frequenti sul backtest
Quante operazioni servono per un backtest statisticamente significativo?
Indicativamente sotto le 100 operazioni i risultati vanno considerati con molta cautela.
Un backtest con ottimi risultati garantisce risultati simili in futuro?
No. È uno strumento di validazione della logica e del profilo di rischio, non una previsione del rendimento futuro.
Meglio backtestare su un solo titolo o su più strumenti?
Testare la stessa logica su più strumenti aiuta a verificare se la strategia cattura un pattern realmente generalizzabile.
Una volta validata la strategia, calcola il position sizing corretto in base al win rate e al rapporto rischio/rendimento osservati.
⚖️ Apri il calcolatore Kelly →