Vai al contenuto

Applicazione del Gandalf Pattern Composer su Crude Oil Future

Si è appena conclusa la giornata di laboratorio “Pattern Farm”, targata Gandalf Project, che abbiamo tenuto a Venezia domenica 25 settembre. L’idea da cui siamo partiti era quella di creare, non l’ennesima giornata di formazione (per quanto istruttiva e seria potesse essere nelle nostre intenzioni), ma qualcosa di completamente diverso, che permettesse ai partecipanti non solo di fruire del solito materiale didattico, ma di produrre in prima persona, sotto la nostra supervisione, dei sistemi di trading automatizzabili di matrice genetica.

L’idea di condividere le metodologie di sviluppo che utilizziamo in prima persona all’interno del nostro gruppo di ricerca, ha permesso a molti dei partecipanti di creare dei semilavorati interessanti su cui rimettere le mani in una seconda fase, ma anche dei sistemi decisamente più maturi, un paio dei quali desidero condividere con voi all’interno di questo articolo.

Innanzitutto lo strumento di lavoro, prodotto in triplice versione: il Gandalf Pattern Composer (GPC), un codice EasyLanguage/PowerLanguage che gira sia su Tradestation che su Multicharts e ha l’obiettivo di effettuare data mining continuo sulle serie dei prezzi, allo scopo di individuare se su tali serie esistano dei comportamenti ripetitivi da sfruttare. Essere riusciti a scrivere qualcosa di simile, a codice aperto e quindi “espandibile” in una architettura modulare, da di fatto infinite possibilità di sviluppo anche a chi non sia propriamente un programmatore. 
Va detto che già la versione fornita è in grado di competere con tool commerciali molto in auge e la rinuncia ad alcuni abbellimenti grafici non pesa più di tanto, se il premio è quello di utilizzare tale strumento direttamente su Tradestation e Multicharts senza essere vincolato dalle varie versioni e dai vari update.

Uno dei temi su cui abbiamo più insistito e che porta a “salvare” uno scarso 10% dei semilavorati, è quello della robustezza dei codici forniti dalla macchina. E’ infatti piuttosto semplice analizzare una porzione della serie storica dei prezzi e trovare una regola di compravendita che produca una buona equity line. Non è altrettanto semplice verificare che tale sistema regga alla prova del tempo su una o più aree sconosciute durante la fase di addestramento. E’ qui che si gioca la nostra futura sopravvivenza sul mercato e durante la giornata abbiamo condiviso il nostro modus operandi.

Grazie alla stampa continua nel print log di Tradestation (e nel PowerLanguage editor di Multicharts) di tutte le performance dei singoli sistemi analizzati dalla macchina, abbiamo la possibilità di graficare agevolmente su excel il legame esistente tra le performance all’interno del periodo di addestramento e le performance nel periodo di test (quello appunto non noto durante la fase di addestramento). E’ proprio da questo primo confronto che è possibile ottenere a vista d’occhio la dstribuzione della “tenuta” (“persistenza”) del nostro trading system in erba.

Per un approfondimento di questo tema vi invito a leggere un altro articolo sul tema.

Uno degli strumenti di lavoro che abbiamo selezionato in sala è stato Il Crude Oil Future (nelle sue declinazioni EmiNY Light Sweet Crude Oil “QM” e Crude Oil Future “CL”). La serie è stata setacciata su vari time frame arrivando a sezionamenti meno usuali come quello a 460 minuti. Chiusa la fase di validazione, abbiamo salvato un paio di sistemi che hanno superato egregiamente tutti gli esami e che oggi sono alla prova del tempo.

I periodi di test terminano il 31 dicembre 2010, quindi, in estrema sintesi, dal primo gennaio 2011 possiamo considerare sconosciuta la serie (periodo Out of Sample). In realtà abbiamo reso più scalabile il meccanismo di validazione e abbiamo affrontato l’argomento in dettaglio durante la Pattern Farm.

Di seguito l’equity line close to close (cioè ad operazioni chiuse) del primo sistema su CL:

Per evidenziare le aree di addestramento (in bianco) e quelle di validazione (in giallo e verde), facciamo riferimento all’equity line temporizzata:

La curva non è ancora regolarissima come quelle ottenute con il software “Gandalf”, ma dobbiamo ammettere che si tratta di una dinamica interessante che si è dimostrata particolarmente robusta nel tempo. Ricordiamo (e non è cosa da poco) che stiamo parlando di un sistema che vada solo al rialzo sul Crude Oil. Ma diamo uno sguardo alle metriche di questo primo sistema:

La natura di “breakout” emerge dalla percentuale dei trade vincenti (Percent Profitable 36%) e dal rapporto tra vincita media e perdita media (Reward/Risk Ratio 2.77). L’Average Trade di 184 $ sembra sufficiente a sostenere i costi fissi per operazione (stiamo operando a singolo contratto).
Il Profit Factor di 1.59 non è proprio esaltante ma è figlio della tipologia di sistema.

Il massimo ritracciamento (Max Draw Down) si attesta su un importante 11300 $.

Ma come opera il sistema? Osserviamolo in azione, considerando che mentre vi scrivo è in atto l’ennesima operazione al rialzo.

Uno stop di progetto di 1000 $ e la possibilità di cavalcare i trade profittevoli permette alla macchina di sopravvivere anche in situazioni difficili in cui si prendano diversi stop per false partenze.

Di seguito l’ultimo periodo analizzato, in cui il trading system si auto-protegge da ingressi improvvidi su downtrend di breve periodo, per concentrare la propria attività nelle fasi al rialzo (è importante considerare che stiamo osservando un puro periodo di out of sample).

Ora che abbiamo preso confidenza con un primo prodotto del GPC, diamo uno sguardo ad una soluzione gemella che varia soprattutto da un punto di vista metrico.

Meno performante negli ultimi mesi, ha provato la propria robustezza nel tempo, condividendo i criteri di progetto con il precedente sistema (la famiglia genetica è la medesima). Nella prossima immagine un dettaglio dell’equity a tempo:

Un filtro aggiuntivo regala peculiarità a questo “fratello” genetico, permettendogli di uscire dal mercato per intere settimane (si osservino le zone orizzontali della curva dei profitti).

Ed ecco il comportamento da un punto di vista metrico:

Il Profit Factor sale a 2, come pure l’Average Trade a 228 $. L’azione del filtro si vede anche sulla coppia Percent Profitable vs Reward/Risk Ratio (rispettivamente 52% e 1.79). Il Draw Down massimo scende a -8210 $.

Spero di essere riuscito a farvi cogliere alcuni degli aspetti più interessanti di questi due sistemi ottenuti in poche ore, a patto di avere chiaro un protocollo operativo di validazione che consenta di non perdere tempo in congetture e ipotesi che rimarrebbero opinabili.

Questo ci consente di svincolare la nostra attenzione dal singolo trade e concentrarci invece sulla visione d’insieme e sui parametri di sopravvivenza del sistema.

Giovanni Trombetta

Head of Research & Development
Gandalf Project

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *