Guida introduttiva al Machine Learning Statistico

Machine Learning Statistico

In questa lezione del corso “Introduzione al Machine Learning per il Trading” introduciamo i formalismi matematici che costituiscono le basi del machine learning statistico, cioè dell’apprendimento statistico.

Nel trading moderno il machine learning statistico rappresenta una componente fondamentale nel toolkit di ogni trader quantitativo. Per questo motivo, esploriamo l’argomento partendo dai suoi principi fondamentali.

L’apprendimento automatico è un’area di ricerca relativamente nuova che unisce l’analisi statistica all’informatica. Comprende tecniche estremamente efficaci per la previsione e la predizione che in molti casi superano attualmente le capacità umane.
Nella finanza quantitativa, l’apprendimento automatico viene utilizzato in vari modi, tra cui la previsione dei futuri prezzi degli asset, l’ottimizzazione dei parametri delle strategie di trading, la gestione del rischio e il rilevamento di segnali tra set di dati rumorosi.

Cos’è il Machine Learning?

L’apprendimento automatico impiega algoritmi che imparano a svolgere compiti come la previsione o la classificazione senza essere programmati esplicitamente per farlo. In sostanza, gli algoritmi apprendono dai dati anziché dalla prespecificazione.
Tali algoritmi sono incredibilmente diversificati. Vanno da modelli statistici più tradizionali che enfatizzano l’inferenza fino ad architetture di reti neurali “profonde” altamente complesse che eccellono nei compiti di previsione e classificazione.
Negli ultimi dieci anni circa, l’apprendimento automatico ha fatto progressi costanti nel campo quantitativo settore finanziario. Ha attirato l’attenzione di grandi fondi quantitativi tra cui Man AHL, DE Shaw, Winton, Citadel e Two Sigma.
Gli algoritmi di apprendimento automatico possono essere applicati in molti modi ai problemi di finanza quantitativa.
Esempi particolari includono:

  • Previsione dei futuri movimenti dei prezzi delle attività
  • Previsione dei movimenti di liquidità dovuti al rimborso del capitale in fondi di grandi dimensioni
  • Determinazione di asset con prezzi errati in mercati di nicchia
  • Elaborazione del linguaggio naturale del sentiment e delle previsioni degli analisti azionari
  • Classificazione/riconoscimento delle immagini per l’uso nei segnali di domanda/offerta di materie prime

Sfortunatamente gran parte del lavoro sull’applicazione di algoritmi di apprendimento automatico alle strategie di trading nella finanza quantitativa è proprietaria. Pertanto, è difficile acquisire informazioni sulle tecniche più recenti. Con la pratica, tuttavia, si può capire come prendere determinati set di dati e trovare modi coerenti per generare alfa.

Domini del Machine Learning

Le attività di apprendimento automatico sono generalmente suddivise in tre aree principali: apprendimento supervisionato, apprendimento non supervisionato e apprendimento per rinforzo.

Tutti i metodi differiscono nel modo in cui l’algoritmo di apprendimento automatico viene “premiato” per la correttezza delle sue previsioni o classificazioni.

Supervised Learning

Gli algoritmi di apprendimento supervisionato utilizzano dati etichettati. Ovvero, dati annotati con valori come categorie (come nella classificazione supervisionata) o risposte numeriche (come nella regressione supervisionata). Tali algoritmi vengono “addestrati” sui dati e apprendono quali fattori predittivi influenzano le risposte.

Applicati a dati non visibili, gli algoritmi di apprendimento supervisionato tentano di fare previsioni basate sulla loro precedente esperienza di addestramento. Un esempio nella finanza quantitativa sarebbe l’utilizzo della regressione supervisionata per prevedere il prezzo delle azioni di domani a partire dai dati sui prezzi del mese precedente.

Unsupervised Learning

Gli algoritmi di apprendimento non supervisionato non utilizzano dati etichettati. Sfruttano invece la struttura sottostante dei dati per identificare pattern. Il metodo canonico è il clustering non supervisionato, che tenta di suddividere i set di dati in sottocluster associati in qualche modo.

Un esempio di finanza quantitativa sarebbe il clustering di determinati asset in gruppi che si comportano in modo simile al fine di ottimizzare l’allocazione del portafoglio.

Reinforcement Learning

Gli algoritmi di apprendimento per rinforzo tentano di eseguire un compito all’interno di un determinato ambiente dinamico, eseguendo azioni all’interno dell’ambiente che cercano di massimizzare un meccanismo di ricompensa.

