Text Size
Tuesday, December 11, 2018
Area

Gandalf Store

Code Rain

Education

Consulting

Persistenza, Validazione e Walk Forward Analysis

Oggi desidero trattare tre argomenti legati a doppio filo tra di loro, che rappresentano, a mio avviso, il 90% di ciò che è necessario conoscere per sopravvivere sui mercati. Qualcuno potrebbe obiettare che appellarsi ad una percentuale così netta ed elevata possa, di per sé, essere opinabile, io rispondo che nulla nella mia esperienza di trader e di studioso dei mercati finanziari ha avuto un impatto anche lontanamente paragonabile sui risultati, rispetto a questi elementi.

La Persistenza

Quando abbiamo introdotto questo concetto (leggi anche questo articolo) abbiamo dato una definizione di base: la capacità, da parte di un sistema di trading o di investing, di durare nel tempo conservando le proprie caratteristiche metriche. In inglese tale attributo di un trading system viene detto “Persistence” ed esistono numerosi modi per valutarne numericamente la portata.
Una prima misura può essere del tipo ON-OFF: se un sistema continua a guadagnare secondo le attese (verificato mediante il confronto tra le metriche ottenute nel periodo di “addestramento”, dato dall’insieme di “in sample” ed “out of sample”, rispetto a quelle registrate nel periodo “real money”) si definisce tale sistema “persistente”, viceversa no. A tale scopo possiamo decidere di tener conto o meno di una soglia di tolleranza adattata su ciascuna metrica di valutazione.
Poi esiste una pletora di metodi statistici per cristallizzare in un numero (o in un insieme di essi) tale proprietà, ma tutti devono fare obbligatoriamente i conti con un fattore probabilistico: se sono padrone di una filiera che produce regole da cui partire per la realizzazione di trading system evoluti, diventa fondamentale conoscere la percentuale attesa di tali sistemi che si dimostreranno “persistenti" rispetto al totale di essi. Il tutto può essere ulteriormente complicato raggruppando tali prodotti in distribuzioni statistiche, ma quello che realmente ci interessa capire, senza addentrarci in ulteriori sofismi, è come elevare la probabilità di persistenza di un nucleo base (sistema grezzo).

Fig.1: La "Fascia di Persistenza.

 Preso un sistema, infatti, all’aumentare delle performance di addestramento (nell’area temporale cioè, in cui è avvenuta la progettazione a prescindere dal fatto che la macchina conoscesse o meno i dati), assistiamo dapprima al fallimento nel periodo di trading reale, successivamente le performance si stabilizzano e, se abbiamo lavorato bene, risultano invariate durante il periodo di transizione tra addestramento e real money. Infine, all’aumentare ulteriore di tali metriche nella zona di addestramento, assistiamo ad un possibile, quanto inesorabile declino delle performance future. Abbiamo chiamato la zona in cui le performance risultano persistenti, “Fascia di Persistenza”. L’unica arma che abbiamo per muoverci opportunamente all’interno di tale fascia, o sarebbe meglio dire per accrescere la probabilità di trovarsi dentro tale fascia, è una corretta validazione.

La Validazione

Possiamo idealmente raggruppare le modalità di validazione di una tecnica di trading in due macro categorie: criteri statici e criteri dinamici. I primi sono quelli che si vedono più spesso in letteratura e fanno capo all’architettura a blocchi “in sample” - “out of sample”.

Fig.2: I principali Modelli Statici di Validazione.

Data a disposizione una serie di dati possiamo segmentarla in vari blocchi:

A) Utilizziamo l’intera serie storica per affinare il nostro sistema. Di contro non avremo a disposizione alcun metro per giudicare la bontà della nostra scelta.

B) La zona di in sample precede la zona di out of sample: in questo caso le tecniche intercettate risulteranno “datate” al termine del periodo di in sample, ma avranno il vantaggio di essere state validate nel periodo più vicino ai giorni nostri.

C) La zona di out of sample precede la zona di in sample: in questo caso le tecniche intercettate saranno più fedeli all’ultimo periodo registrato, ma avranno lo svantaggio di essere state validate in un periodo remoto che potrebbe avere pochi o nessun legame con le caratteristiche di mercato attuali.

D) Utilizziamo un doppio periodo di out of sample, un primo al principio della serie ed un secondo vicino ai giorni nostri. Al centro il periodo di addestramento che risulterà ridotto rispetto ai casi precedenti.

