Lezione 6: Spread trading e backtesting

Spread trading e backtesting possiamo dire che vadano a braccetto.

Non esiste strategia basata sugli spread che non abbia prima passato un periodo di backtesting per capire se se è profittevole o meno.

In questo articolo vedremo che cos’è il backtesting, a cosa serve, che fattori guardare e come fare backtesting per lo spread trading.

Definizione di backtesting

Il nome stesso fa capire già cosa si intende per backtesting, letteralmente “test all’indietro”, dei dati passati su cui poter basare un’idea di strategia.

Vuol dire quindi simulare l’attività di trading non sul mercato reale ma prendendo come riferimento i dati passati di mercato.

Il suo scopo è quello di validare un’idea di strategia, perché se questa ha funzionato nel passato POTREBBE (nota bene, ho messo in maiuscolo “potrebbe”) funzionare anche nel futuro. Rimaniamo nel campo della probabilità, mai della certezza.

Nel lavoro di backtesting forse le cose più difficili sono la selezione di un determinato momento storico da analizzare, che deve essere simile al periodo storico attuale e deve mettere “sotto stress” la strategia, e l’analisi dei risultati.

Tutto il resto non dovrebbe essere troppo complicato, almeno per i trader più esperti.

I parametri da considerare

Come detto, ci sono diversi parametri da considerare quando si esegue un backtesting, ma i più importanti sono solitamente tre.

Profit Factor

E’ il rapporto tra il totale dei guadagni e il totale delle perdite. Se questo risultato è minore di 1, vuol dire che la strategia è fallimentare, mentre al di sotto di 2 non è soddisfacente.

Un profit factor maggiore di 2 viene considerato positivo, anche se poi nella realtà (ovvero quando la strategia viene attuata su mercati reali e non simulati) spesso è difficile mantenere un risultato del genere.

Media operazioni

Per media operazioni si intende il numero di entrare a mercato che la strategia produce.

Una buona strategia non dovrebbe dare segnali di ingresso troppo spesso, per ridurre i rischi, ma nemmeno troppo sporadicamente.

E’ bene optare per una situazione di equilibrio, per una media delle operazioni il più equilibrata possibile.

Max drawdown giornaliero

E’ il dato che mostra, durante una finestra di backtesting, quale è stato la peggiore perdita durante una giornata di trading.

Permette di individuare la peggiore delle ipotesi, che potrebbe compromettere l’equity line di fine anno.

Il backtesting nello spread trading

Vediamo ora un esempio di backtesting su uno spread relativo al cotone, attraverso la piattaforma di Season Algo.

Andamento dello spread su Season Algo

Come prima cosa si analizza l’andamento dello spread in questione.

Questo spread prevedeva l’acquisto della gamba di Marzo e la contemporanea vendita della gamba di maggio 2020. E’ uno spread in vendita (short).

Si può vedere subito che, all’entrata della stagionalità, subito dopo la linea rossa, lo spread, sia negli ultimi 5 anni che negli ultimi 15, per buona parte della finestra ha avuto un andamento laterale. Le due medie si sono comportate quindi molto similmente.

La linea nera, che rappresenta l’andamento attuale, sembra comportarsi nella stessa maniera.

Avvicinandosi alla fine della stagionalità lo spread vede un’accelerazione ribassista ed è qui che inizia ad essere interessante.

Tabella di backtesting dello spread di Season Algo

Come secondo passo, cliccando sulla sezione in alto “Backtest” si accede ad una tabella che riporta dati interessanti da monitorare.

La 1° colonna riporta gli anni presi in considerazione, la 2° la % di vincite dello spread, la 6° (Days#) i giorni di stagionalità (meglio considerare spread maggiori di 30 gg di stagionalità, sennò potrebbero risultare troppo volatili), ed infine le colonne “Profit” e “Loss“.

Questo permette una big picture della situazione.

Tabella di backtesting dello spread di Season Algo

Passiamo alla tabella in basso.

Per facilitare il lavoro si copia-incollano i dati in un foglio Excel/spreadsheet, mantenendo solamente alcuni parametri, come nell’esempio sotto.

Vengono mantenute le colonne Year, Points, Profit, Days#, Best Date, Best, Worst Date, Worst, Drawdown.

Tabella di backtesting dello spread di Season Algo

Le prime due colonne (esclusa “Year”) ci indicano questo:

“Points” indica di quanti punti si è mosso lo spread in un determinato anno.

“Profit” indica i profitti o perdite generate.

Con questi dati possiamo calcolarci la perdita massima, ovvero il dato più basso della colonna “Profit”. Il profitto massimo invece lo calcoleremo trovando il dato più alto della stessa colonna.

Passiamo a ricercare il profitto medio, attraverso la funzione AVERAGE della colonna “Profit”, eliminando i dati negativi e gli outliers, ovvero i numeri che si discostano troppo.

Con questi dati in mano si può iniziare a pensare dove posizionare take profit e stop loss.


Passiamo alla ricerca del drawdown massimo. Lo si calcolerà cercando il valore minimo della colonna “Drawdown” eliminando sempre gli outliers.

Il risultato ci aiuta ancora una volta a ricercare un possibile stop loss.

Come ultimo passaggio si calcolano deviazione standard e mediana della colonna “Profit”.


Con tutti questi dati, e guardando all’andamento attuale dello spread, è possibile capire quale potrebbe essere un punto di entrata ottimale e, come detto, dove posizionare take profit e stop loss.

Exit mobile version