Come fare il backtest di una strategia di trading
Indice
Introduzione
Cos'è il backtesting?
Cosa fare prima del backtesting
Come fare il backtest di una strategia di trading
Valutare i risultati del backtesting
In chiusura
Come fare il backtest di una strategia di trading
HomeArticoli
Come fare il backtest di una strategia di trading

Come fare il backtest di una strategia di trading

Intermedio
Published Dec 17, 2020Updated Oct 20, 2021
6m

TL;DR

Pensi di avere idee geniali sul mercato ma non sai come metterle alla prova senza rischiare i tuoi fondi? Effettuare il backtest delle idee di trading è la base di un buon trader sistematico.

La premessa alla base del backtesting è: ciò che ha funzionato in passato potrebbe funzionare nel futuro. Ma quali sono i passi da seguire per farlo da solo? E come dovresti valutare i risultati? Osserviamo un semplice processo di backtesting.


Introduzione

Il backtesting è uno dei componenti chiave per sviluppare le proprie strategie di trading e analisi. Il processo consiste nel ricostruire operazioni che sarebbero avvenute nel passato con un sistema basato su dati storici. I risultati del backtesting dovrebbero darti un'idea generale sulla potenziale validità di una strategia d'investimento.

Prima di continuare, se vuoi eseguire un backtest delle tue strategie, Binance Futures è un ottimo posto per farlo. Se desideri accedere ai dati storici dalla piattaforma, compila questo modulo.


Cos'è il backtesting?

Innanzitutto, se vuoi informarti in dettaglio su cosa sia il backtesting, leggi il nostro articolo Cos'è il backtesting?

In breve, l'obiettivo principale del backtesting è mostrarti se le tue idee di trading sono valide o no. Si usano dati di mercato storici per osservare i risultati che una strategia avrebbe ottenuto. Se la strategia mostra potenziale, potrebbe essere efficace anche in un contesto di live trading.


Cosa fare prima del backtesting

Prima di iniziare con l'esempio di backtesting, c'è qualcosa che dovresti definire. Dovrai stabilire che tipo di trader sei. Sei un trader discrezionale o sistematico?

Il trading discrezionale è basato sulle decisioni, i trader si affidano al proprio giudizio per individuare i punti di ingresso e di uscita. È una strategia relativamente libera e versatile, in cui la maggior parte delle decisioni dipende dall'analisi del trader sulle condizioni affrontate. Come prevedibile, il backtesting è meno rilevanto per il trading discrezionario, in quanto la strategia non è rigidamente definita.

Questo, ovviamente, non significa che i trader discrezionari non dovrebbero affatto fare backtest o paper trading. Significa solo che i risultati potrebbero essere meno attendibili rispetto all'altro caso.

Il trading sistematico si applica meglio al nostro tema. I trader sistematici si affidano a un sistema di trading che definisce e indica esattamente quando aprire e chiudere una posizione. Anche se hanno il completo controllo sulla strategia, i segnali di entrata e uscita sono determinati da quest'ultima. Puoi immaginare una semplice strategia sistematica come:

  • Quando A e B si verificano allo stesso tempo, apri una posizione. 
  • Quando X avviene in seguito, chiudi la posizione.

Alcuni trader preferiscono questo approccio. Può eliminare decisioni emotive dal trading e fornire un ragionevole grado di certezza che un sistema di trading è redditizio. Ovviamente, non ci sono comunque garanzie.

Per questo è importante assicurarsi di avere regole specifiche nel proprio sistema per definire quando aprire e chiudere posizioni. Se la strategia non è ben definita, anche i risultati saranno inconsistenti. Come puoi immaginare, questo stile di trading è più diffuso nel trading algoritmico.

Se vuoi ricorrere al backtesting automatico, ci sono diversi software dedicati in vendita. Puoi inserire i tuoi dati, e il software si occuperà del backtesting per te. Tuttavia, in questo esempio, opteremo per una strategia di backtesting manuale. Richiederà un po' di lavoro in più, ma è completamente gratuita.


Come fare il backtest di una strategia di trading

Puoi trovare un modello in Google Sheets visitando questo link. Si tratta di un template rudimentale che puoi usare come punto di partenza per crearne uno su misura. Offre un'idea generale sulle informazioni che una tabella di backtesting potrebbe contenere. Alcuni trader preferiscono usare Excel o programmarla in Python – non ci sono regole rigide in questo ambito. Puoi aggiungere molti più dati e qualsiasi altra cosa che ritieni utile.
Data
Mercato
Lato
Entrata
Stop LossTake ProfitRischioRicompensaPnL

08/12

BTCUSD

Long

18.000$

