Backtesting e forward test: l'importanza della correlazione - KamilTaylan.blog
3 Maggio 2021 11:49

Backtesting e forward test: l’importanza della correlazione

I trader desiderosi di provare un’idea di trading in un mercato live spesso commettono l’errore di affidarsi interamente ai risultati del backtest per determinare se il sistema sarà redditizio. Sebbene il backtesting possa fornire ai trader informazioni preziose, è spesso fuorviante ed è solo una parte del processo di valutazione.

I test fuori campione e il test delle prestazioni in avanti forniscono un’ulteriore conferma dell’efficacia di un sistema e possono mostrare i veri colori di un sistema prima che il denaro reale sia in linea. Una buona correlazione tra i risultati dei test di performance backtesting, out-of-sample e forward è vitale per determinare la fattibilità di un sistema di trading.

Nozioni di base sul backtest

Il backtesting si riferisce all’applicazione di un sistema di trading ai dati storici per verificare come si sarebbe comportato un sistema durante il periodo di tempo specificato. Molte delle piattaforme di trading odierne supportano il backtesting. I trader possono testare le idee con poche sequenze di tasti e ottenere informazioni sull’efficacia di un’idea senza rischiare fondi in un conto di trading. Il backtesting può valutare idee semplici, come il modo in cui un crossover della media mobile si comporterebbe su dati storici, o sistemi più complessi con una varietà di input e trigger.

Finché un’idea può essere quantificata, può essere testata a ritroso. Alcuni trader e investitori possono cercare l’esperienza di un programmatore qualificato per sviluppare l’idea in una forma verificabile. In genere, ciò comporta un programmatore che codifica l’idea nel linguaggio proprietario ospitato dalla piattaforma di trading. Il programmatore può incorporare variabili di input definite dall’utente che consentono al trader di “modificare” il sistema.

Un esempio di questo sarebbe nel semplice sistema di crossover della media mobile notato sopra: il trader sarebbe in grado di inserire (o modificare) le lunghezze delle due medie mobili utilizzate nel sistema. Il trader potrebbe eseguire un backtest per determinare quali lunghezze delle medie mobili avrebbero dato i risultati migliori sui dati storici.

Studi di ottimizzazione

Molte piattaforme di trading consentono anche studi di ottimizzazione. Ciò comporta l’immissione di un intervallo per l’input specificato e il permesso al computer di “fare i calcoli” per capire quale input avrebbe funzionato meglio. Un’ottimizzazione multivariabile può fare i calcoli per due o più variabili per determinare quali combinazioni avrebbero ottenuto il miglior risultato.

Ad esempio, i trader possono dire al programma quali input vorrebbero aggiungere alla loro strategia; questi sarebbero quindi ottimizzati in base ai loro pesi ideali sulla base dei dati storici testati.

Il backtest può essere eccitante in quanto un sistema non redditizio può spesso essere magicamente trasformato in una macchina per fare soldi con alcune ottimizzazioni. Sfortunatamente, modificare un sistema per raggiungere il massimo livello di redditività passata spesso porta a un sistema che funzionerà male nel trading reale. Questa ottimizzazione eccessiva crea sistemi che hanno un bell’aspetto solo sulla carta.

L’adattamento della curva è l’uso dell’analisi di ottimizzazione per creare il maggior numero di operazioni vincenti con il massimo profitto sui dati storici utilizzati nel periodo di test. Sebbene sembri impressionante nei risultati del test retrospettivo, l’adattamento della curva porta a sistemi inaffidabili poiché i risultati sono essenzialmente progettati su misura per quel particolare dato e periodo di tempo.

Il backtesting e l’ottimizzazione offrono molti vantaggi a un trader, ma questa è solo una parte del processo quando si valuta un potenziale sistema di trading. Il passaggio successivo di un trader è applicare il sistema ai dati storici che non sono stati utilizzati nella fase iniziale di backtesting.

Dati in-sample e out-of-sample

Quando si verifica un’idea su dati storici, è utile riservare un periodo di tempo di dati storici a scopo di test. I dati storici iniziali su cui l’idea viene testata e ottimizzata sono indicati come dati nel campione. Il set di dati che è stato riservato è noto come dati fuori campione. Questa configurazione è una parte importante del processo di valutazione perché fornisce un modo per testare l’idea su dati che non sono stati un componente del modello di ottimizzazione.

Di conseguenza, l’idea non sarà stata influenzata in alcun modo dai dati fuori campione e i trader saranno in grado di determinare il rendimento del sistema sui nuovi dati, cioè nel trading nella vita reale.

