Il Backtest: la misura della performance di una strategia
- Information
- Portafogli modello 7450 hits
- Prima pubblicazione: 28 Novembre 2018
«Backtesting while researching is like drinking and driving. Do not research under the influence of a backtest».
Marcos López de Prado
Se avessimo investito nei portafogli modello 5, 10 o 15 anni fa, che rendimento avremmo ottenuto? Quale sarebbe stata la volatilità e quali i massimi drawdown?
Dedalo Invest non esisteva, ma le risposte a queste domande sì. Per trovarle, abbiamo bisogno di uno strumento oggi molto usato ed abusato: il backtest.
Di backtest abbiamo già parlato nell'articolo attinente ai portafogli modello, nella sezione relativa alla verifica dei modelli e delle strategie. In particolare, sono stati introdotti i fenomeni del Look-Ahead Bias, del Look-Back Bias e dell'overfitting, che possono inficiare i risultati dei backtest.
Adesso approfondiremo l'argomento e mostreremo come sia facile utilizzare dati veritieri, ma non pertinenti, per far passare come miracolosa una strategia che in realtà non lo è. Anche quando una strategia è buona o ottima, come riteniamo essere quella che genera i portafogli modelli di Dedalo Invest, i risultati dei backtest potrebbero essere drasticamente migliorati grazie ad alcuni escamotage.
Prenderemo spunto proprio dai portafogli modello di Dedalo Invest per presentare due risultati: la loro reale performance storica e la considerevole differenza tra performance reale ed overfittata.
Prima di passare all'analisi vera e propria vale la pena di sottolineare la pericolosità dei backtest a partire dal lavoro svolto da Marcos López de Prado nel suo libro Advances in Financial Machine Learning. Marcos López de Prado è uno dei maggiori esperti di Machine Learning al mondo e nel capitolo intitolato "The Dangers of Backtesting" (traducibile in "I pericoli dei backtest") afferma due concetti fondamentali:
- Il backtest è una tecnica essenziale dell'analisi quantitativa
- Il backtest non è uno strumento di ricerca
Marcos López de Prado usa una interessante analogia per spiegare quest'ultimo concetto: fare ricerca e backtestare è come guidare e bere alcolici. Tutti sanno che non si deve guidare sotto l'influenza dell'alcool; pochissimi sanno, invece, che è estremamente pericoloso e fuorviante fare ricerca sotto l'influenza dei backtest. Il backtest, infatti, non può essere paragonato ad un esperimento e non prova niente, nel senso che non garantisce la riproducibilità dei risultati prodotti.
Un backtest fatto bene permette però la verifica di alcune variabili, tra le quali l'entità dell'investimento, l'impatto dei costi e il comportamento di una strategia relativamente ad uno specifico scenario. Un backtest fatto bene può essere estremamente utile, ma è molto difficile da realizzare ("A good backtest can be extremely helpful, but backtesting well is extremely hard").
Il backtest non è uno strumento di ricerca: nel lavoro che precede la selezione di una strategia di investimento (o di trading) non si deve dunque partire dai backtest. Che cosa si intende allora per strumento di ricerca? Esso consiste nella specificazione di un modello, avente una certa capacità previsionale, che deve essere individuato prima di effettuare i backtest.
Se io voglio creare una strategia di investimento in funzione di alcune variabili macroeconomiche dei mercati, ad esempio, dovrò per prima cosa cercare di capire i motivi per cui determinati livelli raggiunti da quelle variabili causeranno quei movimenti degli strumenti finanziari che io vorrei anticipare e sfruttare.
Soltanto dopo potrò e dovrò andare a verificare attraverso uno o più backtest se i nessi di causalità ipotizzati, laddove sfruttati in passato, avrebbero permesso un ritorno finanziario positivo. Se il modello non funziona, si dovrà ricominciare da capo: sarà necessario definire un nuovo modello a partire da zero.
Provare ad ottimizzare un modello che non funziona attraverso l'ottimizzazione dei suoi parametri è inutile e pericoloso: i backtest devono servire a scartare i modelli non funzionanti, non a migliorarli. Intraprendere il percorso inverso equivarrà quasi certamente a inventare una storia ex-post per giustificare qualche pattern casuale.
Il backtest, quindi, è solo l'ultimo tassello del puzzle.
Le performance overfittate non sono necessariamente imputabili alla malafede dell'analista: nella maggioranza dei casi sono dovute ad una comprensione distorta del concetto di backtest, e talvolta alla complessità nella programmazione di un algoritmo di backtest con un'ottica multiperiodale.
Gli effetti di backtest overfittati sono ben noti a chiunque si sia cimentato almeno una volta in un investimento finanziario o nella compravendita di azioni: tantissimo tempo impiegato per trovare la giusta strategia di investimento (o di trading) che, una volta mandata a mercato con soldi reali, si rivela poco profittevole, se non addirittura perdente. L'aspettativa di ottimi rendimenti generata dagli eccellenti esiti dei backtest si trasforma in delusione.
A questo punto, l'analista torna di solito a lavorare sulla strategia iniziale apportando alcuni accorgimenti che, se fossero stati implementati da subito, avrebbero evitato i pessimi risultati ottenuti.
Il passo successivo è quello di investire, ancora una volta, soldi reali nel mercato. Purtroppo, dopo un certo periodo di tempo ci si accorge che la messa a punto della strategia non ha funzionato.
Si torna quindi a modificarla: è un circolo vizioso senza via d'uscita, una corsa nella direzione sbagliata.
Perché questo accade? Come è possibile che una strategia che avrebbe prodotto ottimi rendimenti fino ad oggi diventi improvvisamente scarsa? E, guarda caso, proprio nel momento in cui si decide di testarla sul mercato e dopo ogni aggiustamento?
I motivi possono essere molteplici ma, per prima cosa, è necessario osservare che non è la strategia ad essere peggiorata improvvisamente: probabilmente buona non lo è mai stata. Quello che è successo è che abbiamo modellato dei pattern causali con una strategia, validata dai backtest overfittati, che purtroppo non ha alcuna capacità previsionale.
Ciò che ci ha illuso sono stati appunto i risultati dei backtest effettuati in modo scorretto.
Uno dei problemi dei backtest di una strategia di investimento è che spesso non misurano le prestazioni della strategia in un'ottica multiperiodale, quanto quelle uniperiodali del portafoglio ottimizzato (non ci occuperemo di strategie di trading).
Ipotizzando di aver impostato un backtest in modo corretto, ovvero che non abbia sbirciato nel futuro (evitando cioè le distorsioni prodotte dal Look-Ahead Bias), potremmo però aver overfittato una strategia di portafoglio. Oppure, tra varie strategie non overfittate, potremmo aver overfittato la scelta della strategia (Look-Back Bias), sostituendo i risultati dei backtest all'attività di ricerca che deve costituire il fondamento logico/scientifico della scelta di una strategia di investimento.
O forse, se anche questo non è successo, non abbiamo effettuato un backtest out-of-sample in un'ottica multiperiodale.
Il risultato, in ogni caso, è fuorviante: i nostri backtest ci dicono che la strategia applicata avrebbe prodotto ottimi risultati, mentre così non è.
Vediamo perché, prendendo come esempio un portafoglio modello di Dedalo Invest che andremo ad analizzare.
Portafoglio modello: Misto, rischio molto basso, gestione attiva e passiva, composto da 15 fondi
Indicatore statistico | Valore (backtest reale)
Periodo: 14 anni
|
---|---|
Rendimento annualizzato | 2,17% |
Deviazione Standard annualizzata | 1,73% |
Indice di Sharpe annualizzato (Rf=0%) | 1,2537 |
Rendimento cumulato | 35,45% |
Peggior Drawdown | 9,02% |
Drawdown medio | 0,29% |
Lunghezza media del Drawdown | 18,48 |
Periodo medio di recupero | 10,42 |
Indice di Hurst | 0,312 |
VaR (95%) | -0,19% |
CVaR (Expected Shortfall) (95%) | -0,37% |
Indice di Sortino (MAR = 0%) | 1,7077 |
In questa tabella vengono visualizzate le performance del portafoglio modello misto con le specifiche sopra indicate. Il backtest è stato condotto sul periodo compreso tra il 22 novembre 2004 e il 31 agosto 2018 e sono stati effettuati dei rinnovi/ribilanciamenti del portafoglio annuali, utilizzando ogni volta circa 5 anni di serie storiche per la selezione dei fondi e l'ottimizzazione del modello.
Sono risultati buoni o modesti? Dipende dalle aspettative di ciascuno. In ogni caso sono dei risultati veri, risultati che si sarebbero ottenuti investendo nel portafoglio modello analizzato.
Nel medio/lungo periodo ci possiamo quindi aspettare il ripetersi di questi risultati, con un piccolo margine verso l'alto o verso il basso, avendo sempre ben chiaro che aspettativa non è sinonimo di realizzazione.
Se avessimo riportato, invece, soltanto gli esiti degli ultimi 5 anni dell'ultimo portafoglio modello proposto (ovvero quello relativo al suo ultimo ribilanciamento/rinnovo), ci troveremmo di fronte ad uno scenario completamente diverso. I risultati sarebbero notevolmente migliori, come si può vedere dalla terza colonna della tabella sottostante (i valori più significativi sono i primi tre in quanto annualizzati e più facilmente confrontabili):
Indicatore statistico | Valore (backtest reale)
Periodo: 14 anni
| Valore (backtest overfittato)
Periodo: 5 anni
|
---|---|---|
Rendimento annualizzato | 2,17% | 5,38% |
Deviazione Standard annualizzata | 1,73% | 2,50% |
Indice di Sharpe annualizzato (Rf=0%) | 1,2537 | 2,1548 |
Rendimento cumulato | 35,45% | 29,97% |
Peggior Drawdown | 9,02% | 4,76% |
Drawdown medio | 0,29% | 0,31% |
Lunghezza media del Drawdown | 18,48 | 12,22 |
Periodo medio di recupero | 10,42 | 6,66 |
Indice di Hurst | 0,312 | 0,356 |
VaR (95%) | -0,19% | -0,26% |
CVaR (Expected Shortfall) (95%) | -0,37% | -0,55% |
Indice di Sortino (MAR = 0%) | 1,7077 | 3,0217 |
Non c'è stata alcuna manipolazione dei dati. Il portafoglio modello consigliato dopo l'ultimo ribilanciamento/rinnovo ha effettivamente ottenuto questi risultati negli ultimi 5 anni. Sono però i risultati prodotti nel passato, proprio nel periodo di cui abbiamo utilizzato le serie storiche dei rendimenti per generare quel portafoglio specifico.
Nel futuro quali risultati potremo aspettarci? Come già anticipato non possiamo saperlo; il futuro è sconosciuto. Tuttavia, quasi sicuramente saranno più vicini a quelli prodotti dal backtest reale che a quelli del backtest overfittato.
Vediamo adesso come è stato effettuato il backtest reale. Innanzitutto, si è evitato di commettere l'errore di creare i clusters (ovvero i gruppi da cui poi vengono selezionai i fondi da inserire nel portafoglio nel momento della sua prima creazione ed ogni volta che si ha un ribilanciamento/rinnovo del portafoglio) con dati che non sarebbero stati a disposizione al momento dell'ottimizzazione dei pesi dei fondi in portafoglio (Look-Ahead Bias).
Nell'asse temporale, le fasi del primo periodo del backtest sono le seguenti:
L'asse temporale mostra come i dati compresi tra il 3 gennaio 2000 e il 19 novembre 2004 siano stati usati per la scelta dei fondi da inserire in portafoglio, effettuata con l'ausilio della cluster analysis, e per l'ottimizzazione dei pesi dei fondi selezionati.
Il backtest vero e proprio è invece effettuato sul periodo che va tra il 22 novembre 2004 ed il 9 novembre 2005, data in cui è avvenuto il primo ribilanciamento del portafoglio.
Gli indicatori statistici dei backtest reali non vengono quindi mai calcolati su periodi temporali che comprendono le serie storiche utilizzate per la scelta e l'ottimizzazione dei fondi (freccia verso sinistra nell'asse temporale soprastante), bensì su quelli successivi a questa fase (freccia verso destra).
Il secondo periodo del backtest è strutturato in modo similare:
Anche stavolta 5 anni di dati vengono utilizzati per selezionare ed ottimizzare i fondi inseriti in portafoglio (dal 21 dicembre 2000 al 9 novembre 2005). L'anno successivo sarà quello del backtest effettivo.
La serie storica dei rendimenti del portafoglio modello che stiamo backtestando è quindi formata adesso da quelli realizzati nel periodo 22 novembre 2004 - 9 novembre 2005 (periodo precedente) e quelli ottenuti nel periodo appena backtestato (10 novembre 2005 - 30 ottobre 2006).
Il terzo periodo del backtest sarà strutturato in modo del tutto analogo ai precedenti. Proseguendo ancora, si arriverà fino all'ultimo periodo backtestato, quello compreso tra il 27 luglio 2017 e il 31 agosto 2018:
La serie storica dei rendimenti dei portafogli modello generati dalla nostra strategia di investimento è ora completa (ignoriamo per il momento il periodo successivo al 31 agosto 2018). Su questa serie storica abbiamo calcolato gli indicatori statistici riportati nelle tabelle precedenti (backtest reale).
Più che il backtest di un portafoglio modello quello che abbiamo effettuato è il backtest della strategia di investimento sottostante: non ci importa sapere il rendimento o la volatilità di un certo portafoglio nel passato; ci interessa piuttosto conoscere quello che possiamo aspettarci da una strategia di investimento in futuro.
Siccome ogni portafoglio è realizzato in base alla nostra strategia di investimento, il backtest completo di questa serie di portafogli misura statisticamente la bontà della strategia.
L'overfitting e i backtest ingannevoli sono la causa di aspettative di rendimento (e di rischiosità) non realistiche. Queste aspettative sono basate su un'illusione che non durerà a lungo: la realtà non tarderà a manifestarsi ed a convincere l'investitore o l'analista che c'è qualcosa che non va.
L'importante sarà non persistere nell'errore ma rendersi conto il prima possibile che la strategia che si sta utilizzando è ben lontana dal generare quei risultati che illusoriamente ci aspettavamo.