NON ASPETTARE LA PROSSIMA EDIZIONE! GUARDA SUBITO LA REGISTRAZIONE DI OGNI CORSO, LE SLIDE E I TRADING SYSTEMS, IN ATTESA DELLA PROSSIMA DATA 

Misurare la Persistenza delle Metriche di un Trading System

Se vuoi costruire strategie ROBUSTE allora devi comprendere il concetto di persistenza delle metriche di un trading system, e come misurarla. Questo articolo è un pò più tecnico del solito (abbiamo alzato un pò l'asticella), ma ti consiglio di leggerlo fino in fondo, perchè potresti iniziare a guardare con occhi diversi la prossima ottimizzazione dei parametri di una strategia.

Un trading system è un modello che, applicato su un vettore di dati, è in grado di fornire un segnale di trading. Il vettore di dati solitamente comprende massimi, minimi, aperture, chiusure e volumi storici campionati secondo un certo timeframe, che, combinati secondo determinate logiche (il trading system), sono in grado di generare segnali di ingresso, uscita, o di attesa.

Il modello di analisi dei dati così costruito, implica spesso l’utilizzo di alcune costanti che lo sviluppatore deve individuare, come per esempio, l’orizzonte temporale di calcolo di una media mobile. Al variare di queste costanti, chiamate parametri del sistema, varia l’output del backtest (ovvero il risutato prodotto dalla strategia sui dati storici – che chiameremo porzione In Sample), e dato che non esiste ancora un modo alternativo per identificare i valori “corretti” di queste costanti, spesso si ricorre a un’ottimizzazione per testare tutti i risultati ottenuti per ogni valore su cui abbiamo deciso di fare fluttuare questo parametro, e arrivare ad individuare quello che produce i risutati più stabili per un intorno di tali valori.

Anche il trading system più semplice, quindi, implica un certo livello di fitting (=adattamento): variare manualmente alcuni dei valori dei parametri impiegati, piuttosto che delegare alla macchina una scansione estesa a tutti i valori ragionevoli che potrebbe assumere, significa comunque effettuare un’ottimizzazione (con un differente livello di efficienza).

L’ottimizzazione di un trading system porta con sé tutta una serie di problematiche che se ignorate rendono questo processo pieno di insidie. Lo sviluppatore dovrà munirsi di tutti gli strumenti necessari a riconoscere quando un fisiologico fitting, diventa over-fitting (sovraottimizzazione). Tale degenerazione si nasconde spesso dietro una moltitudine di pratiche apparentemente banali, semplici, o innocue: dalla selezione degli strumenti su cui testare il sistema, alle molteplici regole su cui il sistema si basa, dalle date scelte per il backtest, alla sottostima dei costi.

La minaccia più grande, tuttavia, resta quella della dimensione del dominio su cui si imposta la ricerca dei parametri del modello: maggiore lo spazio navigato dall’ottimizzazione, maggiore è il rischio di overfitting.

Anche prendendo le giuste precauzione una domanda resta pur sempre legittima: cosa garantisce che i set di parametri che hanno generato i migliori risultati sul passato (a prescindere dalla fitness function impiegata), saranno quelli che nel futuro avranno le migliori prestazioni?

La risposta che ci siamo dati è stata che nulla può garantirlo, ma possiamo individuare (e misurare) se un sistema presenti una tendenza a mostrare prestazioni accettabili su dati mai visti, con quei parametri che sui dati di sviluppo si erano dimostrati i più efficaci.

Il concetto dietro a questa tendenza prende il nome di: Persistenza delle Metriche.

Un sistema presenta persistenza su una determinata metrica (per esempio il Net Profit, il Profit Fatcor o il CAGR) se i migliori set di parametri sui dati In Sample, restano i migliori anche in Out of Sample, ovvero su dati mai visti prima.

Un sistema che mostri persistenza è un sistema su cui è ragionevole proseguire nella ricerca del set di parametri più opportuno sulla porzione di dati In Sample a disposizione. Un sistema che non mostri persistenza, invece, è un sistema il cui comportamento sui dati Out of Sample non è facilmente modellabile partendo dai dati In Sample. In questo caso la ricerca dei parametri migliori attraverso un’ottimizzazione su dati In Sample sarebbe inopportuna, in quanto le combinazioni migliori individuate nella porzione In Sample non resterebbero tali anche sulla porizione di dati Out Of Sample.

Il concetto di persistenza, dunque, si fonda sul confronto tra il punteggio ottenuto sui due diversi set di dati: quello IS (In Sample) e quello OOS (Out of Sample). Per semplificare la questione definiamo questo punteggio come una percentuale, così che il set di parametri migliori sia associato al 100%, mentre il peggiore allo 0%. Il set di parametri che si colloca a metà classifica, per esempio, sarà associato al 50%. Formalmente stiamo considerando il percentile di ogni set di parametri.

Si comincerà a notare come è possibile, da qui, definire la persistenza: se a percentuali alte in IS, corrispondono percentuali alte OOS, il sistema in esame mostra persistenza sulla metrica utilizzata. Questo in quanto i migliori set di parametri sui dati di sviluppo restano i migliori anche su dati che il trading system non ha mai visto e su cui non è stato sviluppato.

Illustrando il processo di stima della persistenza di un sistema utilizzeremo due esempi: un trading system reale che sappiamo mostrare questa proprietà, e un trading system che opera sul mercato attraverso segnali prodotti da un generatore di numeri casuali.

Per definizione, quest’ultimo, non può e non deve mostrare persistenza, lo utilizzeremo dunque come sistema di controllo.

Sulla piattaforma StrategyLAB la stima della persistenza avviene attraverso l’utilizzo di supporti visivi e numerici, cominciamo da quelli visivi.

Si prenda il 10% migliore dei set di parametri in IS, e si veda la distribuzione del loro collocamento OOS in Figura 1. Non stiamo, quindi, ragionando su uno specifico set di parametri che definisce un trading system, ma su tutti i possibili trading system originati da tutte le combinazioni dei valori su cui abbiamo deciso di fare fluttuare ogni parametro della strategia.

Nel grafico a sinistra in Figura 1 si può notare come si distribuiscono in OOS il migliore 10% dei test in IS. Vediamo come nel sistema di random trading, figura a sinistra, il comportamento sia casuale. Con uguale probabilità, un set di parametri proveniente dal miglior 10% IS potrebbe collocarsi in OOS tra il 90% e il 100%, come tra lo 0% e il 10%.

Nel caso invece del nostro sistema di riferimento (il grafico a destra in Figura 1), la distribuzione di probabilità è schiacciata a destra. Questo implica che i migliori 10% IS, tenderanno a collocarsi tra il 70% e il 100% in OOS, con il picco di probabilità tra 80% e 100%. La probabilità combinata del range 80%-100% è dell’87%.

Questo vuol dire che optando per uno dei test che ha meglio performato sui dati In Sample si tenderà a ricadere, su dati mai visti, tra i risultati migliori.

Concentriamoci ora, più in generale, su tutti i decili IS, e vediamo qual è il percentile medio ottenuto in OOS.
In ascissa dei grafici in Figura 2, è indicato il decile in IS, e in ordinata il percentile medio OOS ottenuto dai test facenti parte del decile di partenza IS della relativa ascissa.

Vediamo come nel test aleatorio (sempre il grafico di sinistra) non vi sia alcuna relazione tra il decile IS e la media di posizionamento OOS: ad esempio, i test facenti parte del decile 90%-100% in IS, hanno un percentile medio OOS del 49%, ovvero immediatamente sotto metà classifica.

Questa media resta pressoché invariata scendendo di decile in decile lungo la classifica IS. Ciò comporta che, a prescindere dal posizionamento IS, su dati mai visti i risultati tendono a distribuirsi omogeneamente tra lo 0% e il 100%, con media 50% (quello che potremmo definire come un risultato casuale).

La strategia reale, invece, mostra un comportamento differente: il percentile medio OOS è molto basso per i test che avevano performato peggio in IS, e molto alto per quei test che avevano performato meglio. L’andamento crescente costante, per decili IS crescenti, ci dice che la strategia tende a preservare l’ordinamento delle performance tra IS e OOS (e ad indicarci che le combinazioni che hanno performato meglio in In Sample, sono quelle che performano meglio in Out Of Sample, e allo stesso modo, le peggiori scelte in IS restano le peggiori anche in OOS).

Questi supporti visivi ci suggeriscono che la strategia randomica non presenza alcuna persistenza, ovvero che la qualità del trading system sui dati di sviluppo non è uno stimatore valido della qualità che il sistema presenterà su dati mai visti. Il contrario si può invece affermare del modello reale preso da noi in esame.

Sarebbe utile, a questo punto, poter assegnare un valore numerico che funga da indice della persistenza del sistema sulla metrica di riferimento: in altre parole, misurare la persistenza.

Abbiamo sviluppato questo indice, che viene calcolato nella StrategyLAB, e lo abbiamo chiamato Metric Persistence Index (MPI).

Per il calcolo dell’MPI a ogni set di parametri viene assegnato un percentile IS (posizionamento nella classifica IS, da 0% a 100%), e un percentile OOS. I due percentili vengono poi utilizzati come coordinate per il loro collocamento su uno scatter plot.

In figura 3 è possibile esaminare il risultato per i due sistemi da noi presi in esame.


Definiamo come Esattamente Persistente quel sistema che presenta classifiche invariate tra IS e OOS. In questo caso il percentile IS del risultato di un set di parametri è uguale al suo percentile OOS. Per esempio il migliore set di parametri IS (100% in IS) resta il migliore set di parametri anche in OOS (100% in OOS), il peggiore resta il peggiore (0% IS e 0% OOS), il set a metà classifica resta a metà classifica (50% IS e 50% OOS), e così via. Sui grafici di Figura 3, tutti i punti relativi ai diversi set di parametri del sistema, dovrebbero trovarsi sulla linea tratteggiata rossa.

Un sistema Inversamente Persistente osserverebbe il comportamento opposto: il migliore (100%) in IS diventa il peggiore (0%) in OOS, il secondo diventa il penultimo, il terzo il terzultimo, e così via. Questi punti giacciono sulla retta a pendenza -1 passante per il punto (0%, 100%).Un sistema che non mostra persistenza, come infatti anticipato, è un sistema il cui posizionamento in IS non è uno stimatore del posizionamento in OOS.

Possiamo dunque dire che più i punti sullo scatter plot si distribuiscono uniformemente lungo la retta tratteggiata rossa, più il sistema mostra persistenza.

Vediamo come nel caso del trading system aleatorio i punti rappresentanti i diversi set di parametri si posizionino in modo uniforme sull’area del grafico, a indicare la non predittività del comportamento IS rispetto al comportamento OOS. Si può dire il contrario, invece, dei punti rappresentanti i set di parametri del sistema reale di nostra scelta, che si distribuiscono uniformemente lungo la retta di Persistenza Esatta.

Per indicizzare la persistenza di un sistema, dunque, abbiamo elaborato il sopracitato MPI nella piattaforma StrategyLAB. L’MPI è un indice della qualità con cui la retta rossa tratteggiata fitta i punti del sistema. MPI è compreso tra -100% e 100%, e va letto in questo modo:
- Un MPI elevato positivo, prossimo a 100%, indica che il sistema presenta persistenza
- Un MPI basso, prossimo a 0, indica che il sistema non presenta persistenza
- Un MPI elevato negativo, prossimo a -100%, indica che il sistema presenta persistenza inversa

Nel caso dei due sistemi portati come esempio si ottengono i seguenti valori: per il sistema randomico troviamo MPI = 1.25%, a dimostrazione di quanto si era intuito visivamente e che ci aspettavamo per costruzione (poiché il sistema è basato su ingressi e uscite aleatorie il comportamento IS non può predirre il comportamento OOS), ovvero che non vi è persistenza; per il sistema reale preso in esame, invece, si trova MPI = 89.97%, ovvero un elevato indice di persistenza, ancora una volta a conferma dell’ispezione visiva.

Possiamo quindi concludere che per il sistema da noi scelto per questo articolo, il processo di ottimizzazione per la selezione dei parametri ha valore, in quanto il comportamento della strategia sul dataset di sviluppo è un valido predittore del futuro comportamento su dati mai visti.

Si può fare un’ulteriore osservazione: nella nuvola di punti dello scatter plot di destra si vede come il posizionamento in OOS, sebbene stimato con affidabilità dal comportamento in IS, possa essere alquanto variabile. La nostra conclusione è che possa essere sensato, su dati mai visti, scegliere di implementare non un unico set di parametri, ma una sottoselezione dei migliori IS (per esempio tutti quelli facenti parte del miglior 5% o 10%). In questo modo si andrebbe a diversificare su un numero elevato di campioni, il rischio che il set di parametri scelto sottoperformi in OOS a causa della componetene ineliminabile di rumore e caso.

Il valore di MPI, per come è calcolato, non dipende dal numero di set di parametri. Questo vuol dire che a parità di bontà del fit, al crescere del numero dei set di parametri analizzati, MPI non cresce a sua volta. Tuttavia, euristicamente, a parità di fit noi consideriamo una persistenza più significativa se mostrata su una nuvola più fitta di set, in quanto è meno probabile che il caso sia sufficiente a giustificare l’MPI ottenuto. Con pochi set, e quindi una nuvola di valori meno densa, è invece più probabile che il valore di fit ottenuto sia dovuto esclusivamente al caso. Ma se MPI non viene rialzato dall’aumentare dei set, come facciamo a includere nell’analisi questa idea intuitiva di significatività? Attraverso la deviazione standard.

La deviazione standard di MPI, infatti, è inversamente proporzionale al numero dei set di parametri: questo vuol dire che, a confronto con la sua deviazione standard, a parità di MPI, nuvole più dense mostreranno una maggiore significatività (intesa come un maggiore rapporto MPI / StdDev). In StrategyLAB consideriamo come soglia di significatività tre deviazione standard, così che un MPI inferiore a questo limite non venga considerato sufficiente a rigettare l’ipotesi di una persistenza dovuta al caso.

Ed infine, un’ultima considerazione: come ha impattato, sul calcolo dell’MPI, la suddivisione periodale IS/OOS da noi scelta per l’analisi? Se si fosse scelta un’altra tipologia di segmentazione, come sarebbe cambiato il valore trovato? Ancora una volta, in modo sottinteso, ci stiamo chiedendo quanto il caso possa giustificare l’MPI trovato. Il caso qui è espresso nella forma di un’arbitraria segmentazione temporale, che avrebbe potuto essere diversa e portato ad un risultato diverso.

La risposta a questa domanda la si può trovare attraverso una permutazione aleatoria, con i dovuti vincoli, della segmentazione IS/OOS che è possibile effettuare con un click nella piattaforma StrategyLAB. Il risultato è un vettore di nubi di punti, per i quali si calcola il valore di MPI. Di tutti questi MPI, si prende poi la media. Questo valore mediato è indipendente dalla segmentazione scelta, e quindi nettato dei suoi possibili effetti.

La piattaforma utilizzata per l’analisi e la misurazione della persistenza è la StrategyLAB. e visitando questa pagina puoi farti un'idea di tutte le funzionalità che abbiamo implemetato in questa innovativa piattaforma. Fino al 22 Settembre hai la possibilità di beneficiare di una riduzione di 500 € sulla licenza lifetime dello Strategy Builder e del Data Analyzer (i 2 moduli che compongono la STrategyLAB): tutti i dettagli in fondo a questa pagina...

 

...abbiamo alzato un pò l'asticella... ma approfondiamo meglio sia da un punto di vista teorico che pratico, funzionalità come queste della misurazione della persistenza con il Metric Persistence Index, nel percorso:

Trading System Academy 

che dalla possima edizione (ormai in partenza) si arricchisce di tante novità e di una giornata in più: INTRADAY TRADING SYSTEM, con altri 5 trading system (a codice aperto) ma questa volta intraday, che vanno ad affiancarsi ai 5 che già mettiamo a disposizione fin dalla prima edizione del 2013, nel corso TRADING AUTOMATICO. Queste due sono le giornate centrali del percorso Academy, perchè sono incentrate sull'analisi della robustezza dei trading system, ma il pecorso Trading System Academy si compone di 5 corsi e 2 giornate di Workshop, e puoi scoprirlo più in dettaglio in questa pagina. 

 

...e fino al 19 Settembre, è ancora valido un early bird
che taglia la quota di partecipazione al 50%

Scopri di più in questa pagina...

 

...NON è in Calendario? 

Ti apriamo SUBITO la REGISTRAZIONE dell'ultima edizione (e ti inviamo le Strategie) in attesa della prossima data, che potrai seguire in sala, oppure collegato a distanza in streaming (la Rifrequenza è SEMPRE Gratis)

 ECCO COME FACCIAMO FORMAZIONE IN QTLAB

 

...in libreria!

VideoCorsi

Video Pillole di Analisi del Mercato o di una specifica Operatività, ma anche Video Didattici sull'utilizzo delle Piattaforme di Trading...
VideoCorsi

Articoli

Il commento ad una Operazione, l'Analisi di una Strategia, o semplicemente la descrizione di una Tecnica... questo ed altro nella sezione Articoli.
Leggi gli Articoli

 

Downloads

Materiali Didattici, le Slide proiettate ai Seminari, codici di Trading Systems, Reports e Software: a tua disposizione!
Downloads



Login

Le migliori Piattaforme

Diventa Trader!

Il Trading è una professione come tante: si può imparare, richiede impegno, ma prima di ogni cosa, un Metodo, che può essere appreso attraverso la frequenza ad un corso...
Percorso in aula

 

... osservando un Trader e affiancandolo nella sua operatività (Coaching Individuale)... 
Coaching 101

 

... o seguendo l'operatività di Trader più esperti attraverso dei Segnali Operativi inviati real time... 
Segnali Operativi

QT Lab Community

Il Trading può essere un gioco di squadra: lo diciamo per esperienza... perchè da anni i nostri Trader interagiscono in questa Community, analizzano insieme operazioni, e condividono idee e metodologie. Vuoi farne parte? Basta registrarsi...
Entra in Community

 

Questo sito utilizza i Cookies per migliorare la navigazione. Utilizzando questo sito e continuando nella navigazione si intende accettata la Privacy Policy e la Cookie Policy 

Puoi bloccare in ogni momento questa raccolta di informazioni seguendo le istruzioni per configurare il tuo browser, contenute nella suddetta pagina. 

Procedere nella navigazione di questo sito web, implica l'accettazione delle condizioni generali di utilizzo e i termini di vendita dei servizi che puoi approfondire in questa pagina.

Quantitative Trading LAB di Luca Giusti - e-mail: info@qtlab.ch Tutti i diritti sono riservati. tel: 0041 44 586 68 57

Questo sito Web non è rivolto a persone giuridiche o fisiche appartenenti a giurisdizioni in cui, in virtù della nazionalità, della tipologia di persona, del proprio domicilio o residenza, della sede sociale o per qualsiasi altro motivo, l’accesso allo stesso, la relativa consultazione, la disponibilità, la pubblicazione, come pure la presentazione di servizi finanziari o la commercializzazione di determinati prodotti finanziari dovesse essere vietata o soggetta a restrizioni. Alle persone cui si applicano tali restrizioni è conseguentemente vietato accedere a questo sito internet. Le informazioni e le opinioni contenute nelle pagine del sito internet e nel materiale in esso contenuto non costituiscono in nessun caso un invito, un’offerta, una raccomandazione o una sollecitazione di acquisto o di vendita, una richiesta o una sottoscrizione di titoli o strumenti finanziari, prodotti o servizi finanziari o d’investimento, né un’esortazione ad effettuare transazioni di alcun genere. Il contenuto del sito internet è stato allestito con la maggiore cura e diligenza possibile. Tuttavia non si fornisce alcuna garanzia circa la correttezza, l’esattezza, la completezza, l’affidabilità o l’attualità dei contenuti proposti. I dati storici relativi ai rendimenti e agli scenari sui mercati finanziari, le prestazioni passate, effettive o indicate da test storici o strategie, non sono garanzia di analoghi risultati futuri. Facendo trading si possono sostenere perdite superiori al proprio investimento iniziale: non si dovrebbe investire o rischiare denari che non si si può permettere di perdere.Per ulteriori dettagli, si prega di leggere le "Condizioni di Utilizzo" nel menù verticale in alto a sinistra. In nessuna circostanza – ivi compresa la negligenza – la nostra società può essere considerata responsabile per perdite e/o danni di qualsiasi natura – sia che si tratti di danni diretti, indiretti oppure consequenziali – derivanti dall’accesso agli elementi di questo sito internet o dal loro utilizzo (o dall’impossibilità di accedere al sito internet stesso e di utilizzarne gli elementi) o da link che portano a siti internet di terzi. Noi non monitoriamo le pagine collegate al sito internet mediante link e decliniamo pertanto qualsiasi responsabilità per i relativi contenuti e per le eventuali prestazioni ivi offerte. La totalità dei contenuti presenti nel sito internet è tutelata dal diritto d’autore. Senza previo consenso scritto da parte nostra non è pertanto consentito riprodurre (anche parzialmente), trasmettere (né per via elettronica né in altro modo), modificare, stabilire link o utilizzare il sito internet per qualsivoglia finalità pubblica o commerciale.Qualsiasi controversia riguardante l’utilizzo del sito internet è soggetta al diritto svizzero, che disciplina in maniera esclusiva l’interpretazione, l’applicazione e gli effetti di tutte le condizioni sopra elencate. Il foro di Bellinzona è esclusivamente competente in merito a qualsiasi disputa o contestazione che dovesse sorgere in merito al presente sito internet e al suo utilizzo.
 
Accedendo e continuando nella lettura dei contenuti di questo sito Web dichiari di aver letto, compreso e accettato le sopracitate informazioni legali.

The material on this website is for information purposes only. Any reference on this Web site to QTLab, the authors, and its affiliated companies should not be construed as an offer or solicitation, directed to residents in jurisdictions where QTLab, by and through any of its affiliates, is not registered to do business. No investment advice or solicitation to buy or sell securities is given or in any manner endorsed by QTLab or any of its affiliates. Charts created using TradeStation. ©TradeStation Technologies, Inc. All rights reserved. No investment or trading advice, recommendation or opinions is being given or intended. Past performance, whether actual or indicated by historical tests of strategies, is no guarantee of future performance or success. There is a possibility that you may sustain a loss greater than your entire investment; therefore, you should not invest or risk money that you cannot afford to lose. For further details please read the "Condizioni di Utilizzo" to see the full set of terms and conditions.

 

www.ForexAcademy.it      -        www.OptionsAcademy.it       -        www.FuturesAcademy.it       -        www.TradingSystemAcademy.it