Questi algoritmi differiscono dall’apprendimento supervisionato in quanto non esiste un insieme diretto di input/output coppie utilizzate nei dati. Tali algoritmi hanno recentemente acquisito notevole notorietà grazie al loro utilizzo da parte di Google Mente Profonda[3]. DeepMind ha utilizzato il “deep reinforcement learning” per superare le prestazioni umane nei video Atari giochi[70] e l’antico gioco di Vai[4]. Tali algoritmi sono stati applicati nella finanza quantitativa per ottimizzare i portafogli di investimento.

L’argomento è estremamente vasto e in continua evoluzione, tanto da riempire di per sé molti libri e articoli di ricerca.

Tecniche di Machine Learning

Data la sua natura interdisciplinare, esistono numerosi algoritmi di apprendimento automatico. La maggior parte di essi nasce dalle comunità di informatica, ingegneria e statistica.

L’elenco degli algoritmi di machine learning è praticamente infinito, includendo tecniche di crossover e insiemi di molti altri algoritmi. Qui di seguito presentiamo gli algoritmi più frequentemente utilizzati nella finanza quantitativa.

Regressione Lineare

È una tecnica supervisionata elementare, derivata dalla statistica classica, che trova una risposta lineare ottimale da un insieme di coppie predittore-risposta etichettate.

Classificazione Lineare

Queste tecniche supervisionate classificano i dati in gruppi invece di prevedere risposte numeriche. Tra le più comuni vi sono la regressione logistica, l’analisi discriminante lineare e la classificazione bayesiana naïve.

Metodi basati sugli alberi

Gli alberi decisionali sono una tecnica supervisionata che suddivide lo spazio delle caratteristiche in sottoinsiemi ipercubici. Insiemi di alberi decisionali includono Random Forest e Gradient Boosted Regression Trees.

Macchine a vettori di supporto

Le SVM sono una tecnica supervisionata che tenta di creare un confine di separazione lineare in uno spazio a dimensioni maggiori rispetto al problema originale, per gestire la separazione non lineare delle caratteristiche.

Reti neurali artificiali e Deep Learning

Le reti neurali sono una tecnica supervisionata che crea gerarchie di “neuroni” di attivazione capaci di approssimare funzioni non lineari ad alta dimensionalità. Le reti “profonde” sfruttano numerosi strati nascosti di neuroni per formare rappresentazioni gerarchiche, garantendo prestazioni di classificazione all’avanguardia.

Reti bayesiane

Le reti bayesiane, o “reti di Bayes”, sono un tipo di modello grafico probabilistico che rappresenta relazioni probabilistiche tra variabili. Sono utilizzate sia per l’inferenza sia per applicazioni di apprendimento.

Clustering

Il clustering è una tecnica non supervisionata che tenta di suddividere i dati in sottoinsiemi in base a criteri di similarità. Una tecnica comune è il clustering K-Means.

Riduzione della dimensionalità

Gli algoritmi di riduzione della dimensionalità sono tecniche non supervisionate che trasformano uno spazio di predittori/fattori in un altro insieme che spiega la variazione nelle risposte con meno dimensioni. L’analisi delle componenti principali è la tecnica canonica in questo ambito.

Applicazioni del Machine Learning

L’apprendimento automatico è ampiamente impiegato nella finanza quantitativa, in particolare nello sviluppo di strategie quantitative.

Previsione e Predizione

Le tecniche di apprendimento automatico si prestano naturalmente alla previsione del prezzo degli asset basata sui dati storici di prezzo. L’accuratezza di tali tecniche dipende in larga misura dalla qualità e dalla disponibilità dei dati storici, dal mercato o dall’asset considerato, dall’orizzonte temporale della previsione e dall’algoritmo di apprendimento automatico scelto.

Le previsioni possono riguardare un singolo istante temporale oppure una serie di punti futuri. Esempi includono la previsione dei rendimenti giornalieri dell’S&P 500, la stima degli spread dei prezzi forex intraday e le previsioni di liquidità basate sulle dinamiche del portafoglio ordini.

Natural Language Processing

L’elaborazione del linguaggio naturale (NLP) consiste nella quantificazione di dati linguistici strutturati per estrarre informazioni inferenziali o predittive. Uno degli ambiti più diffusi dell’NLP è l’analisi del sentiment, che assegna un “sentiment” a un testo, come “rialzista” o “ribassista”. Tale analisi può essere utilizzata per generare segnali di trading.

Un’altra area dell’NLP è l’estrazione di entità, che identifica “entità” o “argomenti” trattati in un testo. Combinando l’analisi del sentiment con l’estrazione di entità, è possibile generare segnali di trading significativi, applicati spesso nei mercati azionari tramite dati provenienti dai social media.

