Quali sono i Limiti del Backtesting degli EA?
Risposta diretta
Il backtesting degli EA è il processo di esecuzione di un expert advisor (EA) su dati di mercato storici per stimare come si sarebbe comportato in passato. Il limite principale è l’incertezza: ciò che ha funzionato in passato potrebbe fallire in futuro perché i prezzi futuri, la liquidità, la volatilità e gli attriti di trading possono differire, e perché l’ambiente di test potrebbe non rispecchiare l’esecuzione reale.
Meccanica e ipotesi assunte
Il backtesting richiede tipicamente: (1) le regole dell’EA, (2) dati storici sui prezzi e (3) un insieme di ipotesi di modellizzazione su come sarebbero stati eseguiti gli ordini. Tali ipotesi possono includere il comportamento di spread e commissioni, se gli ordini siano eseguiti al prezzo indicato o con ritardi, e come viene gestito lo slippage. Anche se la logica dell’EA è stabile, il test è realistico solo quanto lo è l’ambiente di test.
Un modo utile per affrontare il problema è distinguere tra meccaniche stabili e condizioni variabili:
- Meccaniche stabili: le regole decisionali dell’EA e la logica di generazione degli ordini.
- Condizioni variabili: i regimi di mercato, la liquidità, gli spread denaro-lettera, la velocità di esecuzione e i costi di trading effettivamente sostenuti.
Se il backtest tratta le condizioni variabili in modo troppo ideale (ad esempio, usando gli stessi spread mostrati nel grafico o ignorando lo slippage), i risultati simulati possono differire sistematicamente da quelli ottenuti quando l’EA opera con vincoli reali.
Evidenze o esempi di possibili fallimenti
Considera un backtest che mostra rendimenti elevati utilizzando barre storiche. Nel trading reale, possono emergere almeno tre categorie di differenze:
- Differenze nei dati: il feed storico potrebbe non rappresentare esattamente il percorso dei prezzi tick-by-tick.
- Differenze nell’esecuzione: gli eseguiti potrebbero essere peggiori a causa di slippage, esecuzioni parziali o latenza.
- Differenze nell’ambiente: l’EA potrebbe dipendere da condizioni di volatilità o trend che in seguito cambiano.
Anche senza errori di codifica, queste differenze possono alterare i tempi degli scambi e la sequenza di entrate/uscite, il che è cruciale per strategie sensibili al posizionamento degli ordini e alla microstruttura del mercato.
Limitazioni e rischi
I principali modi di fallimento includono:
- Overfitting alla storia: un EA può apparire ottimizzato su modelli passati, mentre i mercati futuri seguiranno dinamiche diverse.
- Bias di look-ahead e perdite di assunzioni nascoste: le impostazioni del test potrebbero accidentalmente usare informazioni che l’EA non avrebbe avuto in tempo reale.
- Bias di sopravvivenza e selezione: se il periodo testato è stato scelto perché appariva favorevole, i risultati potrebbero non essere generalizzabili.
- Sottostima di costi ed esecuzione: piccole differenze in commissioni, spread e slippage possono influenzare materialmente la redditività, specialmente per strategie con trading frequente.
Una limitazione chiave è la discrepanza tra “relazioni storiche” e “risultati futuri”. Le prestazioni storiche possono riflettere molte condizioni transitorie; non costituiscono una prova che tali condizioni persistano.
Verifica o prossima domanda
Per verificare in modo indipendente cosa un backtest può o non può rivelare, concentrati su quanto l’ambiente di test rispecchi i vincoli reali di trading: la qualità dei dati, il trattamento di spread e commissioni, e la modellizzazione di slippage e tempistiche di esecuzione degli ordini. Se le prestazioni di un EA dipendono fortemente da ipotesi molto specifiche, il backtest è meno utile come prova.
Una buona domanda successiva è: “Quali input e ipotesi di esecuzione cambierebbero maggiormente i risultati degli scambi, e quanto sono sensibili i risultati a variazioni ragionevoli di tali ipotesi?”