Bias nel backtesting (overfitting, lookahead, survivorship)
Hai passato settimane a fare il backtesting della tua strategia. I risultati sembrano incredibili: un win rate del settanta per cento, un profit factor di tre, un drawdown quasi inesistente. Sei pronto a usarla sul conto reale e fare fortuna. Poi arriva la realtà: la strategia perde denaro fin dal primo giorno.
Avvertenza sul rischio: Questo contenuto ha solo scopo educativo e non costituisce una consulenza finanziaria. Il trading sul forex comporta rischi e puoi perdere denaro.
I bias nel backtesting
Cosa è andato storto? Molto probabilmente il tuo backtest era contaminato da bias. Sono errori sistematici nel processo di test che fanno sembrare i risultati migliori di quanto siano davvero. Capire questi bias è essenziale se vuoi che il tuo backtest abbia un senso.
Questa pagina tratta i tre bias più dannosi e spiega come evitarli.
Cos’è
L'overfitting significa che hai adattato la strategia in modo così perfetto ai dati passati che funziona solo su quei dati specifici. Aggiungi una regola dopo l’altra, un filtro dopo l’altro, finché la strategia evita ogni trade perdente del passato e cattura ogni trade vincente. Sul grafico storico il risultato sembra straordinario, ma non ha alcun valore predittivo per il futuro.
È come imparare a memoria le risposte dell’esame dell’anno scorso. Prendi il massimo dei voti in quell’esame, ma vieni bocciato in quello nuovo perché le domande sono diverse.
Come succede
- Noti che la strategia perde il lunedì, quindi aggiungi una regola: niente trading il lunedì.
- Noti che perde quando l'RSI è tra 40 e 60, quindi aggiungi un filtro: opera solo quando l’RSI è sopra 60 o sotto 40.
- Noti che perde su GBP/JPY a marzo, quindi lo escludi.
- Continui ad aggiungere condizioni finché il backtest è perfetto.
Ogni regola che aggiungi adatta la strategia ai dati passati in modo più stretto, ma ogni regola la rende anche meno capace di funzionare su dati nuovi. La strategia non sta catturando un vero vantaggio di mercato: sta catturando il rumore e la casualità di un periodo specifico.
Come evitare l’overfitting
- Mantieni le regole della strategia semplici. Da tre a cinque regole al massimo. Se te ne servono dieci per farla funzionare, probabilmente è in overfitting.
- Test out-of-sample. Dividi i dati storici in due metà. Sviluppa la strategia sulla prima metà e poi testala sulla seconda senza cambiare nulla. Se funziona ancora, è più probabile che il vantaggio sia reale.
- Forward testing. Testa la strategia in tempo reale su un conto demo. Le strategie in overfitting falliscono in fretta in condizioni reali. Approfondisci nella guida al forward testing.
- Diffida dei risultati perfetti. Le strategie reali hanno equity curve irregolari, con drawdown e serie di perdite. Se la tua sembra troppo pulita, probabilmente hai fatto overfitting.
Cos’è
Il lookahead bias si verifica quando il backtest usa informazioni che non sarebbero state disponibili al momento del trade. In pratica sbirci nel futuro e usi quello che sai per prendere decisioni, cosa impossibile nel trading in tempo reale.
Come succede
- Vedi sul grafico che un supporto ha tenuto, quindi registri un trade in acquisto su quel livello. Ma in tempo reale non avresti saputo che il livello avrebbe tenuto. Avrebbe potuto rompersi.
- Usi il valore di un indicatore che si ricalcola in base a dati futuri. Alcuni indicatori fanno repaint, cioè i loro segnali cambiano dopo la chiusura della candela.
- Entri in un trade sul minimo esatto di una barra, cosa visibile sui dati storici ma quasi impossibile da eseguire in tempo reale.
- Usi i dati di fine giornata per prendere una decisione che avrebbe dovuto avvenire all’inizio della giornata.
Come evitare il lookahead bias
- Avanza una candela alla volta. Durante il backtest non guardare mai oltre la candela corrente quando prendi decisioni di trading.
- Assicurati che i tuoi indicatori non facciano repaint. Provali su un grafico in tempo reale per averne conferma.
- Entra nei trade all’apertura della candela successiva al segnale, non al miglior prezzo possibile all’interno della candela del segnale.
- Se fai backtesting manuale, copri il lato destro del grafico, così non vedi cosa succede dopo.
Cos’è
Il survivorship bias (bias di sopravvivenza) si verifica quando testi la strategia solo su strumenti o dati che esistono oggi, ignorando quelli che sono scomparsi. Nelle azioni è un problema enorme, perché le società falliscono e vengono tolte dal listino. Nel forex è meno grave, ma resta rilevante.
Come succede nel forex
- Testi la strategia su coppie di valute oggi popolari e liquide, ma alcune di queste coppie anni fa potevano essere meno liquide. Il tuo backtest presume che siano sempre state facili da negoziare.
- Eviti di testare le coppie che hanno avuto eventi estremi o anomalie (come lo shock del franco svizzero di gennaio 2015) perché sono casi isolati. Ma quegli eventi sono reali e la tua strategia deve sopravvivervi.
- Testi solo le coppie su cui hai già notato che la strategia sembra funzionare, ignorando quelle su cui non funziona. È una forma di bias di selezione strettamente legata al survivorship bias.
Come evitare il survivorship bias
- Testa la strategia su un’ampia gamma di coppie, comprese quelle che non sembrano ideali. Se la strategia funziona solo su due coppie su venti, il vantaggio potrebbe non essere reale.
- Includi i periodi di crisi nei tuoi dati. L’evento del franco svizzero del 2015, il crollo dovuto alla pandemia nel 2020 e altri movimenti estremi devono far parte dei dati di test.
- Non escludere i periodi in perdita o gli eventi anomali solo perché hanno un brutto aspetto.
Altri bias da tenere d’occhio
- Bias di conferma. Credi che la tua strategia funzioni, quindi inconsciamente interpreti i setup ambigui come ingressi validi quando sono al limite. Sii inflessibile con le tue regole.
- Bias di selezione. Testare la strategia solo nelle condizioni di mercato in cui pensi che funzionerà (solo nei trend, solo nei range). Una strategia solida va testata in tutte le condizioni.
- Bias sulla qualità dei dati. Usare dati storici scadenti, con candele mancanti, prezzi errati o errori di fuso orario. Verifica sempre che la tua fonte di dati sia affidabile. Piattaforme come TradingView e MetaTrader 4 offrono in genere dati storici solidi per il backtesting.
Il miglior processo di backtesting include queste tutele
- Scrivi regole chiare e non ambigue prima di iniziare.
- Usa un insieme di dati abbastanza ampio (almeno un anno, meglio due o più).
- Dividi i dati in un periodo in-sample per lo sviluppo e un periodo out-of-sample per la convalida.
- Mantieni la strategia semplice, con poche regole.
- Avanza una candela alla volta e non guardare avanti.
- Includi condizioni di mercato diverse e periodi di crisi.
- Prosegui con il forward testing su un conto demo.
Se segui questi passi, i risultati del tuo backtest saranno molto più affidabili e il passaggio al trading reale sarà più graduale.