E) Se estendiamo questa architettura modulare e restringiamo i periodi di in sample ed out of sample fino a poche barre, otteniamo una struttura continua ad intervalli periodici (simmetrici o asimmetrici) che ci svincolano completamente dal problema di aver intercettato aree a particolare trend o volatilità. Tale architettura è stata da noi presentata per la prima volta durante lo speach che ho tenuto ad IFTA 2018 a Milano nell’ottobre del 2017 e prende il nome di GSA (Gandalf Segmented Architecture).

Tutti i casi enumerati (ad eccezione dell’ultimo che potrebbe far parte di una categoria a sé stante) sono statici, nel senso che l’architettura selezionata per la validazione viene utilizzata e mai variata.

Normalmente, durante il processo di validazione può capitare di “sbirciare” sul periodo out of sample, per comprendere se effettivamente il sistema tenga o meno, da un punto di vista metrico, su dati su cui non abbiamo lavorato. Di fatto, questo comportamento, andrà a sporcare l’essenza stessa dell’out of sample, nel senso che lo abbiamo in qualche modo utilizzato in maniera retroattiva per dare un giudizio sulle varie soluzioni ottenute in in sample. Sarebbe quindi opportuno attendere ancora un periodo ulteriore (“Incubation”) per essere certi di non aver commesso errori di sorta.

Fig.3: I principali Modelli Statici di Validazione con "Incubation Period".

 
Dobbiamo dunque attendere un ulteriore periodo temporale prima di poter eventualmente andare a mercato?

Fortunatamente possiamo simulare tale periodo dividendo in tre parti la nostra serie storica (rinominando l’incubation in out of sample 2):

 

Fig.4: Architettura classica di backtest con duplice Out of Sample.

 

A questo punto il procedimento è chiaro: determiniamo il nostro sistema sull’in sample, lo validiamo sull’out of sample 1 (il vecchio in sample), poi accettiamo soluzioni che tengano anche in out of sample 2 (l’incubation). Questo è il massimo che possiamo ottenere con una metodologia statica.

Poi esistono i metodi dinamici e tra questi spicca la Walk Forward Analysis.

La Walk Forward Analysis

Tale tecnica, spesso sottovalutata e mal compresa, rappresenta, a mio avviso, un elemento insostituibile per effettuare due fondamentali operazioni: l’analisi di stabilità dei parametri di ottimizzazione e la validazione di trading system auto adattivi.
Lo strumento principe per effettuare tali analisi è Tradestation che, a giugno 2010 ha acquistato il motore software di “The Grail” (dedicato alla WFA e all’Ottimizzazione Genetica) inserendo entrambe le utility all’interno della propria piattaforma di servizi (oggi fortunatamente è possibile eseguire questo tipo di analisi anche con altre piattaforme come Multicharts).

>>> Walk Forward per analisi di stabilità dei parametri <<<

Supponiamo di voler testare l’efficacia e quindi la persistenza di una semplice tecnica ad incrocio di medie mobili sul grafico a 15 minuti del Gold Future Continuos rettificato dal 01/01/2007 al 31/12/2013 (ticker @GC). Per cominciare approcciamoci al problema con la modalità di valutazione statica B e apriamo un grafico dal 01/01/2007 fino al 31/12/2013. Come idea di base partiamo da un incrocio tra media veloce a 20 periodi (classica media di Bollinger) e media lenta a 92 periodi (la sessione è di 23 ore che, a barre di 15 minuti significa 92 barre a sessione = 23*60/15). Questi i risultati sull’intero periodo:

 

Fig.5: Equity line ad operazioni chiuse dal 01/01/2007 al 31/12/2013.

Se adesso operiamo un’ottimizzazione statica con in sample 70% ed out of sample 30%, comprendiamo come tale coppia di valori si trovi in un intorno di stabilità. Non ci resta che allungare il periodo storico fino ai giorni nostri per vedere se la dinamica tenga o meno alla prova del tempo:

Fig.6: Equity line ad operazioni chiuse dal 01/01/2007 al 24/07/2018.

 

La risposta è decisamente positiva, ma è figlia di una particolare architettura di validazione, quella, per intenderci, del caso B.

E’ possibile cambiare approccio slegandosi dalla staticità di tale architettura?

