Introduzione alla Walk Forward Analysis
Nella Statistica Inferenziale esiste una tecnica, detta metodo di test "in sample - out of sample" o "previsione out of sample", che cerca di controllare un fenomeno sulla base dei suoi risultati campionari, scartando momentaneamente la parte più recente del campione per studiarne soltanto la parte iniziale.
Tutto ciò al fine di fare previsioni da verificare poi nella parte scartata: quanto più i valori previsti del fenomeno, basati sulla prima parte del campione, sono simili a quelli che si riscontrano nella seconda parte, tanto è migliore del modello di prevedere il fenomeno.
La Walk Forward Analisys (WFA), proposta per la prima volta da Robert Pardo (1952), usa questo metodo in maniera ricorsiva sull'arco temporale dei dati storici, per valutare la robustezza, in termini di performance e gestione del rischio, della logica di un trading system e dell'efficacia del metodo di ottimizzazione utilizzato.
Vengono ottimizzati i valori dei parametri su un segmento di dati storici di mercato (detti in sample) e poi viene verificata la performance del trading system testandolo sui dati storici di mercato immediatamente successivi a quelli sui quali è avvenuta l'ottimizzazione (detti out of sample).
Ogni coppia di step, "Ottimizzazione sulla sezione di dati in sample" e "Verifica in backtest sulla sezione di dati out of sample", costituisce un singolo Walk Forward Test (WFT).
La ripetizione dei successivi WFT sui successivi segmenti di dati storici, fino al giorno corrente o fino al più recente dato storico, costituisce la Walk Forward Analysis.
Dunque viene suddiviso un arco temporale di dati storici in una successione di finestre temporali, divisa ciascuna in dati in sample e dati out of sample.
Ogni finestra temporale è sfasata in avanti nel tempo, rispetto alla precedente finestra, di un passo di lunghezza pari al segmento temporale dei dati out of sample.
Si inizia con il Walk Forward Test partendo dalla finestra temporale più lontana nel tempo:
Step 1 - Ottimizzazione sulla 1a sezione di dati in sample
Step 2 - Verifica in backtest sulla 1a sezione di dati out of sample
Step 3 - Ottimizzazione sulla 2a sezione di dati in sample
Step 4 - Verifica in backtest sulla 2a sezione di dati out of sample
.... e così via fino al giorno corrente.
Ad esempio, supponiamo di voler effettuare una Walk Forward Analysis di un trading system su EUR/USD con time frame 1 ora.
Scegliamo una finestra di dati in sample di 4 mesi seguita da 1 mese di dati out of sample.
Decidiamo di effettuare 6 Walk Forward Test così da avere 6 mesi di simulazione di come si sarebbe comportato l' EA sui dati storici con le ottimizzazioni effettuate sui dati precedenti.
Decidiamo che l'ultimo giorno dell'ultimo backtest sia il 31 dicembre 2010.
Qual è il primo giorno da cui inizia la WFA? Cioè, qual è il primo giorno del primo WFT?
Ogni WFT occupa una finestra temporale di 5 mesi: 4 mesi di ottimizzazione ed 1 mese di verifica in backtest.
La WFA è formata da 6 WFT, ciascuno sfasato rispetto al successivo di 1 mese, corrispondente alla finestra temporale dei dati out of sample.
Il numero di mesi che coinvolge l'intera WFA risulta essere uguale a 10 mesi.
Quindi dal 31 dicembre 2010, andando indietro di 10 mesi, il primo giorno della WFA risulta essere il primo marzo 2010.
Lo scopo della WFA
Lo scopo principale della WFA è quello di determinare se la buona performance di un trading system ottimizzato è il risultato illusorio dell'overfitting, oppure è il risultato di un modello di trading robusto in grado di prevedere la dinamica dei prezzi del mercato e quindi di essere profittevole sui dati di mercato non noti, successivi alla ottimizzazione.
La Walk Forward Efficiency
La Walk Forward Analysis permette di individuare una misura unica di performance del trading system, la Walk Forward Efficiency (WFE), che è pari al rapporto tra il profitto annualizzato del rendimento dei test walk forward ed il profitto annualizzato del rendimento delle ottimizzazioni.
Un trading system ha buone possibilità di essere profittevole in real trading soltanto quando, dopo aver applicato la WFA, abbia ottenuto una performance sui dati out of sample paragonabili alle performance sui dati in sample.
Un trading system è invece in overfitting quando ha una bassa WF Efficiency, nel senso che i risultati del trading system sui dati out of sample sono nettamente minori dei risultati dell'ottimizzazione in sample.
Il principale criterio utilizzato nella Walk Forward Analysis per valutare un trading system ottimizzato è il criterio di efficienza: come regola empirica, la letteratura sulla WFA afferma che un trading system è profittevole quando la WFE è maggiore del 50%.
Come afferma il trader quantitativo Robert Pardo, creatore della procedura della Walk Forward Analysis (Design, Testing and Optimization of Trading Systems - 1991), le ricerche hanno chiaramente dimostrato che le strategie robuste di trading hanno una WFE maggiore del 50-60%.
In questi casi il trading system può venir preso in considerazione per essere utilizzato in real time.
Il passo successivo è quello di valutare come si è comportato nei test out of sample in termini di distribuzione del profitto, dei drawdown, del profit factor, dell'average trade.
Poiché un trading system deve essere valutato in entrambe le variabili profitto e rischio, Pardo afferma che ai fini di una reale possibilità di utilizzare il TS in real trading è importante che il post-optimization maximum drawdown si mantenga al di sotto del 150% dell' optimization maximum drawdown.
L' Overfitting
L' Overfitting o Sovraottimizzazione o Eccesso di Curve Fitting è letteralmente l' "eccessivo adattamento" di un modello matematico ai dati sperimentali e storici di un fenomeno, con scarsa capacità del modello di descrivere correttamente e di prevedere la dinamica futura del fenomeno stesso.
Il Curve Fitting è in Statistica il processo di costruzione di una curva, o di una funzione matematica, che abbia la migliore corrispondenza ad una serie di punti assegnati, eventualmente soggetti a limitazioni. Il Curve Fitting può implicare sia l'interpolazione, dove è richiesta un'esatta corrispondenza con i punti dati, sia lo spianamento (smoothing), dove viene costruita una funzione piana che combaci approssimativamente con i dati.
Per Robert Pardo "overfitting is optimization done wrong".
L' Overfitting è una eccessiva ottimizzazione del trading system sui dati storici, per cui il set di parametri ottimizzati permette al trading system di adattarsi moltissimo al passato, ma non lo rende in grado di valorizzarne il potenziale predittivo sui dati del mercato corrente.
In altre parole, l' Overfitting non rende il trading system profittevole sul mercato con i dati in tempo reale.
L' Overfitting si evidenzia chiaramente quando agli ottimi risultati del TS durante l'ottimizzazione si contrappongono i risultati scadenti durante il trading in real time.
Perciò si può dire che una buona e solida idea di trading può perdere denaro in real time se è stata iper ottimizzata.
Tipologie di Walk Forward Analysis
Esistono due forme di WFA,
- quella "ancorata" all'inizio dei dati: la finestra temporale dei dati in sample parte sempre dall'inizio della serie storica e aumenta di ampiezza cammin facendo,
- e quella "rolling", per cui la finestra temporale dei dati in sample ha una lunghezza invariata che parte dopo l'inizio della precedente ottimizzazione, con una lunghezza del passo che spesso si assume uguale al segmento temporale dei dati out of sample.
Per i modelli di trading che operano su barre settimanali e giornaliere è preferibile la WFA ancorata, perché se si riducesse l'ampiezza della serie storica la significatività dei segnali, che sulle serie settimanali e giornaliere sono tipicamente radi, ne soffrirebbe.
Per i trading system intraday, invece, la WFA rolling è bene adatta a cogliere la natura ondivaga delle serie storiche.