Text Size
Friday, April 16, 2021
Area

Gandalf Store

Coding

Formazione

Consulenza

Cambiando l’ordine dei fattori il risultato cambia

Uno dei temi più dibattuti, ma anche più sottovalutati, quando si parla di trading algoritmico, è la qualità della base dati a disposizione. Normalmente si tende a raccomandare di effettuare il backtest di una strategia sugli stessi dati su cui poi si intende operare. Ma non sempre è opportuno.

Per rendere più esplicito questo tema desidero attirare la vostra attenzione su una simulazione: immaginiamo di avere due operatori. Il primo (che chiameremo Alpha), operi con broker Tradestation, il secondo (che chiameremo Beta) con broker Interactive Brokers. Immaginiamo che entrambi abbiano realizzato una strategia su dati Tradestation (backtest).

Di seguito i risultati teorici ottenuti con una strategia genetica, progettata su dati Tradestation, che operi su IWM (ETF sul Russell 2000), al lordo dei costi fissi. Alpha si ritroverebbe con la curva dei profitti (equity line) di figura 1.

Fig.1: equity line strategia su IWM con fonte dati Tradestation.

La curva appare piuttosto regolare con uno spike ribassista corrispondente all’autunno 2008. Per stimare in modo più accurato tale ricorrezione aggiungiamo il grafico istantaneo del drawdown.

Fig.2: drawdown strategia su IWM con fonte dati Tradestation.

Di seguito invece rispettivamente le tavole grafiche relative al profitto annuale, il profitto medio mensile e la heatmap dei guadagni mensili.

Fig.3: yearly profit/loss strategia su IWM con fonte dati Tradestation.

Fig.4: average monthly profit/loss strategia su IWM con fonte dati Tradestation.

Fig.5: heatmap profit/loss strategia su IWM con fonte dati Tradestation.

Analizzando le metriche del sistema notiamo un average trade di 687 $, un profit factor di 2.5, una percentuale dei trade vincenti del 61% ed un rapporto rendimento rischio di 1.57. Il max open draw down raggiunge i -17655 $.

Fig.6: performance report strategia su IWM con fonte dati Tradestation.

Partiamo proprio dall’ultima tavola e propaghiamo il backtest della medesima strategia, ma su dati Interactive Brokers (operatore Beta).

Fig.7: performance report strategia su IWM con fonte dati Tradestation.

Le metriche del sistema subiscono delle variazioni consistenti: notiamo un average trade di 623 $ (dai 687 $ di Tradestation), un profit factor di 2.27 (contro 2.5), una percentuale dei trade vincenti un po’ più elevata del 63% (contro il 61%) ed un rapporto rendimento rischio di 1.31 (contro 1.57). Il max open draw down passa da -17655 $ a -15805 $. Stiamo parlando di differenze importanti a parità di strategia.

Disegnando la curva di equity line possiamo apprezzare come si siano prolungate le ricorrezioni del 2007-2008 ma, avvenendo su un valore nominale minore, si traducono in un draw down inferiore in termini assoluti. Eppure anche altre fasi della curva sembrano soffrire maggiormente dal 2011 in poi.

Fig.8: equity line strategia su IWM con fonte dati Tradestation.

Fig.9: drawdown strategia su IWM con fonte dati Tradestation.

Fig.10: yearly profit/loss strategia su IWM con fonte dati Tradestation.

Fig.11: average monthly profit/loss strategia su IWM con fonte dati Tradestation.

Fig.12: heatmap profit/loss strategia su IWM con fonte dati Tradestation.

Lo scopo di questo breve articolo è quello di portare l’attenzione sull’importanza dei dati: i dati di progetto, certamente, su cui avviene il backtest delle strategia, ma anche i dati su cui operare effettivamente (i dati del broker). Una buona strategia dovrebbe rimanere tale anche apportando variazioni significative sui dati di progetto (robustezza al variare delle condizioni al contorno), ma tale impatto andrebbe sempre valutato con attenzione prima di andare in reale.

A tale scopo è anche possibile lavorare sull’aggiunta di rumore alla serie originale, come facciamo applicando un protocollo collaudato, durante la fase di validazione delle strategie.

Tutte le tavole sono realizzate con Python, con gli strumenti messi a disposizione durante il percorso acceleratore “Python Academy”. Ricordiamo che Python è uno strumento open source che permette di lavorare da codice anche a chi non sia un programmatore provetto (qui potete seguire gratuitamente una lezione tenuta all'Università di Torino).

Buon divertimento

Giovanni Trombetta

Head of R&D 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.

 


 

Topics

Intelligenza Artificiale

L' Intelligenza Artificiale e le più moderne tecnologie di Ingegneria Genetica al servizio del Trading...

Read more...

Consulenza

Gandalf Project è sia un Laboratorio di Finanza Quantitativa che una Società di Consulenza...

Read more...

Python

La scelta di Python come codice elementare per la modellizzazione di ambienti complessi...

Read more...