Trading sul Vix, l’indice della paura: sviluppo e ottimizzazione di un sistema di trading

Sedute USA
9' di lettura

In questo articolo andremo ad approfondire il concetto di volatilità ed alcune interessanti opportunità per sfruttarla a nostro favore. 

Ricevi una notifica con le ultime notizie, i nostri articoli e altro ancora!

In generale con il termine volatilità si intende l’ampiezza delle oscillazioni dei prezzi rispetto ad un suo valore medio ed esistono vari strumenti per misurarla; il più conosciuto è sicuramente la deviazione standard, ma ne esistono anche altri tra cui l’average true range che spesso utilizziamo nella costruzione dei trading system, oppure le bande di Bollinger.

Al di là delle peculiarità dell’uno o dell’altro strumento, è importante specificare che essi misurano la volatilità storica, ovvero la volatilità che lo strumento ha espresso in un certo lasso temporale.

Il concetto di volatilità implicita

Introduciamo un nuovo concetto che è quello della volatilità implicita. Di cosa si tratta?

Stima anch’essa le fluttuazioni dei prezzi di un sottostante, non più rispetto al passato come la volatilità storica, bensì rispetto al futuro. In sostanza rappresenta le previsioni che gli operatori di Borsa ed i market maker fanno sui movimenti di quel sottostante nel prossimo futuro.

Tecnicamente viene calcolata sui prezzi di strumenti complessi come le opzioni sull’S&P 500, che è il mercato più importante al mondo, e l’indice che la misura si chiama “Vix Index”, detto anche “indice della paura”. È chiaro che questo soprannome deriva dalla natura stessa di questo indice; essendo inversamente correlato ai mercati, salirà quando ci si aspetta un incremento della volatilità sugli indici azionari che spesso è collegata ad un forte ribasso e diminuirà in caso contrario.

Figura 1 – Andamento storico del Vix Index ($VIX.X) dal 2010 ad oggi

La caratteristica principale del Vix index, come è possibile vedere nella figura 1, è la tendenza alla stazionarietà per la maggior parte del tempo, ossia la tendenza ad oscillare attorno a dei valori medi, per avere poi brevi ed esplosivi movimenti al rialzo in concomitanza dei crash di mercato.

Ma come possiamo sfruttare questa sua natura a nostro favore?

Potremmo dire che in generale esistono due possibilità: la prima è quella di utilizzare la volatilità implicita, il Vix Index, come filtro per l’operatività, al pari dell’utilizzo che ne viene già fatto con gli strumenti della volatilità storica (deviazione standard, average true range, bande di Bollinger, ecc.) e quindi andare a limitare l’operatività, specialmente sui Future azionari, lasciando in essere solamente le operazioni con una maggiore probabilità di successo. La seconda, che è quella che andremo ad analizzare in questo articolo, consiste nel cercare di costruire una strategia di trading sulla volatilità implicita attraverso degli strumenti finanziari che la replicano.

Strategia di trading sul Vix Future (@VX)

Scegliamo il Vix Future (@VX) quotato al CBOE di Chicago, avendo come sottostante il Vix Index.

Abbiamo accennato in precedenza alla spiccata natura “mean reverting” del Vix Index. Andiamo pertanto a verificare se effettivamente venga confermata nella pratica sullo storico del Vix Future con un semplice trading system costruito sulle bande di Bollinger con un grafico a 30 minuti. Eseguiremo un backtest da gennaio 2010 a novembre 2023 e utilizzeremo gli orari della sessione standard (17:00-16:00).

Il sistema avrà le seguenti regole: verrà aperta una posizione short quando ci sarà una rottura al ribasso della banda superiore detta “UpperBand”, viceversa una posizione long quando ci sarà una rottura al rialzo della banda inferiore detta “LowerBand”.

Lo stop loss iniziale sarà impostato a 2.000$.

