Prevedere il VIX: Un Approccio basato sull’Apprendimento Automatico (Parte II)

L’Intelligenza Artificiale è il nuovo Oracolo di Delfi? La sua alta reputazione è alimentata dai successi in campi diversi, ma come si comporta nel complesso e spesso imprevedibile mondo della finanza? Mettiamola alla prova con il VIX, il famoso indice della paura, per vedere se è in grado di guidare le nostre scelte di investimento.

(In copertina: Eutimo di fronte a Pitia – immagine creata con Google Gemini)

L’articolo, ricco di approfondimenti teorici e pratici, sarà presentato in tre parti per offrire una trattazione completa e più facile da seguire. Nella prima parte, definiamo la metodologia per costruire un modello predittivo sul VIX. Nella seconda parte, addestriamo il modello e lo ottimizziamo. Nella terza parte, utilizziamo il modello prima per studiare quali sono le variabili che aiutano concretamente nella predizione del VIX, poi per saggiarne le reali capacità di predizione.

Eutimo rimase immobile davanti al tripode, avvolto dai fumi inebrianti dell’alloro bruciato. La prima risposta della Pitia era stata un sussurro confuso, un flusso di coscienza che mescolava bonacce e tempeste in un unico, indistinguibile presagio. Il giovane mercante comprese allora che il silenzio passivo non lo avrebbe salvato. L’Oracolo non era un semplice specchio del futuro, ma uno strumento complesso che risuonava in base alla precisione di chi lo interrogava. Se avesse chiesto genericamente “come sarà il mare?”, avrebbe ricevuto risposte generiche, inutili per salvare la sua nave.

Doveva osare. Doveva porre i vincoli giusti, scartare le paure minori e concentrarsi sui pericoli mortali. Eutimo fece un passo avanti, vincendo il tremore delle ginocchia. Non cercava più di sapere tutto, ma di distinguere il segnale dal rumore: voleva sapere quando i venti sarebbero stati forza distruttrice e quando semplice brezza. Iniziò così un dialogo serrato, non fatto di parole, ma di intenzioni: Eutimo raffinava la sua richiesta, restringeva il campo, chiedeva alla sacerdotessa di ignorare le increspature dell’acqua per concentrarsi solo sulle onde capaci di spezzare la chiglia. Era un processo di calibrazione sottile, una danza tra l’uomo e il divino per trovare la frequenza giusta, affinché la voce della Pitia smettesse di essere un enigma e diventasse una certezza.

Quando siamo di fronte al modello di apprendimento automatico, se ci limitiamo a raccogliere i numeri e i dati che il modello ci propone ad ogni interrogazione, difficilmente saremo in grado di interpretare e utilizzare i messaggi del nostro moderno oracolo, rimanendo all’interno di un aura enigmatica. Dobbiamo agire come Eutimo, il personaggio della nostra storia, calibrando le nostre richieste per poter avere risposte che siano in linea con le nostre esigenze.

Le Metriche di Classificazione: Decifrare la Performance del Modello

Quando un modello di apprendimento automatico non si limita a prevedere un valore (come un prezzo), ma deve prendere una decisione binaria – ad esempio, se il VIX aumenterà o diminuirà, se un’e-mail è spam o meno, o se un’operazione è fraudolenta – siamo nel campo della classificazione.

Per visualizzare e comprendere gli esiti di un modello di classificazione, utilizziamo uno strumento fondamentale: la Matrice di Confusione (o Confusion Matrix). Per un problema di classificazione binaria, come quello che ci interessa, la matrice ha quattro elementi che ci raccontano tutta la storia:

  • Veri Positivi (True Positives – TP): Sono le istanze che il modello ha correttamente identificato come positive. Ad esempio, abbiamo previsto che il VIX sarebbe salito, e in effetti è salito.
  • Veri Negativi (True Negatives – TN): Sono le istanze che il modello ha correttamente identificato come negative. Abbiamo previsto che il VIX sarebbe sceso, e in effetti è sceso.
  • Falsi Positivi (False Positives – FP): Sono le istanze che il modello ha erroneamente identificato come positive (un “falso allarme”). Abbiamo previsto che il VIX sarebbe salito, ma in realtà è sceso. Questo è anche chiamato Errore di Tipo I.
  • Falsi Negativi (False Negatives – FN): Sono le istanze che il modello ha erroneamente identificato come negative (una “mancata rilevazione”). Abbiamo previsto che il VIX sarebbe sceso, ma in realtà è salito. Questo è anche chiamato Errore di Tipo II.