La risposta è affermativa e si chiama Walk Forward Analysis.

Ne esistono due versioni: la WFA Rolling e la WFA Anchored
La prima consiste in una segmentazione periodica della serie storica totale, in coppie di in sample ed out of sample che si susseguano nel tempo, slittando di volta in volta di una quantità di dati equivalente all’out of sample. Questa soluzione risulta la più adatta per eseguire analisi di stabilità dei parametri di ottimizzazione, consentendo una naturale variazione degli stessi, di periodo in periodo.

Fig.7: Schema Walk Forward Analysis Rolling.

La seconda modalità (WFA Anchored) impone sempre il medesimo principio dei dati dello slot in sample, “ancorato” per l’appunto al principio dello storico. Questo ha un impatto sulle auto-soluzioni che verranno associate ad ogni slot (sempre più lungo temporalmente), che non saranno più libere di fluttuare adattandosi alle condizioni di mercato, zona per zona, ma dovranno tenere conto (media temporale) dell’intero storico da cui provengono.

Fig.8: Schema Walk Forward Analysis Anchored.

 

Ma qual è, delle due, la modalità più corretta per effettuare un analisi di stabilità dei parametri? Senza dubbio la WFA Rolling, proprio grazie alla maggiore libertà di variazione che lascia ai parametri di progetto. In altre parole, la WFA Anchored ci permette di vedere come si sposta la dinamica dei singoli parametri allungando la media temporale, ma costringendoci a pesare ogni slot allo stesso modo (si media appunto sull'intero periodo a disposizione per ogni run), mentre la WFA Rolling ci consente di osservare se e di quanto si allontanino da tale media gli stessi parametri, liberi di fluttuare numericamente. Riterremo stabile una copia di parametri le cui soluzioni, osservate su tutti i run, non si discostino troppo in positivo o in negativo. Va detto che, in generale, non è detto che soluzioni più "stabili" risulteranno per forza più "persistenti" e questo è legato al periodo prescelto per effettuare l'in sample di ogni singolo run della WFA Rolling (fortunatamente ci viene incontro una modalità dinamica a Cluster già implementata anche in Tradestation, di cui parlerò tra breve).

Procediamo dunque con la nostra scelta di progetto: l’architettura WFA Rolling (per approfondimenti vedere anche Kevin Davey). Di default ogni segmento cuba il 10% del totale ed in sample ed out of sample si trovano nella proporzione di 80%-20% di ogni segmento rispettivamente. Se ora accumuliamo i soli risultati di ogni simulazione nei soli periodi out of sample, otterremo un unico grafico delle performance che simula molto bene cosa è accaduto in passato ri-ottimizzando di periodo in periodo le lunghezze delle due medie.

Fig.9: Aggregato dei 10 periodi Out of Sample prodotti dalla Walk Forward Analysis Rolling.

Come è possibile osservare in figura 8 la dinamica si è mantenuta quasi sempre positiva, continuando a portare profitto nel tempo (a cominciare dal 2010). Davanti ai nostri occhi abbiamo ben 8 anni di out of sample reale e questo, di per se, giustificherebbe l’utilizzo di un tale approccio. Ma diamo uno sguardo più da vicino ai risultati da un punto di vista numerico:

Fig.10: Performance dei 10 periodi In Sample prodotti dalla Walk Forward Analysis Rolling.

In figura 10 possiamo osservare i risultati registrati nella porzione in sample, facendo scorrere a finestra scorrevole per 10 volte la nostra struttura di in sample ed out of sample.

Fig.11: Performance dei 10 periodi Out of Sample prodotti dalla Walk Forward Analysis Rolling.

In figura 11, invece, osserviamo gli stessi risultati registrati nelle porzioni out of sample. Quello che si evince, a parte il caso fortuito che vede come periodi ideali delle medie di controllo proprio 20 e 92 nell’ultimo slittamento, è una sostanziale stabilità di tali parametri che, a parte alcune occorrenze, ci confermano una solidità di progetto proprio intorno a 20 e 90.

>>> Walk Forward per generazione di sistemi dinamici <<<

Ma esiste un secondo modo di utilizzare la WFA: quello di rendere davvero tutto parametrico e quindi dinamico in termini di architettura. Possiamo infatti permettere alla macchina di svincolarsi dalle proporzioni prescelte sulle coppie IS-OoS (80% in sample - 20% out of sample) e sul numero di slittamenti da effettuare per arrivare ai giorni nostri.

Utilizziamo la “Clustered WFA”.

Mediante questa tecnica la macchina procederà ad effettuare tante WFA, variando sia la percentuale di out of sample di ogni slot, che il numero di segmentazioni con cui percorrere l’intero storico fino ai giorni nostri. Questo darà evidenza di una eventuale stabilità o meno del nostro sistema di trading, anche al netto di differenti soluzioni di validazione dinamica. Decisamente un bel passo in avanti rispetto ai più tradizionali metodi di validazione.

 Fig.12: Matrice prodotta dalla Clustered WFA.

Nel nostro esempio possiamo notare una matrice di architetture che nella maggior parte dei casi (se pur non in tutti) soddisfa i criteri di robustezza (che possono essere specificati nel setup di simulazione). Non solo: la soluzione a 15% di out of sample e 15 segmentazioni dello storico sembra garantire una certa stabilità anche in caso di spostamento della dinamica. Sarà dunque questa la soluzione prescelta per andare eventualmente a mercato con la strategia.

Fig.13: Aggregato dei 10 periodi Out of Sample prodotti dalla Walk Forward Analysis Rolling con parametri stabili 15-15.

Fig.14: Performance dei 10 periodi In Sample prodotti dalla Walk Forward Analysis Rolling con parametri stabili 15-15.

Fig.15: Performance dei 10 periodi In Sample prodotti dalla Walk Forward Analysis Rolling con parametri stabili 15-15.

Quali sono i parametri da utilizzare dunque in real money? Li trovare in figura 14, e sono esattamente 22 e 58 da utilizzare per i prossimi 203 giorni (o per le prossime 13161 barre a 15 minuti).

Quello che si comprende è come la WFA possa costituire una delle armi più potenti per gestire la continua mutazione dei mercati e tutte le complessità che possono derivarne sulle varie classi di sistemi di trading. Personalmente propendo per un utilizzo integrato di queste tecniche con modelli tradizionali e con modelli Machine Learning, avendo ben presente che la sfida non avrà mai fine e che ogni metodologia applicata massivamente sui mercati avrà un impatto sui mercati stessi, che potrebbero variare a loro volta in un loop infinito.

>>> Se avete apprezzato questa trattazione sintetica di temi legati a Persistenza, Validazione e Walk Forward Analysis e desiderate diventare autonomi nella comprensione e nell'utilizzo dettagliato di queste tecniche (con gli strumenti che già possedete come Tradestation e Multicharts), vi invito a visionare il Nuovo Programma del percorso formativo di due giornate tenute da me e Marco Vironda GambinTrading Automatico come Business” (TACB), già acquistabile online e la cui prossima sessione d'aula si terrà a Milano i prossimi 11 e 12 di novembre.

La grande novità per gli ex corsisti, ma soprattutto per i nuovi iscritti, è la presenza di un intero modulo dedicato all’approfondimento teorico e sul campo della Walk Forward Analysis sui mercati Future. Lo abbiamo inserito dopo un lungo lavoro, per garantire completezza e strumenti aggiornati a tutti coloro che desiderino partecipare a quello che consideriamo la punta di diamante delle formazione in ambito Trading System.

Per informazioni dettagliate o per richiedere un colloquio telefonico personale con noi (senza alcun impegno), potete scrivere una email ad This email address is being protected from spambots. You need JavaScript enabled to view it.

Siete pronti per le nuove sfide?

Giovanni Trombetta

Head of Research & Development
Gandalf Project

 

Privacy & Cookies Policy

Questo sito utilizza i Cookies per migliorare la navigazione. Utilizzando questo sito e continuando nella navigazione si intende accettata la Privacy Policy e la Cookies Policy. Puoi bloccare in ogni momento questa raccolta di informazioni seguendo le istruzioni contenute in queste pagine.

Equity Control

Futures Trading

Topics

Artificial Intelligence

Artificial intelligence and the most modern technologies of genetic engineering in the service of trading...

Read more...

Consulting & Services

Gandalf Consultants aim to provide a wide range of services related to trading systems development...

Read more...

Trading Systems

Behind Gandalf Project there is the awareness that no Trading System lasts forever. Gandalf Patterns are the results of...

Read more...