Text Size
Tuesday, November 21, 2017
Area

Gandalf Store

Portfolios

Education

Consulting

La robustezza dei sistemi di trading: tradizionali vs genetici

Da quanto esistono i prezzi, l’uomo ha tentato di immaginare come si sarebbero sviluppati nelle sedute successive, con l’obiettivo dichiarato di trarre vantaggio da una corretta previsione. Così è accaduto sin dai tempi antichi, quando vennero formalizzati i primi pattern a candele giapponesi dai suoni evocativi come “Dragonfly Doji”, “Morning Star” o “Bearish Engulfing”. Degli schizzi di china su carta di riso, che descrivevano l’azione dei compratori e dei venditori su prime forme di contratti a termine. Ai tempi delle prime bolle speculative (celebre quella dei bulbi di tulipani olandesi), l’aspetto emotivo ha contribuito ad estremizzare le forze che spingevano i prezzi verso livelli vergini. Chi osservava i mercati all’epoca come oggi, ha provato a costruire dei modelli di previsione che si basassero sulla ripetitività di certi fenomeni osservati. Gli accademici, in un primo tempo, hanno liquidato questo tipo di previsioni alla stregua delle indicazioni delle chiromanti, sostenendo la teoria pura del “random walk” che, semplificando, afferma che l’andamento dei prezzi sia completamente casuale o che in estrema sintesi sia assimilabile ad un andamento casuale. Ma oggi, anche grazie allo sviluppo dei computer, che hanno permesso l’analisi di enormi moli di dati, sono proprio i matematici e i fisici a proporre modelli convincenti per aumentare la probabilità di successo sui mercati e per ottimizzare l’allestimento di interi portafogli. La vera rivoluzione dei nostri tempi sta nel fatto che, oggi, la possibilità di beneficiare di tali strumenti è offerta a tutti i livelli e non è più appannaggio di facoltosi gruppi finanziari.

Siamo allora destinati a diventare tutti ricchi?

La risposta purtroppo è negativa. Questo per molteplici motivi che esulano dallo scopo di questo articolo. Tuttavia ogni qual volta un nuovo elemento di analisi è divenuto fruibile dalla massa degli investitori, ciò ha contribuito a riequilibrare il mercato in un modo nuovo. Lo sbilanciamento di forze esistente tra chi può fare HFT (High Frequency Trading), ad esempio, e chi è costretto a fare i propri screener sul mercato azionario durante il fine settimana, rimarrà sostanziale anche in futuro. Tuttavia oggi è possibile fare più di ieri e non sfruttare queste nuove opportunità sarebbe un peccato di presunzione oltre che di concetto.

Quello che desidero indagare oggi è il tema della “robustezza” di un sistema di trading in rapporto alla sua modalità di sviluppo. A tale scopo confronteremo un primo sistema discrezionale e due sistemi meccanici, uno ottenuto con modalità tradizionale e uno mediante evoluzione genetica. Ai blocchi di partenza questi tre sistemi hanno degli elementi comuni e alcune differenze sostanziali che desidero passare in rassegna.
Innanzitutto, per essere confrontabili, devono operare sulla medesima serie storica. Questo significa che i tre sistemi, avranno tutti una porzione della serie dei prezzi su cui sia possibile compiere osservazioni e misurazioni oggettive. Quale che sia la tecnica di ingresso o l’architettura di money e position management, una cosa è certa: nessuno dei tre sistemi può conoscere la futura trama dei prezzi e su quella dovrà misurarsi.

In questi anni ho avuto il privilegio di affiancare alcuni trader discrezionali molto intuitivi, le cui modalità operative erano frutto del momento e mutavano sulla base di molteplici fattori. In sostanza, pur avendoli visti guadagnare, non era possibile creare una macchina che ne replicasse l’agire. Tipicamente la chiave del successo di questi trader (che ahimè sono sempre di meno) è legata alla capacità di interpretare ciò che sta succedendo dal vivo. L’esperienza sulle serie passate è importante, ma parliamo di persone che hanno la capacità di comprendere quando il mercato diviene incomprensibile e sia il caso di fermarsi.
Se descrivere in un codice l’operato di tali trader può risultare estremamente complesso, non si può dire altrettanto della fase di misurazione delle prestazioni. Il metodo scientifico ci viene in soccorso anche nei casi in cui un fenomeno non sia completamente noto a priori: è sufficiente indagare l’output del sistema, cioè la sequenza delle operazioni effettuate. Tali liste di operazioni sono estremamente preziose, perché ci permettono di ricomporre le stesse metriche con cui sondiamo anche i trading system: parliamo ad esempio del guadagno totale, del guadagno medio su finestra scorrevole, del fattore di profitto o della percentuale di trade vincenti. Questi elementi sono come la pressione arteriosa, la temperatura o la glicemia e ci danno informazioni sulla salute di un sistema di trading.