Figura 4 – Matrice di Confusione Binaria (creata dall’Autore)

L’obiettivo ideale, una performance perfetta, si otterrebbe quando tutti i valori si trovano sulla diagonale principale della matrice: avremmo solo Veri Positivi (TP) e Veri Negativi (TN), con Falsi Positivi e Falsi Negativi pari a zero. In tal caso, il modello non commetterebbe alcun errore di classificazione.

Dalla matrice di confusione deriviamo diverse metriche cruciali per valutare le diverse sfaccettature della performance di un modello:

  • Accuratezza (Accuracy): Misura la proporzione di previsioni corrette sul totale delle previsioni. È intuitiva, ma può essere fuorviante in presenza di dataset sbilanciati.
  • Precisione (Precision): Indica la proporzione di veri positivi tra tutte le istanze che il modello ha classificato come positive. È cruciale quando il costo di un falso positivo è elevato (es. un falso allarme di trading).
  • Sensibilità / Richiamo (Sensitivity / Recall): Misura la proporzione di veri positivi che il modello è riuscito a identificare correttamente rispetto a tutti i positivi reali. È fondamentale quando il costo di un falso negativo è elevato (es. non rilevare una frode).
  • Specificità (Specificity): Indica la proporzione di veri negativi che il modello ha correttamente identificato rispetto a tutti i negativi reali. È l’equivalente della sensibilità per la classe negativa.
  • Valore Predittivo Negativo (Negative Predictive Value – NPV): Misura la proporzione di veri negativi tra tutte le istanze che il modello ha classificato come negative. Utile per capire l’affidabilità delle previsioni negative.
  • F1-Score: Questa metrica rappresenta la media armonica di Precisione e Sensibilità. È particolarmente utile quando si desidera un equilibrio tra la capacità del modello di non generare falsi positivi (Precisione) e di non perdere veri positivi (Sensibilità), specialmente in presenza di classi sbilanciate. Un valore elevato di F1-Score indica che il modello ha sia un’alta precisione che un’alta sensibilità.
\text{F1-Score} = 2 \cdot \frac{\text{Precisione} \cdot \text{Sensibilità}}{\text{Precisione} + \text{Sensibilità}}

Sarà proprio il F1-Score (pesato) la metrica principale che utilizzeremo per addestrare e valutare il nostro modello sul VIX, poiché ci offre una visione bilanciata della sua performance, capace di ridurre sia i falsi segnali (precisione) sia di trascurare delle opportunità (sensibilità).

Comprendere queste metriche ci permetterà di valutare criticamente l’efficacia del nostro modello nel prevedere l’andamento del VIX e di interpretare correttamente i risultati che presenteremo.

Selezione degli Iper-Parametri

La performance di un modello di apprendimento automatico dipende in larga parte dalla corretta configurazione dei suoi iper-parametri. Questi non sono parametri che il modello apprende dai dati, ma piuttosto impostazioni che controllano il processo di apprendimento stesso. La loro ottimizzazione è cruciale e, nel nostro caso, ha richiesto una serie di test focalizzati soprattutto sulla definizione delle etichette, ovvero su come abbiamo classificato i movimenti del VIX.

Abbiamo analizzato la distribuzione dell’incremento percentuale del VIX a 60 giorni. Come si può osservare nella figura seguente, questa distribuzione tende ad avere un profilo a campana con una lunga coda a destra. Questo comportamento è intrinseco al VIX: tende a muoversi con incrementi rapidi e intensi durante i periodi di forte stress, mentre i ritorni alla media (e quindi i decrementi) sono generalmente più contenuti e graduali. Le linee tratteggiate rossa e verde rappresentano rispettivamente il 25° e il 75° percentile, demarcando le code della distribuzione.

Figura 5 – Distribuzione dell’incremento percentuale del VIX a 60 giorni (creata dall’autore)

Primo Test: Classificazione a Tre Etichette

In un primo test, abbiamo definito le etichette per il VIX a 60 giorni su tre classi distinte:

  • -1 (Decremento Significativo): se l’incremento del VIX era inferiore al 20° percentile.
  • 0 (Variazione Modesta): se l’incremento del VIX era compreso tra il 20° e l’80° percentile.
  • 1 (Incremento Significativo): se l’incremento del VIX era maggiore dell’80° percentile.