Modelli fattoriali

La modellazione fattoriale è una tecnica statistica che cerca di spiegare la variazione di un insieme di variabili osservate correlate tramite un insieme ridotto di variabili latenti, chiamate fattori. Questo si ottiene modellando le variabili osservate come combinazioni lineari dei fattori ridotti più i termini di errore.

Esistono tre tipi principali di modelli fattoriali utilizzati per studiare i rendimenti degli asset. Il primo utilizza dati macroeconomici, come il PIL e i tassi di interesse, per modellare i rendimenti. Il secondo si basa su dati fondamentali specifici di un’azienda o asset, come il valore contabile o la capitalizzazione di mercato. Il terzo tipo adotta metodi statistici per stimare fattori latenti a partire dai rendimenti degli asset.

L’analisi fattoriale è strettamente collegata alla tecnica di riduzione della dimensionalità non supervisionata nota come analisi delle componenti principali.

Classificazione delle immagini

La classificazione delle immagini è un’applicazione che coinvolge l’apprendimento automatico e la visione artificiale. La sua popolarità è cresciuta grazie all’avanzamento degli algoritmi di deep learning, in particolare delle reti neurali convoluzionali, che hanno ridotto significativamente il tasso di errore nei principali dataset di benchmark per la classificazione delle immagini.

Sebbene non sia un ambito tradizionale della finanza quantitativa, può essere utilizzata indirettamente su fonti di dati alternative, come immagini satellitari, per ottenere informazioni su domanda e offerta. Ad esempio, l’analisi dell’altezza dei serbatoi di stoccaggio del petrolio o del traffico merci marittimo può migliorare la comprensione della domanda e offerta di petrolio greggio.

Precisione del modello

Uno degli aspetti più complessi dell’apprendimento automatico è determinare quale modello sia “migliore” per un problema o dataset specifico. Questa fase è nota come selezione del modello.

Nei modelli di apprendimento supervisionato, un problema cruciale riguarda la flessibilità del modello. Da un lato, maggiore flessibilità permette di adattarsi a dati complessi; dall’altro, aumenta il rischio di overfitting.

L’overfitting si verifica quando il modello si adatta troppo al “rumore” nei dati di training anziché al “segnale” sottostante, compromettendo la capacità di generalizzazione su dati non osservati. Questo comporta un compromesso tra flessibilità e prestazioni, noto come trade-off tra bias e varianza.

Una tecnica per mitigare questo compromesso è la cross-validazione, che consiste nel suddividere i dati in sottoinsiemi casuali e adattare il modello su ciascuno di essi. Ogni adattamento viene valutato e mediato sull’intero insieme per produrre un modello più robusto e meno soggetto a sovradattamento.

Il trade-off tra bias e varianza e le tecniche di cross-validazione saranno approfondite nei capitoli successivi.

Modelli Parametrici e Non Parametrici

In un contesto di machine learning statistico, costruiamo spesso un insieme di tuple di predittori e risposte nella forma {(X1, Y1), (X2, Y2), …, (Xn, Yn)}, dove Xi rappresenta il vettore del predittore i-esimo e non la componente i-esima di un vettore specifico (che indichiamo con xi).

Chiamiamo questo set di dati “dati di addestramento” perché lo usiamo per addestrare un metodo di machine learning statistico a generare \(\hat{f}\). Per stimare f in modo efficace, cerchiamo una \(\hat{f}\) che approssimi bene una determinata Y dato un certo predittore X. Usiamo due grandi categorie di modelli statistici per raggiungere questo scopo: modelli parametrici e modelli non parametrici.

Modelli Parametrici

Con i modelli parametrici decidiamo o ipotizziamo una forma per f. Questo rappresenta un processo di modellazione. La prima scelta riguarda la natura del modello: lineare o non lineare. Consideriamo il caso più semplice di un modello lineare. In questo modo, trasformiamo il problema di stimare una funzione sconosciuta di dimensione p in quello di stimare un vettore di coefficienti \(\beta=(\beta_0, \beta_1, … , \beta_p)\) lungo p+1 elementi.

Includiamo p+1 termini, e non solo p, perché i modelli lineari possono essere affini, cioè non attraversare l’origine quando tracciamo la “line of best fit“. In questi casi, inseriamo un coefficiente per definire l’intercetta. Nei modelli lineari unidimensionali (regressione), rappresentiamo spesso questo coefficiente come α. Nel nostro modello lineare multidimensionale, dove abbiamo p predittori, usiamo la notazione β0 per indicare l’intercetta tra X e Y. Quindi la stima \(\hat{\beta}\) di β contiene p+1 componenti.

