Come valutare l’efficacia di un trading system grazie alla Walk Forward Analysis

CONTENUTI

    Quello della “Walk Forward Analysis” è un argomento che genera spesso confusione, soprattutto tra i trader agli inizi. La WFA è una procedura per testare l’ottimizzazione di un trading system che spesso, però, viene eseguita in modo sbagliato.

    In questo articolo vedremo cos’è, come funziona e quali sono gli step da seguire per effettuare una WFA in modo corretto. In più ti mostreremo, con un esempio pratico, perché questa procedura non si adatta al Metodo UngerTM.

    Cos’è la Walk Forward Analysis

    Letteralmente l’espressione “Walk Forward Analysis” (WFA) significa “analisi del cammino in avanti”. 

    Si tratta di una procedura che consiste nel testare una strategia di trading trovando i suoi parametri ottimali in un determinato periodo di tempo, chiamato “in-sample”, e verificando la performance di tali parametri nel periodo successivo, detto “out-of-sample”.

    L’obiettivo della WFA è quello di determinare se la performance in sample di un trading system sia il risultato di un sistema di trading robusto al punto da essere profittevole anche nei periodi successivi all’ottimizzazione.

    Per fare un esempio, potremmo immaginare la WFA come l’analisi dei periodi di allenamento di un maratoneta. Durante gli allenamenti, possiamo analizzare le performance in base a precisi parametri, ad esempio la velocità, la resistenza, lo scatto etc.

    Grazie ai risultati delle performance ottenuti in fase di allenamento, possiamo capire se l’atleta è pronto o meno alla gara e possiamo, in qualche modo, prevedere i suoi risultati futuri.

    Il problema è che talvolta le performance reali di un trading system sono diverse da quelle registrate in fase di ottimizzazione, proprio come i risultati durante una gara possono essere diversi da quelli ottenuti in fase di allenamento.

    Come funziona la Walk Forward Analysis

    La WFA si usa per valutare la robustezza di un trading system.

    Per farlo, si esegue l'ottimizzazione di precisi parametri su un intervallo di tempo in sample e, successivamente, si verifica il comportamento del sistema out of sample, ossia nell’intervallo successivo all’ottimizzazione.

    Ogni coppia formata dall’ottimizzazione dei dati in sample e la verifica out of sample, rappresenta il così detto “Walk Forward Test” (WFT). L’unione di tutti i WFT sino al dato storico più recente, costituisce la Walk Forward Analysis.

    Dal punto di vista pratico, per effettuare la Walk Forward Analysis occorre:

    • Raccogliere i dati essenziali (ad esempio prezzo, volatilità etc.) relativi al mercato di interesse in un determinato arco temporale.

    • Dividere l’intervallo temporale in precisi segmenti, dette “finestre temporali”.

    • Effettuare la prima ottimizzazione in sample sul segmento temporale più lontano per trovare i parametri migliori.

    • Testare tali parametri out of sample nel periodo successivo.

    • Ripetere l’operazione (ottimizzazione in sample e verifica out of sample) sino ad arrivare al dato più recente.

    Esistono dei software che permettono di utilizzare diversi parametri come il net profit, il drawdown, l’average trade ed il profit factor. Alcuni software, inoltre, consentono addirittura di costruire parametri personalizzati.

    Quanto più i dati out of sample saranno simili a quelli ottenuti nei periodi in sample e tanto più il trading system potrà essere considerato robusto.

    Tipologie di Walk Forward Analysis

    Esistono due tipi di WFA:

    • Ancorata": la finestra temporale in sample parte sempre dall'inizio della serie storica dei dati e aumenta progressivamente

    • "A finestre mobili": la finestra temporale in sample ha sempre la stessa durata e ogni finestra inizia quanto termina la precedente.

    Generalmente, per chi opera su barre settimanali è consigliabile la WFA ancorata in modo da avere una serie storica di dati abbastanza significativa. Per i modelli di trading intraday, invece, è più adatta la WFA rolling o “a finestre mobili.

    walk foward analysis trading optimization backtest

    Quest’ultimo metodo, inoltre, rispetta meglio la logica della WFA di utilizzare ciò che funziona maggiormente nell’ultimo periodo, mentre la WFA ancorata fa riferimento all’intero storico.

    In entrambi i casi, è importante che la dimensione dei dati in sample sia sufficientemente ampia e accurata per poter prevedere il comportamento del sistema nel periodo out of sample ma non eccessivamente grande da incorporare troppo rumore o falsi segnali.

    WFA e il criterio di efficienza

    Il principale criterio utilizzato nella WFA per valutare l’ottimizzazione di un trading system è il criterio di efficienza, detto Walk Forward Efficiency (WFE).

    La WFE è pari al rapporto tra il profitto annualizzato del rendimento out of sample e quello in sample.

    Un trading system ha buone possibilità di essere profittevole quando la WFE è maggiore del 50-60%. Quando, invece, la WFE è bassa, il trading system è in overfitting.

    Oltre al profitto, è importante valutare il comportamento di un trading system nei test out of sample anche in termini di drawdown, profit factor ed average trade.

    Il rischio dell’overfitting

    L'overfitting è, letteralmente, "l’eccessivo adattamento" di un trading system ai dati del passato e rappresenta uno degli errori principali in cui può incappare un trader, specialmente agli inizi.

    Molti trader, infatti, tendono a ottimizzare ogni parametro sull'intero set di dati passati con il rischio, come ti spieghiamo qui di creare un sistema puramente illusorio, capace di adattarsi benissimo al passato, ma non ai dati futuri del mercato.

    Nel caso della WFA, l'overfitting si evidenzia chiaramente quando agli ottimi risultati dell'ottimizzazione si contrappongono risultati scarsi sui mercati reali.

    Pro e contro della WFA

    Uno dei maggiori vantaggi della WFA è che essa consente di sviluppare dei trading system grazie a dati raccolti in lunghi periodi out of sample. Il rovescio della medaglia, però, è che, generalmente, ciò porta a creare codici molto complessi.

    Altro aspetto da considerare è che la WFA può essere utilizzata solo su trading system basati su parametri ottimizzabili.

    Il problema è che non tutti i sistemi utilizzano questo tipo di parametri. Alcune strategie infatti aprono o chiudono le posizioni al presentarsi di determinate condizioni di mercato definite da pattern che sebbene siano descritti in modo numerico ai fini della programmazione, non si prestano alla WFA.

    È il caso dei sistemi sviluppati usando come filtri i pattern del Metodo UngerTM, efficacissimi nel migliorare le performance dei sistemi ma non adatti a questo tipo di ottimizzazione.

    Per saperne di più ti consigliamo di guardare il video qui sotto dove Andrea spiega in dettaglio la questione:  

    Conclusioni

    La Walk Forward Analysis è una tecnica che consiste nel verificare la robustezza e l’efficacia di un trading system confrontando i risultati delle performance del sistema in sample con le performance out of sample registrate nel periodo successivo all’ottimizzazione.

    Da un punto di vista teorico, la WFA ha una sua logica: se, infatti, per uno specifico periodo di tempo, determinati parametri hanno funzionato bene, è probabile che continueranno a farlo anche nella finestra temporale successiva.

    Seppur quest’approccio abbia dei lati positivi, poiché si basa su una validazione numerica delle strategie, il suo limite maggiore è quello di fondarsi sull’uso di parametri idonei a questo tipo di ottimizzazione.

    Oltre a ciò, vanno considerati il pericolo dell’overfitting e la complessità dei codici finali.

    Infine è fondamentale ribadire che le performance in sample di una strategia non danno mai la certezza dei risultati futuri out of sample poiché le variabili che possono intervenire sui mercati reali sono spesso imprevedibili. Il consiglio, dunque, è quello di valutare attentamente se tale procedura può essere adatta o meno al proprio approccio al trading.