Questa suddivisione, sebbene arbitraria e non finalizzata a un bilanciamento perfetto delle classi (dato che i valori centrali, “0”, sono più numerosi), non ha rappresentato un problema. L’algoritmo Random Forest, grazie alla sua robustezza, è infatti noto per la sua capacità di gestire efficacemente dataset con etichette sbilanciate.

Figura 6 – Matrice di Confusione a Tre Classi (20-80 Percentile)

Nonostante la robustezza del Random Forest, l’analisi della matrice di confusione ha rivelato una difficoltà significativa nella previsione sia dell’etichetta 1 (incremento significativo del VIX) che dell’etichetta -1 (decremento significativo del VIX). La presenza della classe centrale “0” (variazioni modeste) ha evidentemente “disturbato” eccessivamente il processo di addestramento, impedendo al modello di isolare e identificare con precisione i pattern associati alle situazioni di maggiore interesse per le nostre esigenze: i movimenti estremi del VIX. Anche un tentativo di ottimizzare l’accuratezza sulla sola classe -1 non ha portato a miglioramenti sostanziali.

Secondo Test: Classi bilanciate

Abbiamo quindi esplorato una seconda configurazione, tentando di bilanciare le classi attraverso una suddivisione basata sul 33° e 67° percentile:

  • -1: se l’incremento del VIX era inferiore al 33° percentile.
  • 0: se l’incremento del VIX era compreso tra il 33° e il 67° percentile.
  • 1: se l’incremento del VIX era maggiore del 67° percentile.

Come mostra la seguente matrice di confusione, questo bilanciamento ha portato a un miglioramento nella predizione dell’etichetta -1 (decremento), ma ha simultaneamente causato un peggioramento nella capacità di prevedere le classi 0 e 1. Questo risultato ha rafforzato la nostra convinzione che la presenza di una classe intermedia, anche se bilanciata, continui a diluire la capacità del modello di concentrarsi sui segnali più informativi relativi agli eventi estremi di crescita e decrescita del VIX.

Figura 7 – Matrice di Confusione a Tre Classi (33-67 Percentile)

Questi test preliminari hanno evidenziato una lezione cruciale: per previsioni significative sul VIX, è fondamentale che l’algoritmo non venga “distratto” da variazioni irrilevanti o troppo contenute. La strada da seguire, per massimizzare la capacità del modello di cogliere i movimenti che contano, è la semplificazione delle etichette.

Terzo Test: La Scelta Binaria

Per affinare ulteriormente la nostra capacità predittiva, abbiamo adottato un approccio binario, concentrandoci esclusivamente sui movimenti del VIX che contano di più per un investitore.

In questo nuovo sistema di etichettatura, abbiamo definito due classi principali:

  • -1 (Ribasso Significativo): se l’incremento del VIX era inferiore al 33° percentile.
  • +1 (Rialzo Significativo): se l’incremento del VIX era maggiore del 67° percentile.

Cruciale per questo approccio è stata la rimozione dal dataset di tutti i campioni la cui etichetta rientrava tra il 33° e il 67° percentile. Riprendendo l’immagine della distribuzione dell’incremento percentuale del VIX a 60 giorni, è come se avessimo tagliato via tutta la parte centrale della campana, mantenendo solo le “code” estreme. Questo filtro intenzionale ci permette di concentrare l’addestramento del modello solo sui movimenti del VIX che sono realmente significativi, escludendo il “rumore” delle variazioni modeste e permettendo all’algoritmo di apprendere pattern più distinti.

Figura 8 – Matrice di Confusione con Sistema Binario (con 33° e 67° percentile)

Il risultato di questa ottimizzazione, visibile nella matrice di confusione presentata qui sopra, è stato decisamente migliore. Il modello mostra una buona precisione, in particolare sulla classe +1 (rialzo), che è spesso la più importante da prevedere per gli investitori. Questa maggiore chiarezza dimostra come focalizzarsi sugli eventi “estremi” abbia permesso all’algoritmo di affinare le sue capacità predittive.

Abbiamo replicato lo stesso test per l’orizzonte temporale a 30 giorni per il calcolo della variazione percentuale del VIX. I risultati sono stati tendenzialmente in linea con quelli ottenuti a 60 giorni. Questa coerenza su orizzonti temporali diversi è un indicatore significativo della stabilità e robustezza dell’algoritmo, che si dimostra capace di addestrare correttamente un modello con buone capacità predittive a prescindere dall’orizzonte specifico (purché sia entro un range ragionevole per le dinamiche del VIX).