Prima di iniziare qualsiasi backtest o ottimizzazione, i trader possono mettere da parte una percentuale dei dati storici da riservare per i test fuori campione. Un metodo consiste nel dividere i dati storici in terzi e segregare un terzo per l’uso nei test fuori campione. Solo i dati nel campione devono essere utilizzati per il test iniziale e per qualsiasi ottimizzazione.

La figura seguente mostra una linea temporale in cui un terzo dei dati storici è riservato per i test fuori campione e due terzi sono usati per i test all’interno del campione. Sebbene la figura seguente rappresenti i dati fuori campione all’inizio del test, le procedure tipiche prevedono che la parte fuori campione sia immediatamente precedente la prestazione a termine.

La correlazione si riferisce alle somiglianze tra le prestazioni e le tendenze generali dei due set di dati. Le metriche di correlazione possono essere utilizzate per valutare i rapporti sulle prestazioni della strategia creati durante il periodo di test (una funzionalità fornita dalla maggior parte delle piattaforme di trading). Più forte è la correlazione tra i due, maggiore è la probabilità che un sistema funzioni bene nei test di performance forward e nel trading dal vivo.

La figura seguente illustra due diversi sistemi che sono stati testati e ottimizzati sui dati nel campione, quindi applicati ai dati fuori dal campione. Il grafico a sinistra mostra un sistema che era chiaramente adattato alla curva per funzionare bene sui dati nel campione e completamente fallito sui dati fuori campione. Il grafico a destra mostra un sistema che ha funzionato bene con dati sia interni che esterni al campione.

Una volta che un sistema di trading è stato sviluppato utilizzando dati in-sample, è pronto per essere applicato ai dati out-of-sample. I trader possono valutare e confrontare i risultati delle prestazioni tra i dati in-sample e out-of-sample.

Se c’è poca correlazione tra i test in-sample e out-of-sample, come il grafico a sinistra nella figura sopra, è probabile che il sistema sia stato ottimizzato e non funzionerà bene nel trading dal vivo. Se c’è una forte correlazione nelle prestazioni, come si vede nel grafico a destra, la fase successiva della valutazione prevede un ulteriore tipo di test fuori campione noto come test a termine delle prestazioni.

Nozioni di base sul test delle prestazioni in avanti

Il forward performance testing, noto anche come paper trading, fornisce ai trader un altro set di dati fuori campione su cui valutare un sistema. Il test delle prestazioni a termine è una simulazione del trading effettivo e prevede di seguire la logica del sistema in un mercato live. È anche chiamato trading cartaceo poiché tutti gli scambi vengono eseguiti solo su carta; ovvero, le entrate e le uscite dalle transazioni vengono documentate insieme a qualsiasi profitto o perdita per il sistema, ma non vengono eseguite transazioni reali.

Un aspetto importante del test delle prestazioni in avanti è seguire esattamente la logica del sistema; in caso contrario, diventa difficile, se non impossibile, valutare accuratamente questa fase del processo. I trader dovrebbero essere onesti in merito a qualsiasi entrata e uscita di scambio ed evitare comportamenti come la selezione di scambi o non includere uno scambio sulla carta che razionalizza che “non avrei mai accettato quello scambio”. Se lo scambio fosse avvenuto seguendo la logica del sistema, dovrebbe essere documentato e valutato.

Molti broker offrono un conto di trading simulato in cui è possibile effettuare operazioni e calcolare i profitti e le perdite corrispondenti. L’utilizzo di un conto di trading simulato può creare un’atmosfera semi-realistica su cui praticare il trading e valutare ulteriormente il sistema.

La figura sopra mostra anche i risultati per i test delle prestazioni in avanti su due sistemi. Anche in questo caso, il sistema rappresentato nel grafico a sinistra non riesce a superare i test iniziali sui dati del campione. Il sistema mostrato nel grafico a destra, tuttavia, continua a funzionare bene in tutte le fasi, compreso il test delle prestazioni a termine. Un sistema che mostra risultati positivi con una buona correlazione tra test delle prestazioni in-sample, out-of-sample e forward è pronto per essere implementato in un mercato live.

La linea di fondo

Il backtesting è uno strumento prezioso disponibile nella maggior parte delle piattaforme di trading. La divisione dei dati storici in più set per fornire test interni ed esterni al campione può fornire ai trader un mezzo pratico ed efficiente per valutare un’idea e un sistema di trading. Poiché la maggior parte dei trader utilizza tecniche di ottimizzazione nel backtesting, è importante quindi valutare il sistema su dati puliti per determinarne la fattibilità.

Continuare i test fuori campione con test sulle prestazioni a termine fornisce un altro livello di sicurezza prima di immettere un sistema sul mercato che rischia denaro reale. Risultati positivi e una buona correlazione tra il backtest in-sample ed out-of-sample e il forward test delle prestazioni aumentano la probabilità che un sistema funzioni bene nel trading effettivo.