L’ultimo episodio della rubrica Trading Nightmare (che potete recupera qui), mi fornisce lo spunto per parlarvi di un’analisi che abbiamo fatto tempo fa sui futures.

Uno studio che svela l’inganno dei backtest su questi strumenti.

Un’insidia a cui spesso non si pensa, ma che occorre tener presente per evitare di prendere lucciole per lanterne nel momento in cui si valutano i trading systems.

Il fascino della leva finanziaria nel trading sui Futures

Il successo che i futures riscontrano presso i traders è legato essenzialmente alla forte leva finanziaria insita in loro stessi.

Con una somma di denaro tutto sommato esigua è possibile prendere posizione, sui mercati, per un controvalore molto più alto. Con tutti i pro e i contro che ne derivano…

Non voglio dilungarmi oltre sul tema della leva finanziaria, già ampliamente dibattuto in alcuni articoli scritti da Luca Ronzan, che potete recuperare qui e qui.

In questa sede mi preme riassumere qual è l’approccio comune con cui si costruiscono sistemi sui futures:

  • si prende una serie storica, più lunga è, tanto meglio;
  • si divide lo storico in un tronconi: la parte “in sample” e la parte “out of sample”;
  • sull’ IS si testa l’idea di trading per poi validarla nel periodo OOS;
  • si eseguono tutti i delicati processi di validazione per arrivare a promuovere o meno il trading system.

Sono volutamente stato molto sintetico nel riassumente il processo di creazione di un algoritmo di trading: sostanzialmente il lavoro svolto deve portare a delle conclusioni in termini di rischio/rendimento accettabili e di sostenibilità, in real trading, del sistema stesso (che comunque andrà poi definitivamente valutato in base all’apporto concreto che fornisce all’interno del portafoglio, cosa purtroppo che spesso si tende a non fare!).

Esempio pratico: un trading system sul future Mini Nasdaq

Nell’immagine sottostante possiamo osservare l’equity line da backtest del trading system Thor, operante sul future Mini Nasdaq, nel periodo 2000-2019.
(come sempre, per le nostre analisi, ci avvaliamo della piattaforma Portfolio Builder)

Equity Line Thor 2000-2019 al netto di commissioni e slippage

In questa sede non mi dilungo sulle metriche generali del sistema, basti sapere che è stato da noi validato e messo in real trading alla luce di questo backtest.

Quello che invece mi preme sottolineare è l’andamento discreto dell’equity line ed il valore del massimo drawdown storico che si assesta su 10.090$.

Ricordo che il Drawdown, sia che lo si consideri nel suo valore storico, sia che lo si stimi con l’Analisi Montecarlo o con qualunque altra tecnica, è importante per:

  • ragionare sul rischio/rendimento del sistema;
  • stabilire un paletto di stop nel real trading, un livello di perdita massima che, se raggiunto, implica l’inibizione del sistema dal real trading;
  • definire il capitale necessario per tradare il sistema stesso.

Nell’immagine sottostante, possiamo osservare l’andamento del trading system nel 2020, primo anno di real trading.

Equity Line Thor 2000-2020 al netto di commissioni e slippage

Notiamo con piacere l’impennata dell’equity line, un “bananone” all’insù che ci porta irrimediabilmente a gongolare, felici di aver creato un algoritmo iper performante: non solo ci ha fatto guadagnare molto, andando oltre le aspettative da backtest, ma anche il drawdown è rimasto stabilmente sotto i suoi valori storici.

Ottimo lavoro!

Proseguiamo ad analizzare il comportamento del sistema in real trading anche l’anno successivo, il 2021, per poi arrivare ad oggi.

Equity Line Thor 2000-oggi al netto di commissioni e slippage

Nel grafico soprariportato notiamo come ad un certo punto, precisamente da novembre 2021, l’equity line del sistema inizi un’impietosa flessione al ribasso.
L’algoritmo esegue una serie di trade in loss (tra cui quelli raccontanti nella rubrica Trading Nightmare). Genera, inoltre, un nuovo drawdown storico pari a 32.890$, tre volte peggiore di quello storico.

Panico! Il sistema si è “rotto”, come si usa dire tra noi trader sistematici.

Effettivamente, a guardarla così, Thor sembra essere andato in crash. Il drawdown stimato sulla base del backtest non solo è raggiunto, ma anche superato di circa tre volte.

L’andamento del sistema in real trading non è più coerente con il comportamento da backtest. Se si utilizza il drawdown storico (a prescindere da come lo si sia stimato) come paletto di stop del sistema, è indubbio che l’algoritmo vada fermato.

Un altro modo di vedere le cose