La figura seguente offre una prova visiva della performance del modello:

Figura 9 – Matrice di Confusione con Sistema Binario (con 33° e 67° percentile) e previsione a 30 giorni

Anche da un punto di vista qualitativo, l’andamento nel tempo delle probabilità assegnate dal modello alle classi -1 e +1, confrontato con il valore effettivo del VIX, rivela una buona capacità di prevedere correttamente le fasi di possibile ribasso e rialzo. Il modello sembra inoltre efficace nell’individuare le aree di minimo e di massimo del VIX, fornendo segnali potenzialmente molto utili per le decisioni operative.

Questo approccio binario, concentrato sui movimenti significativi, si è rivelato la chiave per sbloccare il potenziale predittivo del nostro modello sul VIX.

Figura 10 – Previsioni e Probabilità del modello di predizione

Test di Robustezza: Verificare la Stabilità del Modello

Per consolidare la fiducia nel nostro modello e assicurarci che le sue prestazioni non dipendano da configurazioni iper-specifiche, abbiamo condotto ulteriori test di robustezza. L’obiettivo era verificare la stabilità dell’addestramento, dimostrando che variazioni ragionevoli negli iper-parametri o nella composizione delle caratteristiche non producano differenze sostanziali nelle soluzioni finali. Questa stabilità è un indicatore chiave dell’affidabilità di un modello in un contesto dinamico come quello finanziario.

Abbiamo eseguito due test principali:

  • Addestramento con un Set di Caratteristiche Ridotto:
    abbiamo addestrato il modello utilizzando solo un sottoinsieme delle caratteristiche: i valori correnti del VIX, i rapporti (ratei) della curva VIX e il momentum di SPY. Queste, come vedremo più avanti nell’analisi della Permutation Importance, si sono rivelate tra le caratteristiche più significative. I risultati ottenuti con questo set ridotto sono stati in linea con quelli precedenti. Ciò dimostra una notevole stabilità del modello, capace di operare efficacemente anche con un “rango” di informazioni più limitato, indicando che non è eccessivamente sensibile alla presenza di tutte le variabili originali.
  • Addestramento con Soglie Estreme per le Etichette:
    Abbiamo poi condotto un test sul sistema di etichettatura binario, ma accentuando ulteriormente l’addestramento sulle “code” della distribuzione degli incrementi del VIX. Abbiamo definito le classi di rialzo e ribasso utilizzando il 20° e l’80° percentile come soglie, eliminando quindi una fetta ancora più ampia di variazioni centrali. Anche in questo scenario più estremo, i risultati sono rimasti stabili. Questa coerenza conferma che il modello non solo beneficia della rimozione del rumore dalle etichette, ma mantiene la sua capacità predittiva anche quando si concentra sugli eventi di volatilità più marcati.

Questi test di stabilità rafforzano la nostra confidenza nel modello: la sua capacità di fornire prestazioni consistenti, anche di fronte a modifiche negli input o nelle definizioni delle etichette, ne sottolinea la robustezza e l’affidabilità per le previsioni sul VIX.

Modello Finale

Dopo una serie di test, abbiamo definito la configurazione ottimale degli iper-parametri per il nostro modello finale di Random Forest. Queste scelte sono state guidate dalla necessità di massimizzare la capacità del modello di identificare i movimenti significativi del VIX, garantendo al contempo stabilità e affidabilità.

  • Classificazione Binaria con Soglie a 25° e 75° Percentile: questa scelta ci permette di focalizzare l’algoritmo sulle “code” della distribuzione del VIX, dove risiedono i segnali più informativi per un investitore.
  • Funzione di Ottimizzazione su F1-Score: ottimizzare su questa metrica ci assicura un modello che non sia eccessivamente sbilanciato a favore di un solo tipo di errore, garantendo una performance complessiva robusta.
  • Orizzonte Temporale a 60 Giorni: questa scelta di medio termine ci permette di catturare trend di volatilità più strutturati e meno soggetti alle fluttuazioni quotidiane.

