Oggi desidero proporre un interessante articolo scritto da Michael Trequattrini, corsista della Python Academy e delle Machine Learning Academy, nonché vincitore del SIAT Award 2022. Con Michael abbiamo avuto modo anche di confrontarci di persona in occasione dell’IFTA World Conference 2022 a Melbourne, lo scorso ottobre.
Una bella analisi sul tema della validazione che sfrutta una Montecarlo Analysis applicata su una “grigliatura” GSA (Gandalf Segmented Architecture, qui è possibile leggere un altro articolo sul tema) con e senza aggiunta di rumore.
Buona lettura!
Giovanni Trombetta
Founder – Head of R&D Gandalf Project
ABSTRACT
L’obiettivo del presente articolo è quello di presentare un modello di analisi della robustezza di una strategia di trading, il quale, applicato ex-post alla filiera di sviluppo e validazione, permetterà di determinare la probabilità di robustezza su dati futuri e ignoti. Il modello sarà applicato, nelle sue diverse declinazioni, ad una strategia reale e già validata, focalizzando l’attenzione sull’interpretazione dei risultati conseguiti.
SCELTA DELL’ARCHITETTURA DI VALIDAZIONE
Step cruciale nello sviluppo di una strategia di trading, è l’individuazione della corretta architettura di validazione. Questa, sia nella sua versione statica che dinamica, permette al progettista di segmentare l’intera serie storica a disposizione ottenendo un periodo di “In Sample” e uno di “Out of Sample”. In riferimento alla declinazione statica, che trae le sue origini dal Machine Learning, in figura 1 si evidenziano diverse architetture presenti oggi in letteratura. Senza approfondire dettagliatamente ognuna di esse, il che esulerebbe dal focus dell’articolo, si sottolinea come il modello a breve presentato possa essere applicato ad ogni architettura, facendo ricadere la scelta sulla base delle personali esigenze e modalità di lavoro.

In questo articolo, per l’applicazione del modello, verrà usata una strategia di trading codificata secondo l’architettura E, denominata GSA (“Gandalf Segmented Architecture”), la quale è stata presentata per la prima volta durante l’IFTA World Conference 2017 a Milano, da Giovanni Trombetta. Tale approccio permette di eliminare il periodo di incubation e di modellizzare e testare il sistema sotto tutte le condizioni di trend e volatilità. Inoltre, fornirà un indicatore di robustezza, denominato GPDR, il quale confrontando lo sciame di trade In Sample con quello Out of Sample restituirà una misura oggettiva di persistenza. Ogni valore maggiore di 1.0 indicherà robustezza dei risultati e conseguente successo nel processo di validazione. È possibile approfondire l’architettura GSA e l’indicatore GPDR in un articolo proposto nel SIAT Mag #07.
ORIGINE DEL MODELLO
La strategia di trading sul quale verrà applicato il modello è un sistema breakout su serie oraria del Gold Future. Senza analizzare le regole del sistema, basti pensare che è stato correttamente validato con una GSA alla luce di un GPDR pari a 4.5. In figura 2 si può notare l’architettura di validazione: in giallo i periodi di addestramento In Sample, in verde chiaro quelli di testing Out of Sample e infine in verde più scuro l’equity line del sistema sovrapposta all’andamento del Gold Future. La dimensione di ogni blocco IS e OOS è pari a 2300 candele dando origine ad un’architettura simmetrica. Tale scelta è arbitraria e potrebbe essere frutto di una logica discrezionale o di un’assegnazione randomica. In entrambi i casi la scelta condizionerà l’intera filiera di progetto. Si pensi all’ottimizzazione dei parametri di una strategia, inevitabilmente i risultati dipenderanno dalla segmentazione scelta. Un differente frazionamento della serie storica implica l’esecuzione dell’ottimizzazione, almeno in parte, su dati differenti e di conseguenza produrrà risultati con un certo grado di difformità. Se la varianza dei risultati prodotti dall’ottimizzazione, al variare della segmentazione IS e OOS, è ridotta al limite con la tecnica GSA, lo stesso non può essere detto per le altre architetture. Inoltre, indipendentemente che si faccia uso del GPDR o di una qualsiasi altra analisi, il superamento o meno del processo di validazione può portare a risultati differenti al variare del frazionamento. L’evento da scongiurare è quindi la situazione in cui un sistema superi la validazione grazie ad una scelta fortunata della suddivisione IS e OOS. Ovviamente, per forza di cose, durante lo sviluppo della strategia, il progettista dovrà scegliere e far fede ad una certa segmentazione. Per questo motivo il modello viene applicato solamente ex-post alla filiera di sviluppo e validazione di un sistema di trading. Il suo obiettivo è quello di verificare se la strategia superi il processo di validazione anche con diverse segmentazioni dei blocchi di training e testing.

FUNZIONAMENTO DEL MODELLO
Il primo step consiste nel creare un numero N di architetture di validazione con differenti segmentazioni randomiche in ottica Monte Carlo Analysis. Per ognuna di esse viene effettuato il backtest sia sulla porzione In Sample che su quella Out of Sample. Vengono calcolate le metriche principali ed effettuato il test di validazione (nel caso personale tramite indicatore GPDR). A questo punto si conta quante volte, sul totale N, il sistema abbia superato la validazione. Se siamo oltre una certa percentuale di test validati, quella stessa percentuale può essere intesa come la probabilità di tenuta futura del sistema. In figura 3 sono riportati gli input del modello, la cui comprensione totale è necessaria per l’ottenimento di risultati coerenti.

