Cos'è l'analisi walk-forward
Che cos'è l'analisi walk-forward?
Se sei nuovo al trading automatizzato, probabilmente ti sei imbattuto nel termine analisi walk-forward, chiamata anche ottimizzazione walk-forward. In parole semplici, è un tipo speciale di backtest, un test di una strategia di trading su dati di prezzo storici, che non viene eseguito una sola volta sull'intero intervallo di test. Al contrario, è costruito da diversi backtest più piccoli, chiamati periodi di ottimizzazione, distribuiti su tutto l'intervallo di test. Ciascuno di questi periodi è seguito da un test out-of-sample, cioè un segmento di dati che non è stato usato per trovare i parametri della strategia, utilizzando i valori dei parametri che sono stati trovati in quel periodo.
L'idea alla base di questo approccio è simulare come una strategia potrebbe essere gestita nel trading live. Ottimizzi la strategia su un blocco di dati passati, poi fai trading con i parametri che hai trovato per un certo periodo, e dopo che quel periodo finisce riottimizzi di nuovo su dati più recenti. Questo vuole rispecchiare un processo che un trader potrebbe seguire nella pratica: aggiustare la strategia di tanto in tanto invece di impostarla una volta e non toccarla mai più. È importante vedere questo come una descrizione di un processo di simulazione, non come una previsione di come la strategia si comporterà effettivamente quando farà trading su dati di mercato nuovi e mai visti.
Come funzionano i periodi e la suddivisione out-of-sample
All'interno del modulo Optimizer, un'esecuzione walk-forward divide i dati storici in un numero configurabile di periodi. Ogni periodo ha due parti: una parte di ottimizzazione e una parte di esecuzione, nota anche come parte out-of-sample. I parametri trovati durante la parte di ottimizzazione di un periodo vengono poi usati per fare trading attraverso la parte di esecuzione successiva. Una volta che quella parte di esecuzione finisce, l'ottimizzazione viene ripetuta su dati nuovi, e il ciclo continua su tutto l'intervallo di test. Questa struttura generale è stata documentata per una versione precedente del software, quindi, pur descrivendo la logica sottostante, potrebbe non descrivere esattamente ogni dettaglio dell'attuale interfaccia di StrategyQuant X.

Una delle impostazioni coinvolte è di solito chiamata Out of Sample %. Definisce quale porzione di ogni periodo walk-forward è riservata alla parte di esecuzione, o di trading. Come esempio, con un'impostazione out-of-sample del 30%, il 70% dei dati del periodo sarebbe usato per l'ottimizzazione e il restante 30% per fare trading con i parametri trovati. Questo esempio proviene da una guida utente più vecchia, e va letto come un'illustrazione di come funziona la suddivisione, non come l'attuale valore predefinito in StrategyQuant X. Se stai lavorando nella versione attuale, vale la pena controllare le tue impostazioni invece di dare per scontato che questa suddivisione si applichi automaticamente.
La matrice walk-forward: testare la robustezza
Un'ottimizzazione walk-forward standard usa un periodo di riottimizzazione fisso, per esempio riottimizzare ogni 300 giorni, scelto qui solo come esempio e non come raccomandazione. Senza ulteriori test, scegliere quel periodo di riottimizzazione è essenzialmente un tirare a indovinare, dato che non c'è un modo integrato per sapere in anticipo quale lunghezza del periodo avrebbe funzionato meglio sui dati a disposizione.
È qui che entra in gioco la matrice walk-forward. È una funzionalità del modulo Optimizer che esegue un intero insieme di ottimizzazioni walk-forward, ciascuna usando un numero diverso di periodi di riottimizzazione e una diversa percentuale out-of-sample. Invece di testare una sola configurazione fissa, la matrice testa molte combinazioni contemporaneamente, il che la rende utile come controllo di robustezza e come modo per aiutare a trovare quale periodo di riottimizzazione avrebbe funzionato meglio sui dati storici usati.

Dopo che la matrice è stata eseguita, può mostrare quale periodo di riottimizzazione o percentuale out-of-sample ha performato meglio sui dati storici testati, e riporta quanto spesso la strategia avrebbe avuto bisogno di riottimizzazione durante quello specifico test. Secondo la documentazione, una strategia che supera questo tipo di test della matrice è considerata adattabile, tramite la riottimizzazione dei parametri, alla gamma di condizioni di mercato presenti nei dati testati. Questa conclusione è limitata alle condizioni effettivamente osservate nel test, non alle condizioni che potrebbero verificarsi in futuro.

Il risultato complessivo di un'esecuzione della matrice walk-forward di solito include un riepilogo con il periodo di riottimizzazione ideale trovato in quel particolare test, insieme a un grafico tridimensionale che mostra i punteggi di robustezza su tutte le combinazioni testate. Una delle impostazioni che incontrerai mentre configuri un'esecuzione della matrice è chiamata Increment. Controlla la dimensione del passo usata per la serie di periodi, o lunghezze di esecuzione, e le percentuali out-of-sample che vengono testate nella matrice.
Perché una matrice walk-forward può richiedere molto tempo
Poiché un'ottimizzazione walk-forward completa deve essere eseguita separatamente per ogni combinazione di impostazioni inclusa nella matrice, calcolare una matrice walk-forward completa può richiedere molto tempo. Quanto tempo richieda dipende dal numero di combinazioni che scegli di testare, dalla lunghezza dei dati storici e dalle risorse di calcolo a tua disposizione. Può valere la pena pianificarlo prima di avviare un'esecuzione della matrice di grandi dimensioni, soprattutto se stai testando molte combinazioni contemporaneamente.
Cosa questo metodo può e non può dirti
L'analisi walk-forward e la matrice walk-forward sono utili perché simulano un processo continuo di ottimizzazione e riottimizzazione di una strategia nel tempo, invece di testare una strategia con un solo insieme fisso di parametri su tutta la storia. Questo può darti un'idea di come una strategia potrebbe essersi adattata a condizioni mutevoli in passato, e può aiutarti a vedere quale frequenza di riottimizzazione ha funzionato meglio sui dati specifici che hai testato, e quanto la strategia fosse adattabile alle condizioni di mercato presenti in quei dati.
Quello che non può fare è confermare come una strategia performerà quando farà trading su dati di mercato futuri e mai visti. Ogni risultato che vedi da un'esecuzione walk-forward o da una matrice walk-forward è costruito interamente da prezzi storici e dalle impostazioni che hai scelto per quel test. Una strategia che ha performato bene attraverso questo processo in passato non è per questo dimostrata sicura, affidabile, o certa di performare allo stesso modo in futuro.
Questo articolo ha scopo formativo e non è una consulenza sugli investimenti. I risultati passati, compresi quelli dei backtest, non garantiscono risultati futuri. Fare trading su strumenti finanziari comporta rischi e puoi perdere denaro.
Questo articolo ha scopo educativo e non è una consulenza finanziaria. I risultati passati non garantiscono risultati futuri.
Tu come fai? Raccontalo nella community. Gratis, nella tua lingua.
Iscriviti gratis