Oltre a questi iper-parametri definiti manualmente, il Random Forest ottimizza autonomamente altri parametri interni cruciali durante l’addestramento. Tra questi, spiccano il numero di alberi che compongono la “foresta” e la profondità massima degli alberi individuali. L’algoritmo calibra questi valori per garantire che il collettivo di alberi lavori in sinergia per produrre le previsioni più accurate e robuste, mitigando l’overfitting.

Figura 1 – Matrice di Confusione del modello finale

La Matrice di Confusione offre una panoramica dettagliata delle capacità del nostro modello nel prevedere i movimenti del VIX. Definendo il rialzo come “positivo” (etichetta 1) e il calo come “negativo” (etichetta -1), abbiamo le seguenti metriche:

  • Accuratezza: 78.9% L’accuratezza del 78.9% indica che il modello ha classificato correttamente quasi l’80% di tutti i casi, siano essi rialzi o cali del VIX. Questo è un buon punto di partenza e suggerisce che il modello ha una solida capacità di base nel prevedere la direzione generale del VIX.
  • Precisione sul rialzo: 90.3% quando il nostro modello prevede un rialzo del VIX, ha ragione nel 90% dei casi. Questa metrica è cruciale: ci dice quanto possiamo fidarci delle previsioni al rialzo del modello. Un’alta precisione riduce il rischio di “falsi allarmi”, ovvero di operare su un segnale di rialzo che poi non si verifica.
  • Precisione sul ribasso (Valore Predittivo Negativo): 71.1% quando il modello prevede un calo del VIX, questa previsione si rivela corretta nel 70% circa delle volte. È un buon valore, ma mostra che il modello è leggermente meno affidabile nelle previsioni di calo rispetto a quelle di rialzo.
  • Sensibilità / Recall sul rialzo: 68.3% il modello è riuscito a identificare correttamente quasi il 70% di tutti i rialzi effettivi del VIX. Questa metrica ci dice quanti dei “veri” rialzi il modello è riuscito a “catturare”. Un valore di quasi il 70% è accettabile, ma suggerisce che un terzo dei rialzi reali non viene previsto dal modello (sono i Falsi Negativi). Questo è importante se non vogliamo perdere opportunità di anticipare i picchi di volatilità.
  • Sensibilità / Recall sul ribasso (Specificità): 91.4% il modello ha correttamente identificato più del 90% di tutti i cali effettivi del VIX. È una metrica molto forte e indica l’eccellente capacità del modello di riconoscere quando il VIX sta per scendere, minimizzando i Falsi Positivi.
  • F1-Score: 77.8% è un risultato molto buono e conferma che il modello non è sbilanciato a favore di una sola metrica (ad esempio, alta precisione a scapito di una bassa sensibilità). Indica che il modello ha un equilibrio ragionevole tra la capacità di essere corretto nelle sue previsioni positive e quella di rilevare la maggior parte degli eventi positivi reali.

In sintesi, i risultati mostrano un modello con una forte propensione a prevedere correttamente i rialzi del VIX (alta precisione) e una capacità eccezionale di identificare i periodi di calo o stabilità (alta specificità). Questo è un ottimo segnale per chi volesse sfruttare i momenti di “paura” nel mercato, poiché il modello è bravo a non generare falsi allarmi quando si aspetta un rialzo.

Tuttavia, c’è un’area di miglioramento nella sensibilità: circa un terzo dei veri rialzi del VIX non viene colto dal modello. Questo implica che potremmo perdere alcune opportunità di capitalizzare sui movimenti al rialzo della volatilità.

Conclusioni

In questa seconda parte dell’articolo, abbiamo finalmente costruito il nostro modello ed effettuato la calibrazione adatta ai nostri scopi. Nella prossima parte, utilizzeremo il modello prima per studiare quali sono le variabili che aiutano concretamente nella predizione del VIX, poi per saggiarne le reali capacità di predizione.

Restate sintonizzati per la prossimo puntata!

Buon Investing!



Se hai domande o curiosità da chiedermi, non esitare a scrivermi nel modulo qui in basso, oppure mi trovi su Facebook e su LinkedIn. Se vuoi rimanere sempre aggiornato e non perderti nessun articolo appena esce, iscriviti alla newsletter compilando il seguente modulo:

Se apprezzi i miei articoli e il progetto MP Investit, puoi sostenermi con un contributo libero tramite PayPal. Questo mi motiva e mi incentiva a produrre contenuti sempre migliori. Grazie!

Articoli simili

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *