Una tecnica quantitativa per misurare la tenuta di un modello su dati storici sconosciuti.
Architetture di validazione classiche
In questo articolo è nostra intenzione dimostrare come sia possibile rendere oggettiva la valutazione di un modello di trading o di investing su dati sconosciuti. La sfida è quella di non utilizzare i più noti metodi statistici di confronto tra popolazioni, come il T-Test, lo Z-Test, l’ANOVA Test o il Chi-Square Test, fruibili con un paio di righe in Python, grazie alla libreria “Scipy”. Opteremo invece sulla definizione di un set di indicatori proprietari che sono un’evoluzione di quelli pubblicati nel testo “Strategie di trading con Python” edito da Hoepli.
Tipicamente un sistema viene ideato e codificato sulla base di dati storici che sintetizzino il comportamento di uno o più strumenti finanziari. Un prerequisito importante è che il periodo di osservazione sia sufficien- temente lungo e che contempli diverse fasi di trend (uptrend e downtrend) e di volatilità (alta e bassa varianza). Questo per evitare che particolari condizioni di mercato possano trasferirsi nel modello che stia- mo sintetizzando. Terminata la fase di progetto, normalmente si applica lo stesso modello a nuovi dati, per valutare se sia in grado di generare risultati congrui con il passato. Soltanto in caso positivo si può fare un’ipotesi di “persistenza” del modello e quindi candidarlo per la fase operativa in denaro reale. Quella appena descritta è una metodologia che si basa sulla definizione di una architettura statica di “In Sample” ed “Out of Sample”, che trae le sue origini dal “training period” e “testing period” tipici dei metodi di Ma- chine Learning. Esistono diverse varianti per aggregare i dati opportunamente ed è possibile, ad esempio, ripetere ed alternare periodi di In Sample ed Out of Sample in strutture più articolate (Figura 1).

Durante l’intervento che ho avuto l’onore di tenere nel 2017 in occasione dell’IFTA World Conference di Milano, ho presentato l’architettura GSA (“Gandalf Segmented Architecture” equivalente all’archi- tettura di tipo E). Tale approccio ha permesso di minimizzare il periodo di “incubation” (se non addirit- tura di eliminarlo) e di svincolarsi dalla particolare tipologia di mercato intercettata dall’aggregato di periodo In Sample ed Out of Sample (Figura 2).

Per comprendere in dettaglio questo tipo di approccio vediamo un esempio pratico: prendiamo la serie oraria del Gold Future e acquistiamo un contratto al superamento del massimo a 23 ore (figura 3). Si tratta di una strategia grezza di breakout, che viene utilizzata per comprendere se esista o meno una inerzia rialzista di mercato su un particolare strumento finanziario. Dividiamo lo storico a disposizione (dal primo gennaio 2007 al 31 ottobre 2020) in 8 periodi In Sample di 5000 barre ciascuno e in altrettanti periodi Out of Sample (figura 3).

Di fatto abbiamo eliso il periodo di incubazione, associando l’intera validazione del modello alla ca- pacità di ottenere risultati congruenti in In Sample e in Out of Sample.
Analisi del periodo aggregato in In Sample
Codifichiamo la strategia sfruttando un motore di backtest scritto in Python (Figura 4).

Chiudiamo le operazioni in apertura della barra delle 23 (orario exchange) oppure dopo 10 ore dall’ingresso. Non permettiamo più di un trade al giorno. In Figura 5 il dettaglio delle principali metriche di performance report.
CONTINUA A LEGGERE SU SIAT MAG NUMERO 7!
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.