Introduzione
L’ottimizzazione Walk-Forward, conosciuta anche con il nome di Walk Forward Analysis (WFA), è stata proposta da Robert Pardo nel 1952, ed è una delle più famose tecniche di ottimizzazione di un trading system. L’ottimizzazione di un bot è forse una delle attività più importanti, e contemporaneamente più ignorata.
Cos’è l’ottimizzazione Walk-Forward
L’ottimizzazione Walk-Forward è finalizzata a valutare la robustezza di una strategia di trading nel mondo reale. Questa metodologia si basa sull’idea di ottimizzare i parametri di una strategia su un periodo di dati storici (in-sample) e di testarne poi la sua performance su un periodo successivo (out-of-sample). L’obiettivo principale dell’ottimizzazione Walk-Forward è quello di mitigare il rischio di overfitting, che si verifica quando una strategia si adatta troppo bene ai dati storici, ma che, di contro, potrebbe non funzionare altrettanto bene in situazioni di mercato future.
I passaggi principali dell’ottimizzazione Walk-Forward
Prima di tutto sarà necessario avere accesso a tutti i dati che serviranno per ottimizzare la strategia. Successivamente si divideranno i dati in due parti che saranno chiamati in in-sample e out-of-sample. A questo punto si passerà alla vera e propria ottimizzazione. Bisognerà quindi trovare i migliori parametri sul set di dati in-sample. In seguito si applicheranno i parametri ottimizzati sulla seconda parte dei dati out-of-sample e si valuteranno le prestazioni della strategia. Il processo andrà ripetuto in modo da coprire tutto l’arco temporale dei dati. Infine, verranno raccolte le performance sui dati out-of-sample. Queste performance rappresentano le prestazioni della strategia con un’ottimizzazione walk-forward.
Perché eseguire una Walk Forward Analysis
L’ottimizzazione Walk-Forward è essenziale per ridurre l’overfitting, che è il rischio di progettare una strategia che si adatta così strettamente al rumore nei dati storici, da diventare inefficace nel futuro. Molti trader algoritmici inesperti tendono a ottimizzare tutti i parametri sui dati passati e quindi iniziare a far girare il robot su quei parametri “ottimizzati”. Tale strategia porta spesso a risultati deludenti.
Cosa è la “funzione obiettivo”
Un altro concetto chiave del Walk Forward è l’uso di una “funzione obiettivo”, che è la metrica massimizzata o minimizzata durante l’ottimizzazione. Ad esempio, se l’obiettivo è il profitto complessivo, si cercheranno i parametri che massimizzano il profitto durante il periodo in-sample. Successivamente bisognerà testare l’algoritmo con i settaggi ottenuti sui dati out-of-sample per verificare la bontà del robot.
Differenza tra dati in-sample e out-of-sample
La differenza tra dati in-sample e out-of-sample è cruciale. I dati in-sample sono quelli utilizzati per allenare la strategia, mentre i dati out-of-sample sono quelli su cui viene testata la strategia addestrata. L’ottimizzazione Walk-Forward assicura che la strategia sia valida non solo sui dati utilizzati per l’ottimizzazione ma anche su nuovi dati che non sono stati coinvolti nella fase di sviluppo.
Dimensione dei dati in-sample e out-of-sample
La dimensione dei dati in-sample e out-of-sample è una variabile cruciale. Un in-sample troppo grande rischia di adattare la strategia troppo strettamente ai dati storici, perdendo la capacità di generalizzazione. D’altra parte, un in-sample troppo piccolo potrebbe non essere rappresentativo del comportamento complessivo del mercato. Un approccio comune è utilizzare una finestra temporale mobile, in cui la finestra in-sample si sposta nel tempo, ad esempio, ogni mese. In questo modo ogni punto nel tempo viene utilizzato sia per l’ottimizzazione che per il test, garantendo una maggiore robustezza.
Limitazioni dell’ottimizzazione Walk-Forward
- Parametri dinamici: Alcune strategie richiedono parametri dinamici che cambiano nel tempo in risposta alle condizioni di mercato mutevoli. L’ottimizzazione Walk-Forward tradizionale potrebbe non catturare efficacemente questo aspetto.
- Eventi eccezionali: L’ottimizzazione Walk-Forward potrebbe avere difficoltà a gestire eventi eccezionali che non si sono verificati nei dati storici. Ad esempio, un evento nel mercato forex imprevisto come la Brexit potrebbe influenzare, la strategia in modo significativo, ma se non è presente nei dati storici, l’ottimizzazione Walk-Forward potrebbe non rilevarlo.
- Dati non stazionari: L’ottimizzazione Walk-Forward presuppone che i dati siano stazionari, cioè che le caratteristiche del mercato non cambino nel tempo. In realtà, i mercati finanziari sono dinamici, e questa assunzione potrebbe non essere sempre valida.
L’ottimizzazione Walk-Forward non elimina l’overfitting ma lo riduce sensibilmente. I due motivi principali per cui l’overfitting non può essere eliminato del tutto sono: il bias di “look-ahead” e il “P-hacking”.
Bias di look-ahead
Il bias di look-ahead è una problematica comune nel campo del trading e delle analisi finanziarie che si verifica quando ci si adatta a inefficienze di mercato passate. Quando si progetta una strategia, basandosi su informazioni che non erano disponibili al momento della decisione, si crea una visione distorta delle prestazioni della strategia stessa. Nel processo di ottimizzazione di una strategia, è essenziale evitare l’utilizzo di informazioni future per guidare le decisioni passate. Tuttavia, quando, involontariamente, si tengono in considerazione dati che non erano disponibili al momento dell’analisi storica, potrebbe verificarsi un bias di look-ahead Per mitigare il bias di look-ahead, è fondamentale separare chiaramente i dati in-sample (utilizzati per l’ottimizzazione) dai dati out-of-sample (utilizzati per la verifica delle prestazioni). Ciò assicura che le decisioni sulla strategia siano basate solo sulle informazioni disponibili al momento dell’ottimizzazione.
P-hacking
Il P-hacking è una pratica che coinvolge l’analisi ripetuta di dati con molteplici varianti dei parametri o delle strategie di trading, senza una chiara ipotesi predefinita. L’obiettivo è selezionare solo i risultati che mostrano prestazioni positive, ignorando gli altri. Questo fenomeno è anche noto come data dredging, data fishing, data snooping o data butchery. Nel contesto delle ottimizzazioni walk-forward e delle strategie di trading, il P-hacking può portare a conclusioni distorte e a strategie non valide. Il P-hacking si verifica quando un analista, alla ricerca di risultati positivi, esegue ripetuti adattamenti dei dati apportando modifiche ai parametri o alle regole della strategia di trading. Tale processo può portare alla selezione selettiva di risultati che sembrano promettenti, anche se sono solo il frutto del caso. Per evitare questo problema, è essenziale adottare un approccio rigoroso nella formulazione di ipotesi, nella separazione dei dati in-sample e out-of-sample e nel rispetto di regole chiare durante l’ottimizzazione.
Conclusione
In conclusione, Walk Forward Analysis emerge come una tecnica da non trascurare nell’ottimizzazione dei trading system. Nonostante sia spesso trascurata, l’ottimizzazione di un bot rappresenta un elemento cruciale per evitare l’overfitting, fenomeno che potrebbe compromettere l’efficacia delle strategie nel futuro. Il processo di ottimizzazione Walk-Forward evidenzia l’importanza di suddividere i dati in-sample e out-of-sample e successivamente di ottimizzare i parametri sulla base dei primi e valutare le prestazioni della strategia sulla base dei secondi. Questo approccio interattivo permette di raccogliere performance significative che riflettono la reale capacità predittiva della strategia. La differenza tra dati in-sample e out-of-sample risulta cruciale per garantire la validità della strategia su nuovi dati, mentre la dimensione dei dati in-sample e out-of-sample richiede un equilibrio accurato per evitare sovrapposizioni e assicurare una maggiore robustezza. Un approccio rigoroso nella formulazione di ipotesi, nella separazione dei dati e nel rispetto di regole chiare durante l’ottimizzazione, è cruciale per evitare distorsioni e garantire la validità delle strategie di trading.