16.200$

21.600$

10%

20%

3600

09/12

BTCUSD

Short

19.000$

20.900$

13.300$

10%

30%

-1900


Ok, facciamo il backtest di una semplice strategia di trading. Ecco la nostra idea:

  • Compriamo un Bitcoin alla prima chiusura giornaliera successiva a un golden cross. Questo evento si verifica quando la media mobile a 50 giorni attraversa verso l'alto la media mobile a 200 giorni.
  • Vendiamo un Bitcoin alla prima chiusura giornaliera successiva a un death cross. Questo evento si verifica quando la media mobile a 200 giorni attraversa verso il basso la media mobile a 50 giorni.

Come puoi vedere, abbiamo anche definito l'arco di tempo in cui la strategia è valida. Ciò significa che non considereremo come segnale di trading un golden cross sul grafico a 4 ore.

Per questo esempio, studieremo solo il periodo di tempo dall'inizio del 2019. Tuttavia, se vuoi ottenere risultati più accurati e attendibili, potresti andare ancora più indietro nella price action di Bitcoin.

Ora, vediamo i segnali di trading che questo sistema ha generato per il periodo:

  • Compra @ ~5.400$
  • Vendi @ ~9.200$
  • Compra @ ~9.600$
  • Vendi @ ~6.700$
  • Compra @ ~9.000$


Ecco come appaiono i nostri segnali sul grafico:

Strategia golden cross-death cross. Fonte: TradingView.


La nostra prima operazione avrebbe realizzato un profitto di circa 3.800$, mentre la seconda è risultata in una perdita di circa 2.900$. Questo significa che il nostro PnL realizzato è attualmente pari a 900$. 

Inoltre, siamo in un'operazione attiva che, a dicembre 2020, ha un profitto non realizzato di circa 9.000$. Se seguiamo la nostra strategia definita all'inizio, chiuderemo la posizione quando si verificherà il prossimo death cross. 



Valutare i risultati del backtesting

Quindi, cosa ci dicono questi risultati? La nostra strategia avrebbe realizzato un rendimento ragionevole, ma non mostra niente di straordinario finora. Potremmo chiudere la nostra operazione aperta per aumentare drasticamente il nostro PnL realizzato, ma questo vanificherebbe lo scopo del backtesting. Se non seguiamo il piano, i risultati non saranno attendibili.

Pur essendo una strategia sistematica, è anche opportuno considerare il contesto. L'operazione infruttuosa da 9600$ a 6700$ è avvenuta durante il crollo dovuto al COVID-19 a marzo 2020. Un evento black swan di tale entità può avere un'influenza smisurata su qualsiasi sistema di trading. Questo è un altro motivo per cui è utile andare ancora più indietro nel tempo per scoprire se questa perdita è un'eccezione o solo una conseguenza della strategia.
Ad ogni modo, questo è come potrebbe apparire un semplice processo di backtesting. Questa strategia potrebbe essere promettente se torniamo indietro e la mettiamo alla prova con più dati, oppure includiamo altri indicatori tecnici per rendere i segnali potenzialmente più forti.

Ma cos'altro possono mostrare i risultati del backtesting?

  • Misure di volatilità: il guadagno e la perdita massimi.
  • Esposizione: la quantità di capitale che devi allocare per la strategia dal tuo intero portafoglio.
  • Rendimento annuale: il rendimento percentuale della strategia nell'arco di un anno.
  • Rapporto vincita-perdita: quante operazioni nel sistema risultano in vincite e quante in perdite.
Questi sono solo alcuni esempi e non rappresentano affatto una lista completa. Sta a te decidere quali parametri vuoi monitorare. In ogni caso, più dettagli riporti nel tuo diario sui setup, più opportunità avrai per imparare dai risultati. Alcuni trader sono molto rigorosi nel processo di backtesting, cosa che potrebbe riflettersi nei loro risultati.
Un'ultima cosa da considerare è l'ottimizzazione. Se hai letto il nostro articolo sul backtesting, conoscerai la differenza tra backtesting e forward testing, o paper trading. Può risultare utile testare e ottimizzare le tue idee in un contesto di trading in tempo reale, come la testnet di Binance Futures.


In chiusura

Abbiamo esaminato il processo di base per effettuare il backtest manuale di una strategia di trading. Ricorda, le prestazioni passate non sono una garanzia di performance future. 

I contesti di mercato si evolvono, e dovrai adattarti a questi cambiamenti se vuoi migliorare il tuo trading. In genere, è opportuno non fidarsi ciecamente dei dati. Il buon senso può essere uno strumento sorprendentemente utile per quanto riguarda la valutazione dei risultati.