inputs: MyStop(2000);
inputs: Length( 20 ), NumDevs( 2);
variables: UpperBand( 0 ),LowerBand( 0 );
UpperBand = BollingerBand( c, Length, +NumDevs ) ;
LowerBand = BollingerBand( c, Length, –NumDevs ) ;
if C crosses under UpperBand then Sellshort next bar at market ;
if C crosses over LowerBand then Buy next bar at market ;
if MyStop > 0 then setstoploss(MyStop);
setstopcontract;

Nelle figure 2 e 3 possiamo vedere un esempio di trade e i risultati del backtest.

Figura 2 – Esempio di trade short del trading system “bande di Bollinger” sul Vix Future

Figura 3 – Strategy Performance Summary del trading system “bande di Bollinger” sul Vix Future

A conti fatti il test ci mostra che la strategia sembra funzionare solo sul lato short. A cosa è dovuta questa differenza di comportamento così rilevante? Per capire meglio in figura 4 è visibile il grafico a lungo termine del Vix Index e quello del Vix Future sovrapposti fra loro. 

Figura 4 – Vix Index (@VIX.X) e Vix Future(@VX) a confronto

Appare chiaro un certo grado di correlazione tra i due grafici. Ad esempio, ad ogni spike dell’indice Vix corrisponde uno spike sul Vix Future, anche se di entità diversa. Tuttavia, quello che salta subito all’occhio è la perdita continua di valore nel tempo del Vix Future. Perché accade questo? Perché il Future, essendo quotato ad un prezzo più alto dell’indice, in assenza di anomalie o crash di mercato, si deprezzerà un po’ ogni giorno, fino a raggiungere a scadenza il valore dell’indice.

Ciò determina questo bias molto forte sul lungo termine ed è questo il motivo per cui la strategia di trading non produce risultati sul lato long con questo approccio mean reverting. 

Proseguiamo il nostro sviluppo scegliendo di concentrarci solo sul lato short.

Ottimizzazione della strategia “mean reverting” sul Future della volatilità (@VX)

Per prima cosa andiamo a verificare se le bande di Bollinger che abbiamo utilizzato come test, nella loro configurazione più conosciuta, ovvero con lunghezza a 20 barre e deviazione standard a 2 periodi, sia effettivamente la migliore scelta per lo strumento considerato. Ottimizziamo quindi gli input “Length” da 10 a 30 barre con step di 5 e “NumDevs” da 1 a 3 periodi con step di 0,5, inserendo sin da subito come unica condizione aggiuntiva, rispetto allo script iniziale, la chiusura di ogni posizione il venerdì sera, al fine di evitare il rischio overnight nel weekend.

Figura 5 – Ottimizzazione input del trading system “bande di Bollinger solo short” sul Vix Future

I risultati mostrano che diminuendo il numero di barre utilizzate per la costruzione del canale delle bande di Bollinger da 20 a 15, mantenendo sempre 2 deviazioni standard, porta migliori performance in termini di net profit (da 145.220$ a 158.350$) e di average trade (da 160,82$ a 172,60$). Scegliamo pertanto questi valori.

Figura 6 – Equity Curve Detailed del trading system “bande di Bollinger solo short” sul Vix Future

Fino ad ora abbiamo ipotizzato di sfruttare l’intera sessione che va dalle 17:00 alle 16:00 per poter operare; proviamo invece a verificare se utilizzando una finestra temporale (time window) più ristretta possa portarci benefici e parallelamente quale sia il numero massimo di giorni in cui si ha convenienza a tenere la posizione aperta, ricordando sempre l’impostazione iniziale di chiudere ogni trade aperto il venerdì pomeriggio.

Tramite una funzione proprietaria integriamo il codice con le limitazioni orarie sopra descritte e lanciamo un’ottimizzazione dei parametri.

Figura 7 – Ottimizzazione Time Window del trading system “bande di Bollinger solo short” sul Vix Future

Figura 8 – Ottimizzazione MaxDaysInTrade del trading system “bande di Bollinger solo short” sul Vix Future

L’ottimizzazione della Time Window ci mostra che la fascia oraria più redditizia in cui operare non è quella standard di 23 ore (17:00-16:00), ma quella ridotta di 3 ore ovvero tra le 18:00 e le 14:00. L’altro risultato è che il numero massimo di giorni in cui tenere il trade aperto è 5, in quanto andare oltre le cinque sessioni non porta ulteriori benefici sostanziali, anzi espone a maggior rischio, stando di più a mercato.

