Vai al contenuto

Cambiando l’ordine dei fattori il risultato non 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.3: yearly profit/loss 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.

Buon divertimento

Giovanni Trombetta

Head of R&D Gandalf Project

AVVERTENZE: I contenuti di questo articolo (e degli altri contenuti in questo sito) e le opinioni espresse non devono in nessun caso essere considerati come un invito all’investimento.
Le analisi non costituiscono mai una sollecitazione all’acquisto o alla vendita di qualsivoglia strumento finanziario. Queste note hanno per oggetto analisi finanziarie e ricerca in materia di investimento. Qualora vengano espresse delle raccomandazioni, queste hanno carattere generale, sono rivolte ad un pubblico indistinto e mancano dell’elemento della personalizzazione.
Sebbene frutto di approfondite analisi, le informazioni contenute in questo e negli altri articoli possono contenere errori. Gli autori non possono in nessun caso essere ritenuti responsabili per eventuali scelte effettuate dai lettori sulla base di tali informazioni erronee. Chi decide di porre in essere una qualsiasi operazione finanziaria sulla base delle informazioni contenute nel sito lo fa assumendone la totale responsabilità.

DISCLAIMER: The contents of these notes and the opinions expressed should in no case be considered as an invitation to invest. The analyzes never constitute a solicitation to buy or sell any financial instrument.
These notes relate to financial analysis and investment research. If recommendations are made, these are of a general nature, are aimed at an indistinct audience and lack the element of personalization.
Although the result of in-depth analysis, the information contained in these notes may contain errors. The authors cannot under any circumstances be held responsible for any choices made by readers on the basis of such erroneous information. Anyone who decides to carry out any financial transaction on the basis of the information contained in the site does so assuming full responsibility.

Lascia un commento

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