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 individuare un fenomeno sulla base dei risultati campionari, scartando momentaneamente la parte più recente del campione per studiare la parte iniziale, al fine di fare previsioni da verificare poi nella parte scartata: quanto più i valori previsti del fenomeno, basandosi sulla prima parte del campione, sono simili a quelli che si riscontrano nella seconda parte del campione, migliore è la capacità 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 di 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 (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.
L'immagine seguente illustra come si realizza una Walk Forward Analysis.
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. walkfwd2.gif
Immagine tratte da: http://www.amibroker.com/guide/h_walkforward.html
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 (backtest) sulla 1a sezione di dati out of sample.
Step 3 Ottimizzazione sulla 2a sezione di dati in sample
Step 4 Verifica (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 è pari a 10 mesi.
Quindi dal 31 dicembre 2010, andando indietro di 10 mesi, il primo giorno della WFA è il primo marzo 2010. wf1a.gif
Lo scopo della WFA
Lo scopo principale della WFA è di determinare se la 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 di prezzo del mercato e quindi di essere profittevole sui dati di mercato non noti, successivi alla ottimizzazione.
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 è in overfitting quando ha una bassa WF efficiency, cioè i risultati del trading system nei dati out of sample sono nettamente minori dei risultati dell’ottimizzazione in sample.
Il principale criterio per cui la Walk Forward Analysis può venir giudicata superata da 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 strategie robuste di trading hanno una WFE più grande 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 trading system in real trading è importante che il post-optimization maximum drawdown si mantenga al di sotto del 150% dell’optimization maximum drawdown.
Overfitting
L’Overfitting o Sovraottimizzazione o eccesso di curve fitting letteralmente significa “eccessivo adattamento” di un modello matematico ai dati sperimentali di un fenomeno, con scarsa capacità del modello di descrivere correttamente e di prevedere la dinamica del fenomeno.
Curve fitting significa approssimare una linea ad un insieme di 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, cioè l’overfitting non rende il trading system profittevole sul mercato con i dati in tempo reale.
L’overfitting si evidenzia quando agli ottimi risultati del trading system durante l'ottimizzazione si contrappongono risultati scadenti durante il trading in real time.
Una buona e solida idea di trading può perdere denaro in real time se è stata iper ottimizzata.
Un esempio.
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 la WFA rolling è adatta a cogliere la natura ondivaga delle serie storiche.
Bibliografia
° Design, Testing and Optimization of Trading Systems (1951, 1991) - Robert Pardo
° The Evaluation and Optimization of Trading Strategies (2008) - Robert Pardo
° Trading Systems. A New Approach to System Development and Portfolio Optimisation (2009) - Emilio Tomasini e Urban Jaekle
° Trading di Borsa. Le tecniche vincenti dei migliori trader professionali - 2011 (edizione aggiornata, a cura di Tomasini)
umberto.sm@gmail.com
Nella statistica inferenziale esiste una tecnica, detta metodo di test “in sample-out of sample” o “previsione out of sample”, che cerca di individuare un fenomeno sulla base dei risultati campionari, scartando momentaneamente la parte più recente del campione per studiare la parte iniziale, al fine di fare previsioni da verificare poi nella parte scartata: quanto più i valori previsti del fenomeno, basandosi sulla prima parte del campione, sono simili a quelli che si riscontrano nella seconda parte del campione, migliore è la capacità 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 di 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 (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.
L'immagine seguente illustra come si realizza una Walk Forward Analysis.
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. walkfwd2.gif
Immagine tratte da: http://www.amibroker.com/guide/h_walkforward.html
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 (backtest) sulla 1a sezione di dati out of sample.
Step 3 Ottimizzazione sulla 2a sezione di dati in sample
Step 4 Verifica (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 è pari a 10 mesi.
Quindi dal 31 dicembre 2010, andando indietro di 10 mesi, il primo giorno della WFA è il primo marzo 2010. wf1a.gif
Lo scopo della WFA
Lo scopo principale della WFA è di determinare se la 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 di prezzo del mercato e quindi di essere profittevole sui dati di mercato non noti, successivi alla ottimizzazione.
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 è in overfitting quando ha una bassa WF efficiency, cioè i risultati del trading system nei dati out of sample sono nettamente minori dei risultati dell’ottimizzazione in sample.
Il principale criterio per cui la Walk Forward Analysis può venir giudicata superata da 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 strategie robuste di trading hanno una WFE più grande 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 trading system in real trading è importante che il post-optimization maximum drawdown si mantenga al di sotto del 150% dell’optimization maximum drawdown.
Overfitting
L’Overfitting o Sovraottimizzazione o eccesso di curve fitting letteralmente significa “eccessivo adattamento” di un modello matematico ai dati sperimentali di un fenomeno, con scarsa capacità del modello di descrivere correttamente e di prevedere la dinamica del fenomeno.
Curve fitting significa approssimare una linea ad un insieme di 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, cioè l’overfitting non rende il trading system profittevole sul mercato con i dati in tempo reale.
L’overfitting si evidenzia quando agli ottimi risultati del trading system durante l'ottimizzazione si contrappongono risultati scadenti durante il trading in real time.
Una buona e solida idea di trading può perdere denaro in real time se è stata iper ottimizzata.
Un esempio.
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 la WFA rolling è adatta a cogliere la natura ondivaga delle serie storiche.
Bibliografia
° Design, Testing and Optimization of Trading Systems (1951, 1991) - Robert Pardo
° The Evaluation and Optimization of Trading Strategies (2008) - Robert Pardo
° Trading Systems. A New Approach to System Development and Portfolio Optimisation (2009) - Emilio Tomasini e Urban Jaekle
° Trading di Borsa. Le tecniche vincenti dei migliori trader professionali - 2011 (edizione aggiornata, a cura di Tomasini)
umberto.sm@gmail.com
Comment