Cos’è l’esercitazione di backtesting?
L’esercitazione di backtesting è il processo di applicare un insieme di regole di trading predefinito a dati storici di mercato, e poi rivedere i risultati che si sarebbero verificati seguendo tali regole. L’obiettivo è l’apprendimento e la valutazione: confronti ciò che le regole avrebbero fatto in passato con metriche chiare (ad esempio, drawdown, frequenza degli scambi o coerenza), senza affermare che gli stessi risultati si verificheranno in futuro.
Una distinzione chiave è che il backtesting di solito si basa su “cosa avrebbero fatto le regole”. Se l’approccio dipende da un giudizio che non può essere riprodotto dal record storico (ad esempio, decisioni discrezionali che richiedono informazioni disponibili solo in tempo reale), il backtest diventa meno affidabile perché non può ricreare fedelmente il processo decisionale.
Come funziona l’esercitazione di backtesting
Il backtesting non consiste solo nel “far girare una strategia su un grafico”. Un flusso di lavoro pratico di backtesting in genere include:
1) Definire regole e ambito di valutazione
Per prima cosa, specifichi le condizioni che attivano ingressi e uscite e come funziona il dimensionamento della posizione. Per essere testabili, queste condizioni devono essere esprimibili a partire dai dati disponibili al momento del trade. Decidi anche l’ambito di valutazione: un singolo mercato, un periodo di tempo e se stai testando uno strumento o più strumenti.
2) Preparare i dati storici
Successivamente, raccogli i dati sui prezzi per il periodo di tempo scelto. La qualità è importante perché i backtest possono essere distorti da problemi come gap, timestamp errati, operazioni societarie (quando rilevanti) o differenze tra prezzi bid/ask e prezzi mid. Anche quando il dataset è “completo”, potrebbe non rappresentare esattamente i prezzi che un ordine live avrebbe ricevuto.
3) Scegliere le assunzioni sull’esecuzione
Il backtesting richiede assunzioni sull’esecuzione degli ordini. I punti decisionali comuni includono:
- Come modelli i riempimenti (ad esempio, usando l’apertura della barra, la chiusura della barra o un approccio più granulare).
- Come gestisci spread e commissioni.
- Se gli ordini possono essere eseguiti al prezzo previsto o se è inclusa la slippage.
Queste scelte sono spesso la differenza tra un backtest che è solo una stima approssimativa e uno che è più vicino a come potrebbero comportarsi gli ordini.
4) Eseguire il test e misurare i risultati
Poi applichi le regole alla serie storica e registri gli esiti. Le metriche tipiche includono la performance netta nel periodo, il drawdown massimo, l’esito medio di ogni trade e quanto i risultati siano stabili nel tempo. L’enfasi è sull’identificazione di pattern e debolezze (ad esempio, se la performance dipende da un piccolo numero di trade insoliti).
5) Validare con nuove porzioni di dati
Una pratica comune è valutare le stesse regole su porzioni di dati non usate durante la definizione delle regole. Questo non “dimostra” la performance futura, ma aiuta a rilevare se l’approccio si limita a “calzare” una specifica finestra storica.
Limiti, rischi e incertezze rilevanti
L’esercitazione di backtesting può essere utile, ma ha limiti ben noti. I rischi principali derivano da come viene costruito il backtest e da ciò che assume.
Realismo dei dati e differenze di esecuzione
I prezzi storici non sono una replica perfetta del trading live. Anche senza cambiare le regole, l’esecuzione nei mercati reali può differire a causa di spread, comportamento della coda degli ordini, latenza e slippage. Se il backtest usa assunzioni semplificate (come riempimenti a prezzi ideali), i risultati possono apparire più forti di quanto sarebbe realisticamente ottenibile.
Overfitting e “ottimizzazione sulla storia”
L’overfitting avviene quando le regole e i parametri vengono modificati per adattarsi troppo da vicino ai dati passati. Ad esempio, cambiare ripetutamente i parametri dopo aver visto i risultati del backtest può creare un adattamento al rumore. In quel caso, la performance sul campione storico specifico potrebbe non trasferirsi ad altri periodi.
Survivorship e effetti di selezione
Se testassi solo strumenti o periodi di tempo che mostrano convenientemente una buona performance, introduci un bias di selezione. Allo stesso modo, usare solo dati che “sono sopravvissuti” o che sono facilmente disponibili può rappresentare in modo errato l’ambiente di trading completo che esisteva quando le regole sarebbero state testate.
Cambiamenti di regime e non-stazionarietà
I mercati possono cambiare comportamento nel tempo a causa di variazioni di liquidità, volatilità, comportamento dei partecipanti o condizioni macro. Il backtesting assume che la relazione tra segnali e dinamiche dei prezzi sia sufficientemente stabile durante il periodo testato. Quando i regimi di mercato cambiano, le stesse regole possono sottoperformare.
Comfort fuorviante da una singola metrica
Un backtest può produrre un punteggio favorevole su una singola metrica mentre nasconde problemi seri. Ad esempio, un metodo può mostrare risultati medi positivi ma avere drawdown elevati o performance scarsa durante specifici sotto-periodi. Fare affidamento su un singolo risultato in evidenza può nascondere il rischio.
Come verificare in modo indipendente i risultati del backtesting (senza garanzie)
Poiché il backtesting è sensibile alle assunzioni, la verifica indipendente si concentra sul controllo della costruzione piuttosto che sulla fiducia nella performance in evidenza.
Puoi fare controlli incrociati tramite:
- Testare la stessa logica di regole su più periodi di tempo.
- Verificare se gli esiti restano coerenti quando cambi le assunzioni sull’esecuzione entro limiti ragionevoli.
- Confrontare i risultati usando diverse granularità dei dati (quando disponibili) per vedere se la performance dipende da una specifica rappresentazione del prezzo.
- Rivedere se le regole sarebbero state implementabili con le informazioni disponibili al momento.
Anche con una verifica accurata, il backtesting non può garantire esiti futuri. Tuttavia, può aiutarti a capire quali assunzioni e scelte sui dati influenzano materialmente i risultati e dove l’incertezza è più alta.
Esercitazione di backtesting vs attività di apprendimento correlate
L’esercitazione di backtesting è diversa dal semplice rivedere grafici passati o dall’individuare pattern visivamente. L’ispezione visiva può confermare che il prezzo si è mosso in una certa direzione, ma non testa un insieme di regole completamente specificato e ripetibile. Il backtesting, quando viene fatto con regole esplicite, assunzioni strutturate sull’esecuzione e valutazione nel tempo, concentra l’apprendimento sulla ripetibilità e sugli esiti misurabili, invece che sulla memoria o sull’interpretazione.
Per un contesto più profondo su come il backtesting si inserisce in approcci di apprendimento più ampi, può essere utile anche rivedere come i concetti di imparare a fare trading Forex si collegano alla disciplina di processo e agli standard di valutazione.
Se vuoi dettagli più mirati, puoi anche confrontare come il backtesting differisca da concetti Forex correlati oppure rivedere esempi svolti di come le regole vengono applicate passo dopo passo.