Poi arrivano i sistemi meccanici tradizionali: si tratta di sistemi automatici che operano sulla base di una strategia di “buon senso” che può trarre le proprie basi da una lettura cult di qualche guru del trading, da un’intuizione avuta davanti ai grafici, oppure dallo studio statistico della serie dei prezzi. Oggi molte sono le possibilità in questo senso con i moderni programmi di data mining.

Fig.1: Equity Line di un sistema meccanico “tradizionale” sul future EuroStoxx50, time frame a 15 minuti; in verde il periodo in denaro reale (dal 1 gennaio 2013).

Ma stiamo parlando di un sistema meccanico, che, per quanto adattivo, deve fare i conti col fatto che potrebbe essere troppo adattato alla serie storica di partenza e non essere in grado di portare profitto in futuro. E’ necessario quindi eseguire tutta una serie di test di robustezza che hanno il compito di aumentare le probabilità di successo del sistema analizzato nel prossimo futuro, ma che, in generale, non danno la certezza che ciò accada. Una delle metodologie più in voga (senza voler approfondire tutte le varianti del caso) è quella di segmentare la serie nota dei prezzi in due o più intervalli: la zona di addestramento viene detta “in sample” e su questa si fanno tutte le considerazioni del caso per costruire la strategia. Una seconda zona, detta “out of sample”, sarà utile per testare la bontà delle nostre regole di compravendita in una zona incognita dei prezzi, su cui, di fatto, non abbiamo avuto modo di addestrare il nostro trading system. A questo punto non ci rimane che scartare i sistemi che non abbiano mostrato le medesime statistiche tra i due periodi, accusando implicitamente un adattamento pericoloso (“fitting”) sulla serie di addestramento. Ma alcuni di questi sistemi supereranno il test sul periodo out of sample e saranno messi alla prova del mercato nei periodi successivi.

Ma come comprendere se uno di tali sistemi “operativi” abbia smesso di funzionare?

Anche qui esistono libri interi che trattano a vari livelli queste tematiche. Solo per citare una delle modalità più utilizzate, si può applicare una “analisi Montecarlo” sulla curva che unisce l’esito di tutti i trade realizzati (“equity line”). La sequenza dei trade viene riproposta per migliaia di volte, ricambiando i trade in modo casuale, fino ad ottenere una distribuzione di curve che avrà la sua occorrenza peggiore (la combinazione più svantaggiosa che darà luogo alla ricorrezione più profonda). Questo livello di ricorrezione teorico (“draw down” massimo della simulazione Montecarlo), può essere preso come livello di soglia per comprendere se il sistema stia andando in crisi, desincronizzandosi dal mercato di riferimento.

Infine abbiamo i sistemi evolutivi genetici. Su questo argomento esiste una grande confusione, a volte dettata dal pregiudizio, a volte dalla poca conoscenza ed è mia intenzione fare un po' di chiarezza.


Fig.2: Equity Line di un sistema meccanico “genetico” sul Future Bund, time frame giornaliero; in verde il periodo in denaro reale (dal 1 gennaio 2013).

Tali sistemi nascono dalla necessità di velocizzare tutta la fase di genesi (in sample) e testing (out of sample) dei sistemi meccanici tradizionali. In sostanza abbiamo compreso come possa essere lungo e laborioso tutto il processo descritto nel paragrafo precedente e si è proposto di delegare direttamente alla macchina la fase ripetitiva.

Si ma in che modo?