In tutti i ragionamenti sopra esposti, dalla validazione del sistema al giudizio dello stesso in real trading, spesso si trascura una cosa importante: lavorando sui futures, acquistando (o vendendo) il tal contratto, noi investiamo sempre a capitale variabile.

Il nostro controvalore investito va infatti a braccetto con l’aumento/diminuzione del valore del sottostante. Acquistare un contratto del future Mini Nasdaq, ad esempio, nel 2016, è diverso, in termini di controvalore investito, rispetto ad acquistarlo nel 2020.

Nel 2016, un contratto Mini Nasdaq quotava un prezzo medio di 2.928 punti indici, che equivalevano ad un controvalore medio di 58.560$. Lo stesso nel 2020, quotava un prezzo medio di 9.773 punti indici, pari ad un controvalore di 195.460$.

Si può dunque intuire come, nel corso di 5 anni, acquistare/vendere con un trading system, sempre il medesimo contratto future del Mini Nasdaq, assuma significati diversi in termini di controvalore dell’investimento. Nel 2016 con un contratto prendevamo posizione per 50K$, nel 2020 con le stesso contratto, per 200K$.

E se magari, inconsciamente, ce ne rendiamo conto per via dei margini di garanzia che aumentano, in realtà non ci focalizziamo sul fatto che, che operando sul Mini Nasdaq, in 5 anni, abbiamo aumentato di circa 4 volte il controvalore che muoviamo.

E qui arriviamo al punto fondamentale: la non stazionarietà delle serie storiche.

Ci sono alcuni strumenti, come ad esempio i futures sulle carni o di alcune granaglie, che, pur con grossi movimenti infra annuali, tendono ad essere stazionari nel tempo.

Ci sono altri strumenti, come gli index futures, che aumentano costantemente il loro valore nel tempo, assumendo dei valori sempre più alti. Questi aumenti di valore condizionano la volatilità ed il comportamento degli strumenti stessi, rendendo di fatto insidiosi i nostri backtest.

Nel grafico sottostante, per rendere meglio l’idea, osserviamo il grafico yearly del future Mini Nasdaq non rettificato, dal 2000 ad oggi.
Ho utilizzato appositamente il future non rettificato per analizzare i reali prezzi battuti anno per anno e la loro variazione.

Mini Nasdaq Future Continuo Non Rettificato – Grafico Yearly

Qui sotto potete vedere uno schema riassuntivo dei massimi-minimi toccati dal Mini Nasdaq dal 2000 ad oggi:

L’aumento di valore nel corso degli anni è impressionante. Di fronte a questi dati, come si può pensare che un trading system mantenga, in real trading, coerenza con il backtest storico? E come possiamo, quindi, valutarne correttamente il comportamento?

Una possibile soluzione

Fissiamo qualche concetto:

  • Un trading system deve essere per forza di cose “testato” e validato su una serie storica. Altrimenti non saremmo trader sistematici.
  • I futures con serie storiche non stazionarie, espongono al rischio concreto di stimare, nei backtest, dei valori quali drawdown e rapporto rischio/rendimento poco coerenti con quanto succederà in real trading.
  • Il problema sopra esposto nasce, nel caso dei futures, dal ragionare sempre (ed inconsciamente), a capitale variabile: perchè se è vero che il trading system acquista/vende sempre un contratto, il controvalore che realmente investiamo cambia.

Detto questo, un modo più veritiero per analizzare il comportamento del nostro trading system nel passato, potrebbe essere quello di ragionare non più a capitale variabile, ma a capitale costante.

Un pò come quando si costruisce un sistema che lavori sul mercato azionario, dove si acquista/vende sempre lo stesso controvalore predefinito: non cambia la somma investita, cambia il numero di azioni che di volta in volta acquisto, in ragione del prezzo dell’azione che cambia nel tempo.

Un altro modo di vedere la cosa: se oggi, ad esempio, che il Nasdaq prezza 15.000 punti indici, sono disposto ad acquistare un contratto e quindi ad investire il controvalore che ne deriva, negli anni passati, quanti contratti avrei dovuto acquistare per investire sempre lo stesso valore?

Per rispondere a questa domanda, nella pratica, attuiamo una finzione.

Trattiamo il Mini Nasdaq come se fosse un azione: impostiamo come controvalore di investimento massimo, il prezzo massimo raggiunto dallo strumento ed andiamo ad acquistare ogni volta gli n contratti necessari affinché il nostro controvalore investito negli anni sia sempre costante (e coerente con quanto investiamo oggi).

L’istruzione da codice Easy Language è molto semplice:

Si noti come il Data2 inserito, sia il future dello stesso strumento (nel nostro esempio il Mini Nasdaq) NON rettificato: in questo modo il calcolo degli n contratti sarà effettuato sul prezzo reale quotato dallo strumento nel corso del tempo. In questo modo si evitano distorsioni legate ai dati backadjusted.

Torniamo al nostro backtest

Come spiegato prima, il trading system Thor è stato costruito nel 2019 per poi essere tradato in reale dal 2020.

Ovviamente ad inizio 2020 non potevamo immaginare l’andamento futuro dello strumento. L’unico dato certo è che il massimo prezzo toccato dal 2000 al 2019 è stato di 8.843 punti indice. Tramite la “finzione” spiegata, andiamo quindi ad impostare come controvalore massimo di acquisto (su cui il codice calcolerà il numero di contratti in ragione del prezzo) 9.000 (ho arrotondato gli 8.843 punti indice).

Ecco che a questo punto il nostro backtest torna coerente con i valori attuali dello strumento. Ragionando a capitale costante possiamo analizzare in modo realistico, senza finzioni legate alla leva finanziaria e all’incremento di valore dello strumento, il trading system.

E cosa ci suggerisce il nuovo backtest?

Nell’immagine sottostante potete confrontare le due equity line dello stesso sistema, una a capitale costante, l’altra a capitale variabile, nel periodo di backtest.

Si può notare come come, ragionando a capitale costante, cambi la conformazione dell’equity line, la distribuzione del drawdown e i valori dello stesso.

Il test suggerisce è che, se io mi appresto a tradare questo sistema nel 2020, per i valori raggiunti fino a quel punto dal Nasdaq, quanto meno devo considerare come massimo drawdown storico 28.720$, quasi tre volte tanto quello che il backtest a capitale variabile mi avrebbe portato a stimare.

Proseguiamo il ragionamento

Dopo il mio anno di real trading, anno in cui il sistema ha performato molto bene, il Nasdaq è aumentato nuovamente di valore: il massimo prezzo raggiunto nel 2020 è stato di 12.918 punti indice.

Per affrontare il 2021 consci di quello a cui si va in contro, rifacciamo il backtest a capitale costante, aggiornando il massimo controvalore che ora è pari a 13.000 (ho arrotondato i 12.918 punti indice).

Nelle immagini sottostanti possiamo osservare le due equity line dello stesso sistema, una a capitale costante, l’altra a capitale variabile, fino al 31/12/2020 (periodo di backtest più anno di real trading).

L’equity line a capitale costante, quella coerente con l’aumento di valore del Nasdaq assume un altra connotazione nell’anno di real trading: sale, ma sparisce il “bananone” che ci aveva fatto gongolare, credendo di aver creato il Sistema perfetto sul Nasdaq. Non è il trading system ad essere iper performante! La performance “pompata” deriva più dall’aumento poderoso del valore dello strumento (rispetto al passato) che dalla bontà dell’algoritmo.

Anche il drawdown storico, con questo test più coerente ed aggiornato ai valori raggiunti dal Nasdaq nel 2020, cambia. E neanche a dirlo, aumenta: adesso, se mi appresto a tradare il sistema nel 2021, quanto meno devo considerare come massimo drawdown storico 39.690$. Altro che i 10.000$ che erroneamente avrei considerato da backtest a capitale variabile!

A questo punto, l’andamento di Thor nel 2021, assume un altro sapore: è innegabile che l’equity line dei profitti pieghi la testa, però attenzione: il drawdown realizzato in real trading, che ricordo essere pari a 32.890$, non ha più sfondato il massimo drawdown storico. Rientra perfettamente nella statistica del sistema, è coerente con quanto l’algoritmo, ragionando a capitale costante, ha realizzato.

Thor non è quindi andato in crash. Sta soffrendo, ma rientra ancora dei paletti fissati da backtest. Certo la volatilità dei risultati è aumentata, ma del resto è il sottostante su cui si lavora ad aver aumentato notevolmente il suo valore, assumendo tutt’altra pelle rispetto a quella che aveva in passato.

E nel 2022?

Durante il 2021 il Nasdaq ha raggiunto un prezzo massimo di 16.767 punti indice.

Allo stesso modo, per affrontare il 2022 consci di quello a cui si va in contro, rifacciamo il backtest a capitale costante. Aggiorniamo il massimo controvalore che ora è pari a 16.800 (ho arrotondato i 16.767 punti indice).

Visto l’incremento mostruoso messo a segno dal Nasdaq, è inevitabile che anche il backtest a capitale costante diventi “mostruoso”, esponendoci ad un massimo drawdown storico di 53.600$, come ci evince dal grafico sottostante.