Una volta scelta la forma lineare di f, procediamo con l’addestramento. Addestrare significa trovare una stima per β tale che:

\(\begin{eqnarray}
Y \approx \hat{\beta}^T X = \beta_0 + \beta_1 x_1 + … + \beta_p x_p
\end{eqnarray}\)

dove il vettore \(X=(1,x_1,x_2,…,x_p)\) include un’unità aggiuntiva per ottenere un vettore di dimensione p+1.

Nel modello lineare, possiamo usare un algoritmo come i minimi quadrati ordinari (OLS) per determinare i coefficienti, ma abbiamo a disposizione anche altri metodi. Stimare β risulta molto più semplice che adattare direttamente una f (potenzialmente non lineare). Tuttavia, scegliendo un modello parametrico lineare, difficilmente otteniamo una stima che replichi fedelmente la vera forma di f. Di conseguenza, rischiamo di generare stime poco accurate a causa della scarsa flessibilità del modello.

Per migliorare la flessibilità, possiamo aggiungere ulteriori parametri o adottare forme alternative per \(\hat{f}\). Tuttavia, un modello eccessivamente flessibile rischia di portare a un fenomeno pericoloso chiamato overfitting, tema che approfondiremo in molte lezioni future. In pratica, il modello segue troppo il rumore invece del segnale!

Modelli Non Parametrici

In alternativa, possiamo usare una forma non parametrica per \(\hat{f}\). I modelli non parametrici si adattano potenzialmente a una gamma più ampia di forme possibili per f, offrendo così maggiore flessibilità. Tuttavia, necessitiamo di molti più dati osservati rispetto ai modelli parametrici. Inoltre, se non prestiamo attenzione, anche questi metodi rischiano l’overfitting.

Nel trading quantitativo, i modelli non parametrici possono sembrare una scelta naturale per i modelli di trading quantitativa in quanto vi è apparentemente un’abbondanza di dati (storici) su cui applicare i modelli. Tuttavia, i metodi non sono sempre ottimali. Nonostante la maggiore flessibilità è molto utile per modellare le non-linearità dei dati finanziari, è molto facile l’overfit dei dati a causa dello scadente rapporto segnale / rumore che si trova nelle serie temporali finanziarie.

Si preferisce quindi una “via di mezzo” nel considerare i modelli con un certo grado di flessibilità. Discuteremo di questi problemi negli articoli relativi all’ottimizzazione.

Apprendimento supervisionato e non supervisionato

Nel machine learning statistico distinguiamo spesso tra metodi supervisionati e non supervisionati. Su TradingQuant, descriviamo quasi esclusivamente strategie basate su tecniche supervisionate, anche se applichiamo efficacemente anche le tecniche senza supervisione ai mercati finanziari.

Un modello di apprendimento supervisionato necessita di coppie predittore-risposta, cioè associamo a ogni vettore predittore Xi una risposta Yi. La “supervisione” o addestramento avviene quando il modello f viene adattato a un dataset specifico. Statistiche come la stima di massima verosimiglianza (MLE) sono comunemente usate per stimare i parametri. 

Ad esempio, nella regressione lineare, la MLE per stimare il coefficiente \(\\hat{\\beta}\) si ottiene tramite il metodo dei minimi quadrati ordinari. Utilizziamo l’algoritmo OLS per addestrare il modello e otteniamo una stima \(\hat{\beta}\) per il vettore dei coefficienti di regressione, β.

Nel modello non supervisionato, non associamo alcuna risposta Yi a uno specifico predittore Xi. Non possiamo quindi supervisionare l’addestramento del modello. Questo rende più difficile ottenere risultati affidabili, poiché non disponiamo di una “funzione fitness” per valutare l’accuratezza. Tuttavia, apprezziamo la potenza delle tecniche senza supervisione, soprattutto nel clustering.

Quando lavoriamo con un modello di cluster parametrizzato, e forniamo un parametro che indica il numero di cluster da individuare, possiamo spesso scoprire relazioni inattese all’interno dei dati, che altrimenti risulterebbero difficili da identificare. Anche se questi modelli trovano ampio impiego nell’analisi aziendale e nel marketing al consumo, li utilizziamo anche in ambito finanziario, ad esempio nella valutazione del clustering della volatilità.

Conclusioni

Nella prossima lezione, esploreremo varie categorie di tecniche di apprendimento automatico e analizzeremo come valutare la qualità di un modello.

Torna in alto