Desidero condividere con voi il concetto di base, senza entrare nei dettagli tecnici che esulano dagli obiettivi di questo articolo. Immaginiamo di avere un insieme di 100 persone, ognuna con la propria predisposizione al rischio, le proprie competenze tecniche e la propria cultura di base. Chiediamo loro di studiare una serie storica dei prezzi, comune per tutti e di architettare un qualche sistema di compravendita, che porti il più possibile profitto nel periodo di osservazione. Diamo loro un tempo ragionevole per addestrarsi e decidiamo di riconvocarli dopo tale periodo. A questo punto raccogliamo i risultati ottenuti: alcuni di questi individui avranno perso denaro, altri ne avranno guadagnato in modo casuale, altri ancora ne avranno guadagnato con regolarità (normalmente una piccola percentuale del totale). Tutto ciò è avvenuto nel periodo in sample e potrebbe essere frutto dell’adattamento sul rumore della serie. Riserviamoci, come arbitri super partes, di testare le 100 metodologie prodotte anche su un secondo periodo di out of sample, per validare la bontà delle singole architetture. Alcuni investitori, che si erano rivelati molto efficienti nel primo periodo, verranno scartati in questa seconda fase, altri, che avremmo messo nelle ultime posizioni della nostra speciale classifica sui profitti ottenuti (“fitness function”), potrebbero essere ripescati. Ricomponendo la classifica dei migliori investitori a valle dei due periodi, potremmo decidere di “salvare” i migliori 10 e di congedare tutti gli altri. Abbiamo appena concluso la “generazione 0” di un processo evolutivo.

Ma è proprio qui che il gioco diventa interessante: immaginiamo di convocare altre 90 persone che provengano, ad esempio, dai migliori atenei italiani o dalle varie categorie professionali. Anche questi nuovi futuri investitori avranno la propria predisposizione al rischio, la propria indole ed il proprio istinto. Se chiedessimo ai migliori 10 investitori, che abbiamo salvato a valle della generazione 0, di addestrare i 90 novizi, trasmettendo loro alcune delle regole di compravendita e di gestione della posizione che ritengano migliori, otterremmo una contaminazione (crossover) delle abilità native dei nuovi individui. Ma proprio l’indole e la predisposizione al rischio di tali individui, farà si che alcune regole trasmesse siano completamente ignorate e che ne vengano applicate delle nuove (mutazione) sulla base della propria osservazione sul medesimo periodo di addestramento in sample.
Dopo un periodo analogo a quello concesso alla generazione 0, decidiamo di riconvocare il gruppo dei 100 investitori e, dopo aver messo alla prova del periodo di out of sample le nuove architetture proposte, stiliamo una nuova classifica che decreterà il termine della generazione 1. Anche in questo caso decidiamo di salvare i migliori 10 investitori (migliori non soltanto per fitting sul periodo di addestramento, ma anche per provata robustezza metrica sul periodo di test), e di scartare tutti gli altri.
A questo punto possiamo riconvocare altri 90 individui e reiterare il processo per centinaia, migliaia o milioni di volte. Al termine, quello che otterremo, è una classe di 10 super-investitori che si siano dimostrati i migliori di tutte le generazioni.
E’ intuitivo comprendere quanto tempo sarebbe necessario per realizzare una dinamica di questo tipo nella realtà. Ma in questo senso ci vengono in soccorso le macchine, oggi molto più economiche ed efficienti di un tempo.
Quali sono a questo punto gli strumenti più adatti per monitorare la robustezza di tali sistemi durante la futura applicazione sui mercati?
La risposta è semplice e forse scontata: esattamente gli stessi che abbiamo a disposizione per tutte le classi di sistemi tradizionali o discrezionali come, ad esempio, la simulazione Montecarlo o la Walk Forward Analysis.

Queste poche righe non vogliono essere esaurienti nella descrizione delle varie modalità di trading, ma hanno l’ambizione di aiutare a comprendere come, a prescindere dall’apparente complessità di alcuni approcci (che è ben diversa dalla “complicazione”), è la fase di validazione che fa la differenza tra un sistema “fittato” ed uno che abbia reale probabilità di portare profitto sui mercati. Comprendere questo significa compiere un passo concettuale importante nella direzione della sopravvivenza. Alla luce di centinaia di sistemi di trading tradizionali e genetici analizzati e utilizzati per anni sui mercati, non abbiamo evidenza matematica di una migliore sopravvivenza degli uni o degli altri. Questo è, a mio avviso, un risultato importante che va proprio nella direzione di quanto abbiamo detto.
Indagare nella direzione della robustezza e farlo continuamente, è vitale per comprendere la natura mutevole dei mercati.
Rimane un quesito a questo punto: anche riuscendo ad aumentare la probabilità di sopravvivenza di un sistema di trading mediante la fase di validazione, cosa fare quando, ad esempio, un sistema supera la soglia di attenzione di una simulazione Montecarlo?

Vi do appuntamento ad uno dei prossimi articoli per parlarne.

Buon Trading!

Giovanni Trombetta

Gandalf Project Research

 

Potete leggere questo articolo anche su Milano Finanza.

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

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...