Equity Line Thor 2000-oggi, a capitale costante, al netto di commissioni e slippage

La dura realtà è che, se oggi ci si appresta a tradare Thor, per il controvalore assunto dal Nasdaq, occorre considerare un massimo drawdown storico di oltre 50.000$. Questo dato andrà ad influenzare i nostri giudizi sul rapporto rischio/rendimento del sistema e dunque sulla effettiva tradabilità dello stesso.

In conclusione

Tirando le somme di queste elucubrazioni:

  • Quando si costruisce un trading system, occorre valutare bene lo strumento su cui si intende lavorare e il suo storico.
  • Se lo storico evidenzia una serie non stazionaria di prezzi, con aumenti vertiginosi del controvalore del sottostante, bisogna fare molta attenzione a come si impostano i backtest.
  • Da quanto descritto si può comprendere il rischio a cui si va incontro: stimare un rapporto rischio/rendimento e porre dei paletti sul drawdown storico che poi, nella realtà, risultano non più coerenti. Il risultato finale è che il rischio connaturato al sistema ci esploda letteralmente in mano.
  • Non solo rischio e drawdown: in questi casi, ragionare a capitale costante permette anche di valutare se il sistema sia effettivamente redditizio. Troppo facile mostrare equity line che impennano, anche se in real trading. Alla luce di quanto spiegato, occorre capire se il “bananone” è frutto del sistema oppure del comportamento “indiavolato” del sottostante (occhio quindi ai pifferai di Hamelin che impazzano sui social…).
  • Questi ragionamenti consentono poi di valutare bene il sistema all’interno del portafoglio, il suo peso, la sua tradabilità: ricordiamoci sempre che non ci ha ordinato il dottore di tradare per forza il tal strumento. Se per dimensioni assunte dal sottostante, il trading system rischia di bruciare il conto, meglio lasciar perdere.
  • Piuttosto ci sono sempre i micro contratti, con cui scalare opportunamente la size in ragione di come si muove il sottostante, anche se questo richiede poi una rivalutazione dell’impatto dei costi sul sistema.
  • Infine, questi ragionamenti possono impattare in modo significativo anche sulla scelta di un eventuale stop loss monetario. Io e Luca siamo famosi per non amare questi tipi di stop loss, privilegiando invece quelli basati sulla volatilità. Sul tema, vi invito a rileggere un articolo scritto qualche tempo fa, che potete recuperare QUI.
    In questo contesto ribadisco solo che, anche alla luce delle riflessioni precedenti, uno stop loss monetario può perdere significativamente il suo scopo all’aumentare del controvalore del sottostante. Il rischio è quello che diventi sempre più invasivo rispetto al passato.

Quanto descritto vuole essere solo uno spunto per provare a fare backtest più coerenti e veritieri, in modo da non avere soprese spiacevoli in real trading.

Ci scontriamo con queste problematiche quotidianamente e quotidianamente cerchiamo di trovare risposte per portare a casa la pelle.

E voi, futures traders, vi fate le giuste domande?

Sapete cosa state tradando? Sapete cosa state maneggiando quotidianamente? Conoscete il rischio reale delle vostre strategie?

Perchè i futures posso celare un grosso inganno, senza che neanche ve ne accorgiate.

Del resto, “il più grande inganno del diavolo è stato quello di far credere al mondo che lui non esiste” [cit]

Buon trading

Facebook
Twitter
LinkedIn
Telegram

Lo studio dei mercati è un cammino senza un punto di arrivo: l’ingenuità degli esordi si arricchisce, prima di consapevolezza e conoscenza, poi di confusione e complessità. Solo il ritorno alla semplicità degli inizi, impreziosita dall’esperienza vissuta, consente di proseguire il percorso, consapevoli di non poter sapere mai del tutto cosa sia giusto fare, ma con la certezza di aver capito cosa sia sbagliato.

POST RELATIVI

2 commenti su “L’inganno dei Backtest sui Futures”

  1. Ciao Marco,
    articolo bellissimo, ti faccio i miei complimenti. Il miglior articolo degli ultimi 10 anni personalmente!
    E’ così vero quello che dici che avrei voluto saperlo 14 anni fa quando abbiamo acceso i primi trading Systems! Il punto è che la longevità non è apprezzata in un mondo in cui tutti cercano scorciatoie per essere i primi per 3 mesi, 6 mesi esagero …. 1 anno, poi foto, social et voilà. E se va male, si chiude tutto o si cambia nome e si riparte con una nuova verginità!
    Massimo rispetto per te caro amico mio!
    A presto!

    Rispondi

Lascia un commento