Figura 9 – Strategy Performance Summary e Total Trade Analysis dopo l’ottimizzazione di Time Window e MaxDaysInTrade

Giunti a questo punto dello sviluppo iniziamo a tirare le prime conclusioni sul sistema: abbiamo ottenuto evidenti miglioramenti dal punto di vista delle metriche, sia in termini di net profit che di average trade. Parlando sempre di average trade è bene sottolineare che quest’ultimo non è ancora sufficiente per la tipologia di strumento analizzato, visto che il Future @VX ha un tick di 50$, pertanto per un’operatività live occorre un average trade più corposo, di almeno 250-300$. Inoltre, anche il max drawdown è ancora troppo elevato (oltre 40.000$) e nonostante questo valore sia riconducibile principalmente allo shock di mercato dovuto al Covid nel 2020, andrebbe comunque migliorato in previsione dei futuri storni dei mercati che ciclicamente avvengono.

Quale strada prendere per migliorare le prestazioni del nostro trading system?

Un possibile filtro potrebbe essere la verifica della presenza o meno di specifici pattern di prezzo: utilizzeremo una lista proprietaria che racchiude diverse casistiche per valutare la migliore tramite un’ottimizzazione. Inserito questo filtro al nostro sistema, l’ottimizzazione ci indica alcune possibilità interessanti e tra queste scegliamo il pattern 39 visti anche i miglioramenti molto evidenti in termini di drawdown (da 44.160$ a 23.970$), rinunciando però a qualcosa riguardo al net profit rispetto ai primi della lista. Di seguito il contenuto della regola del pattern 39: la differenza tra il massimo e la open di oggi deve essere minore della distanza tra il massimo e la open di ieri. Sostanzialmente si tratta di un pattern di incertezza e compressione che evidenzia un mercato che a breve termine prenderà una direzione più definita, nel nostro caso al ribasso.

Figura 10 – Ottimizzazione Pattern di prezzo del trading system “bande di Bollinger solo short” sul Vix Future

Come ultimo step, si potrebbe applicare un Breakeven Stop, ovvero uno stop in pareggio nel caso la posizione aperta raggiunga un certo livello di profitto, così da evitare che un trade vincente si trasformi in una perdita. Questo tipo di stop non è sempre efficace sui risultati totali di una strategia, ma permette sicuramente di dormire sonni più tranquilli al trader, considerando anche la natura del mercato su cui stiamo operando. Proviamo quindi ad inserirlo ed ottimizzarlo insieme allo stop loss inizialmente valorizzato a 2.000$.

Figura 11 – Ottimizzazione StopLoss e Breakeven Stop del trading system “bande di Bollinger solo short” sul Vix Future

Figura 12 – Equity Curve Detailed dopo ottimizzazione Pattern, Stop Loss e Breakeven del trading system “bande di Bollinger solo short” sul Vix Future

Figura 13 – Strategy Performance Summary e Total Trade Analysis dopo ottimizzazione Pattern, Stop Loss e Breakeven del trading system “bande di Bollinger solo short” sul Vix Future

Conclusioni trading system mean reverting sul Vix Future (@VX)

Siamo giunti alla conclusione di questo articolo e possiamo trarre alcune conclusioni. L’ultima versione della strategia che ha registrato un net profit di 173.300$ e un average trade di oltre 240$, sembrerebbe un ottimo punto di partenza per avere un trading system utilizzabile in reale sul Vix Future (@VX). Direi che la logica mean reverting si è dimostrata essere un approccio vincente per affrontare il trading sul Future della volatilità, e potenzialmente potrebbe essere replicata anche su altri strumenti che presentano comportamenti simili, con i dovuti aggiustamenti, come ad esempio ETF o CFD che replicano l’andamento del Vix. Con questo spunto lascio ai lettori la curiosità di sperimentare altre strade e magari migliorare ulteriormente la strategia.

Alla prossima e buon trading!

Andrea Unger