Backtesting - KamilTaylan.blog
3 Maggio 2021 11:49

Backtesting

Cos’è il backtesting?

Il backtesting è il metodo generale per vedere quanto bene una strategia o un modello avrebbe funzionato ex post. Il backtesting valuta la fattibilità di una strategia di trading scoprendo come andrebbe a finire utilizzando i dati storici. Se il backtest funziona, i trader e gli analisti possono avere la certezza di utilizzarlo in futuro.

Punti chiave

  • Il backtesting valuta la fattibilità di una strategia di trading o di un modello di prezzo scoprendo come si sarebbe svolto in modo retrospettivo utilizzando i dati storici.
  • La teoria sottostante è che qualsiasi strategia che ha funzionato bene in passato è probabile che funzioni bene in futuro e, al contrario, qualsiasi strategia che ha funzionato male in passato rischia di funzionare male in futuro.
  • Quando si verifica un’idea su dati storici, è utile riservare un periodo di tempo di dati storici a scopo di test. Se ha successo, testarlo su periodi di tempo alternativi o dati fuori campione può aiutare a confermare la sua potenziale fattibilità.

Capire il backtesting

Il backtesting consente a un trader di simulare una strategia di trading utilizzando dati storici per generare risultati e analizzare il rischio e la redditività prima di rischiare il capitale effettivo.

Un backtest ben condotto che produce risultati positivi assicura ai trader che la strategia è fondamentalmente solida ed è probabile che produca profitti se implementata nella realtà. Al contrario, un backtest ben condotto che produce risultati non ottimali spingerà i trader a modificare o rifiutare la strategia.



Strategie di trading particolarmente complicate, come le strategie implementate da sistemi di trading automatizzati, fanno molto affidamento sui test retrospettivi per dimostrare il loro valore, poiché sono troppo arcane per valutare diversamente.

Finché un’idea di trading 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 ciò sarebbe il  sistema di crossover della media mobile semplice (SMA). Il trader potrebbe inserire (o modificare) le lunghezze delle due medie mobili utilizzate nel sistema. Il trader potrebbe quindi eseguire un backtest per determinare quali lunghezze delle medie mobili avrebbero dato i risultati migliori sui dati storici.

Lo scenario ideale di backtesting

Il backtest ideale sceglie dati campione da un periodo di tempo rilevante di una durata che riflette una varietà di condizioni di mercato. In questo modo, si può giudicare meglio se i risultati del backtest rappresentano un colpo di fortuna o un buon trading.

Il set di dati storici deve includere un campione di azioni veramente rappresentativo, comprese quelle di società che alla fine sono fallite o sono state vendute o liquidate. L’alternativa, includendo solo i dati delle azioni storiche che sono ancora in circolazione oggi, produrrà rendimenti artificialmente alti nei test retrospettivi.

Un backtest dovrebbe considerare tutti i costi di trading, per quanto insignificanti, poiché questi possono sommarsi nel corso del periodo di backtest e influenzare drasticamente l’aspetto della redditività di una strategia. I commercianti dovrebbero assicurarsi che il loro software di backtesting tenga conto di questi costi.

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 forte correlazione  tra i risultati dei test di performance backtesting, out-of-sample e forward è vitale per determinare la fattibilità di un sistema di trading.

Test retrospettivo e test in avanti delle prestazioni

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. Gli operatori dovrebbero essere onesti circa le voci di categoria e uscite e comportamenti evitano come la  ciliegia-picking  compravendite o meno compreso un commercio su razionalizzazione di carta che “non avrei mai preso che il commercio.” Se lo scambio fosse avvenuto seguendo la logica del sistema, dovrebbe essere documentato e valutato.

Backtesting vs. analisi dello scenario

Mentre il backtest utilizza dati storici effettivi per testare l’adattamento o il successo, l’ analisi dello scenario fa uso di dati ipotetici che simulano vari risultati possibili. Ad esempio, l’analisi dello scenario simulerà cambiamenti specifici nei valori dei titoli del portafoglio o fattori chiave che si verificano, come una variazione del tasso di interesse.

L’analisi dello scenario è comunemente utilizzata per stimare le variazioni del valore di un portafoglio in risposta a un evento sfavorevole e può essere utilizzata per esaminare uno scenario teorico del caso peggiore.

Alcune insidie ​​del backtesting

Affinché il backtest fornisca risultati significativi, i trader devono sviluppare le proprie strategie e testarle in buona fede, evitando il più possibile pregiudizi. Ciò significa che la strategia dovrebbe essere sviluppata senza fare affidamento sui dati utilizzati nel backtesting.

È più difficile di quanto sembri. I trader generalmente costruiscono strategie basate su dati storici. Devono essere rigorosi nel testare con set di dati diversi da quelli su cui addestrano i loro modelli. Altrimenti, il backtest produrrà risultati brillanti che non significano nulla.

Allo stesso modo, i trader devono evitare il dragaggio dei dati, in cui testano un’ampia gamma di strategie ipotetiche sullo stesso insieme di dati, che produrranno anche successi che falliscono nei mercati in tempo reale perché ci sono molte strategie non valide che batterebbero il mercato su un periodo di tempo specifico per caso.

Un modo per compensare la tendenza al dragaggio dei dati o al cherry-pick è utilizzare una strategia che abbia successo nel periodo di tempo pertinente, o all’interno del campione, e sottoporla a test retrospettivi con i dati di un periodo di tempo diverso o fuori campione. Se i backtest in-sample e out-of-sample producono risultati simili, è più probabile che siano dimostrati validi.