Termine di backtesting

Contratto future continuo (con aggiustamento retroattivo)

Un contratto future continuo è una catena di contratti in scadenza collegati in un'unica riga, in modo che una strategia possa essere testata su un arco di anni anziché di mesi. Il modo in cui vengono collegati determina se il vantaggio che si ottiene in seguito è reale.

Un singolo contratto future viene scambiato per alcuni mesi, poi scade. Per testare una strategia su 13 anni di dati è necessaria una linea continua, quindi si unisce il contratto in scadenza al successivo, e poi a quello dopo ancora, in un unico contratto continuo (con aggiustamento retroattivo) . Se l'unione viene eseguita con superficialità, ogni data di rinnovo lascia un gap o un profitto fantasma nel grafico, un salto che nessun trader vivente ha mai effettivamente realizzato.

La soluzione è la correzione retroattiva : spostando ogni prezzo prima di ogni variazione della dimensione del gap, la discontinuità scompare, in modo che il grafico appaia come una linea continua anziché una serie di salti. Questa operazione è necessaria e perlopiù innocua in prossimità della data odierna. Tuttavia, risalendo indietro nel tempo, gli spostamenti cumulativi possono spingere i vecchi prezzi verso lo zero, persino in territorio negativo, e un calcolo superficiale della percentuale di rendimento su quella serie corretta smette di avere il significato che sembra.

La trappola è silenziosa perché non si manifesta mai. La curva di rendimento sembra pulita e la strategia appare redditizia. La vera causa risiede nel modo in cui una dozzina di contratti separati sono stati collegati tra loro, e non ha nulla a che vedere con le regole. È strettamente correlato al bias di anticipazione : entrambi i casi forniscono denaro proveniente da un backtest che non è mai stato possibile incassare, uno tramite la fuoriuscita di informazioni future nel passato, l'altro tramite l'inserimento di un artefatto di giunzione nella serie storica dei prezzi stessa.

Analizziamo 13 anni di futures del CME e gestiamo ogni rollover intenzionalmente, invece di lasciare che siano le impostazioni predefinite a decidere, perché un errore di allineamento è sufficiente a creare un vantaggio dal nulla, senza bisogno di modificare le regole. Il controllo che conta è semplice: verificare se la serie rettificata corrisponde ancora al prezzo al quale un trader avrebbe effettivamente potuto ottenere l'esecuzione dell'ordine, rollover dopo rollover, per tutta la durata del backtest.

Se si commette un errore in questo, il backtest smette di testare la strategia e inizia a testare un artefatto: un contratto che non è mai esistito. Il grafico sembra reale. Le variazioni al suo interno non lo sono. Quel divario tra una serie continua e uniforme e la realtà discontinua e in continua evoluzione sottostante è esattamente il punto in cui un backtest può smettere silenziosamente di essere un backtest di qualsiasi strumento negoziabile.

La ricerca alla base di questo

Ricerca esterna, con link a supporto per contestualizzare e approfondire l'argomento. FoxAlgo è indipendente e non affiliato con questi autori o editori.

Questi sono i termini alla base di The No List : un'analisi completa, con ogni strategia e indicatore menzionato, il relativo verdetto e la motivazione precisa per cui è stato selezionato o escluso.

Ottieni la lista dei "no" →