Dato che la strategia su Gold Future è stata sviluppata con GSA simmetrica, le nuove architetture devono rispettare tale schema. Basterà modificare il parametro di riferimento per costruire segmentazioni randomiche con la porzione IS maggiore rispetto a quella OOS. Chiediamo di generare 1000 architetture GSA con differenti segmentazioni. Si desidera avere un numero minimo di blocchi pari ad 8 (4 IS + 4 OOS), con una dimensione minima unitaria pari al 3% della serie storica totale. La soglia di validazione del GPDR è posta ad 1.0, mentre la tolleranza al 10%. In figura 4 e 5 si possono notare due delle mille architetture randomiche generate. Si osservi come nel primo caso la dimensione di ogni blocco è pari a 4208 candele, mentre nel secondo di 9213 candele. Già visivamente si può intuire come la validazione in queste due situazioni potrebbe portare a risultati differenti.


INTERPRETAZIONE DEI RISULTATI
Una volta generate le 1000 architetture randomiche, è il momento di valutare i risultati ottenuti. In figura 6 si riporta l’output del modello, il quale fornisce diverse indicazioni per una valutazione globale della robustezza della strategia. L’elemento fondamentale, oggetto dell’intero articolo, è la “Probability of future robustness” la quale, nel caso specifico, evidenzia come il sistema di trading abbia superato il processo di validazione il 73.4% delle volte. Questa stessa percentuale, come da sua denominazione, può essere letta anche come probabilità di tenuta su dati futuri e ignoti. Ricordando che il modello viene applicato ex-post ad una strategia già validata con una segmentazione iniziale, è sufficiente che tale valore sia maggiore del 50% (volendo si può innalzare la soglia, rendendo il modello più selettivo). Avendo a disposizione la distribuzione dei GPDR, è possibile scomporla in decili per ottenere informazioni aggiuntive. Come nel caso specifico, è gradevole riscontrare un valore maggiore di 1.0 già a partire dalla mediana o dai decili precedenti.

Infine, in figura 7 si riporta un’analisi comparata delle principali metriche prodotte dai backtest. Per ognuna di esse viene calcolata la media e la deviazione standard sia sull’aggregato IS che quello OOS di tutte le 1000 architetture generate. Un delta percentuale compreso tra +-30% garantisce una variazione accettabile.

AGGIUNTA DI RUMORE
Come detto in precedenza, il risultato delle ottimizzazioni in fase di progetto, è condizionato dalla specifica segmentazione In Sample e Out of Sample scelta inizialmente. Per tenere conto di ciò all’interno del modello, è stata introdotta la possibilità di applicare del rumore casuale ai parametri della strategia. In questo modo, dato che ogni diversa segmentazione avrebbe portato ad un’ottimizzazione più o meno differente, si rende più coerente l’analisi, simulando appunto la probabile differenza dei risultati. In figura 8 si riporta il pannello degli input definitivo, con l’aggiunta appunto della quantità di rumore da applicare.

Adottando le stesse 1000 segmentazioni generate precedentemente e l’applicazione di un rumore casuale del 20% ad ogni singolo parametro della strategia, l’output prodotto dal modello è quello riportato in figura 9. Si noti come, aggiungere del rumore differente ad ogni nuova segmentazione generata, comporti una percentuale di validazioni inferiore rispetto a quella ottenuta senza rumore. Si tiene a precisare che non esiste un risultato più frequente di un altro, in quanto dipende dalla modalità personale con cui si scelgono i parametri in fase di ottimizzazione. Come idea di progetto, è consigliabile lanciare il modello con e senza rumore, tenendo costante le segmentazioni generate al primo lancio (basterà ricorrere ad un random seed specifico) e verificare che la “Probability of future robustness” sia sufficientemente alta in entrambi i casi.

Per concludere, in figura 10 si ha lo sciame di equity lines prodotte a seguito dell’aggiunta di rumore. La situazione auspicabile è quella in cui l’equity line originale si posizioni all’incirca a metà della nuvola, evidenziando un corretto processo di ottimizzazione in fase di progetto.

CONCLUSIONI
Il modello presentato permette di effettuare un controllo ulteriore sulla robustezza di una strategia già validata con un’architettura iniziale. La possibilità di testare il sistema su architetture differenti permette di individuare quelle situazioni in cui la validazione sia stata superata grazie alla scelta, volontaria o meno, di una determinata segmentazione IS e OOS. Inoltre, è giusto sottolineare come nonostante il modello qui proposto veda la sola declinazione con o senza rumore, si possono immaginare molte varianti sul tema. L’obiettivo era quello di condividere un’idea di analisi, modellabile a proprio piacimento, che possa aiutare il progettista nella valutazione della robustezza di un sistema di trading.
Michael Trequattrini
Quantitative trader | CSTA | Winner SIAT Technical Award 2022