Introduzione ai Modelli di Markov Nascosti

Introduzione ai Modelli di Markov Nascosti

Sommario

SCRIVIMI SU TELEGRAM

Per informazioni, suggerimenti, collaborazioni...

Se è la prima volta che atterri su DataTrading, BENVENUTO!

Lascia che mi presenti. Sono Gianluca, ingegnere, trekker e appassionato di coding, finanza e trading. Leggi la mia storia.

Ho creato DataTrading per aiutare le altre persone ad utilizzare nuovi approcci e nuovi strumenti, ed applicarli correttamente al mondo del trading.

DataTrading vuole essere un punto di ritrovo per scambiare esperienze, opinioni ed idee.

TUTORIAL

Una sfida costante per i trader quantitativi è la frequente modifica del comportamento dei mercati finanziari, spesso bruscamente, a causa dei periodi mutevoli delle politiche governative, dell’ambiente normativo e di altri effetti macroeconomici. Tali periodi sono conosciuti colloquialmente come “regimi di mercato” e rilevare tali cambiamenti è un processo comune, sebbene difficile, intrapreso dai partecipanti al mercato quantitativo.

Questi vari regimi portano ad aggiustamenti dei rendimenti degli asset tramite spostamenti nelle loro medie, varianze/volatilità, correlazioni seriali e covarianze, che influiscono sull’efficacia dei metodi delle serie temporali che si basano sulla stazionarietà. In particolare può portare a una correlazione dinamicamente variabile, curtosi in eccesso (“code grasse”), eteroschedasticità (raggruppamento di correlazione seriale) e rendimenti distorti.

Per questi motivi è necessario rilevare e classificare efficacemente  i regimi di mercato in modo da selezionare le migliori implementazioni di strategie di trading quantitative e ottimizzare i parametri al loro interno. L’attività di modellazione diventa quindi un tentativo di identificare quando si verifica un cambio di regime e adeguare di conseguenza i criteri di implementazione della strategia, la gestione del rischio e il dimensionamento della posizione.

Uno dei metodi metodo più usati per rilevare il regime consiste nell’utilizzare una tecnica statistica di serie temporali nota come Hidden Markov Model [2] . Questi modelli sono adatti al compito perché implicano l’inferenza su processi generativi “nascosti” tramite osservazioni indirette “rumorose” correlate a questi processi. In questo caso il processo nascosto o latente è lo stato del regime sottostante, mentre i rendimenti dell’asset sono le osservazioni rumorose indirette, che sono influenzate da questi stati.

Questo articolo descrive la teoria matematica alla base dei modelli di Markov nascosti (HMM) e come possono essere applicati per determinare il regime ai fini del trading quantitativo.

Iniziamo introducendo il concetto di modello di Markov [1] e la relativa categorizzazione, che dipende dal livello di autonomia del sistema e dalla quantità di informazioni osservate sul sistema. Successivamente descriviamo nello specifico l’architettura di HMM come processo autonomo, con informazioni parzialmente osservabili.

Come per i precedenti articoli sui modelli di spazio degli stati e il filtro di Kalman, introduciamo i concetti inferenziali di filtraggio, smoothing e previsione. Non descriviamo gli algoritmi specifici come Forward Algorithm [6] e Viterbi Algorithm [7] che svolgono questi compiti, poiché il fulcro dell’articolo sono le applicazioni dell’HMM alla finanza quantistica, piuttosto che nella derivazione dell’algoritmo.

L’articolo successivo descrive come applicare l’HMM  a vari asset per  determinare il regime. Questi dati sono quindi aggiunti a una serie di strategie di trading quantitative tramite un “gestore del rischio”. Questo è usato per valutare come varia la performance del trading algoritmico con e senza la determinazione del regime.

Modelli di Markov

Prima della idescrivere i i modelli di Markov nascosti è necessario introdurre il concetto base del modello di Markov. Un modello di Markov è un modello stocastico dello spazio degli stati che prevede transizioni casuali tra gli stati, dove la probabilità del salto dipende solo dallo stato corrente, piuttosto che da uno qualsiasi degli stati precedenti. Si dice che il modello possieda la proprietà Markov ed è “senza memoria”. I modelli Random Walk sono un altro classico esempio del modello di Markov.

I modelli di Markov possono essere classificati in quattro grandi classi di modelli a seconda dell’autonomia del sistema e nel caso dove tutte o parte delle informazioni sul sistema possono essere osservate in ogni stato. La pagina del modello Markov su Wikipedia [1] fornisce un’utile matrice che delinea queste differenze, che riportiamo di seguito:

 Completamente osservabileParzialmente osservabile
AutonomoCatena di Markov  [3]Modello Markov nascosto [2]
ControllatoProcesso decisionale di Markov [3]Processo decisionale di Markov
parzialmente osservabile [4]

Il modello più semplice, la catena di Markov, è autonomo e completamente osservabile. Non può essere modificato dalle azioni di un “agente”, come nei processi controllati, e tutte le informazioni sono disponibili dal modello per ogni stato. Un buon esempio di catena di Markov è l’ algoritmo Markov Chain Monte Carlo (MCMC) ampiamente utilizzato nell’inferenza bayesiana computazionale.

Se il modello è completamente autonomo ma solo parzialmente osservabile, allora è noto come Hidden Markov Model. In questo modello ci sono stati latenti sottostanti (e probabili transizioni tra di loro) che non sono direttamente osservabili ma influenzano le “osservazioni”. Da sottolineare che gli stati latenti possiedono la proprietà di Markov, ma non è necessario che la possiedano anche gli stati osservabili. L’uso più comune di HMM al di fuori della finanza quantitativa è nel campo del riconoscimento vocale.

Se il sistema può essere “controllato” da uno o più agenti, tali processi rientrano nella denominazione di Reinforcement Learning (RL), spesso considerato il terzo “pilastro” del machine learning automatico insieme all’apprendimento supervisionato e all’apprendimento non supervisionato. Se il sistema è completamente osservabile, ma controllato, il modello è chiamato Markov Decision Process (MDP). Una tecnica correlata è nota come Q-Learning [11] , che viene utilizzata per ottimizzare la politica di selezione del comportamento di un agente all’interno di un modello di processo decisionale di Markov. Nel 2015 Google DeepMind ha aperto la strada all’uso di Deep Reinforcement Networks, o Deep Q Networks, per creare un agente in grado di giocare ai videogiochi Atari 2600 esclusivamente dal buffer dello schermo [12] .

Se il sistema è controllato  ma solo parzialmente osservabile, i modelli di Reinforcement Learning sono chiamati Processi decisionali di Markov parzialmente osservabili (POMDP). Le tecniche per risolvere i POMDP ad alta dimensione sono attualmente oggetto di molte ricerche accademiche. Il team senza scopo di lucro di OpenAI dedica molto tempo a esaminare tali problemi e ha rilasciato un toolkit open source, o “palestra”, per consentire il test diretto di nuovi agenti RL noti come OpenAI Gym [13].

Sfortunatamente il Reinforcement Learning, insieme al MDP e al POMDP, non rientrano nello scopo di questo articolo. Tuttavia, saranno oggetto di articoli successivi, in particolare in una serie di articoli dedicata al Deep Learning.

Si noti che in questo articolo non sono considerati i processi di Markov a tempo continuo. Nel trading quantitativo l’unità di tempo viene spesso fornita tramite tick o barre di dati storici sugli asset. Tuttavia, se l’obiettivo è quello di prezzare i contratti derivati, si dovrebbe usare il meccanismo a tempo continuo del calcolo stocastico.

Specifiche matematiche del modello Markov

Questa sezione, così come quella sulla matematica del modello di Markov nascosto, segue da vicino la notazione e la specifica del modello di Murphy (2012) [8].

Nella finanza quantitativa l’analisi di una serie storica è spesso di primario interesse. Tale serie temporale è generalmente costituita da una sequenza \(T\) di osservazioni discrete \(X_1, \ldots, X_T\). I modelli di Markov Chain prevedono che, in qualsiasi momento \(t\), l’osservazione \(X_t\) acquisisce tutte le informazioni necessarie per fare previsioni sugli stati futuri. Questa ipotesi sarà utilizzata nella seguente specifica.

La formulazione della catena di Markov in un quadro probabilistico consente di scrivere la funzione di densità congiunta della probabilità di vedere le osservazioni come segue:

\(\begin{eqnarray}p(X_{1:T}) &=& p(X_1)p(X_2 \mid X_1)p(X_3 \mid X_2)\ldots \\
&=& p(X_1) \prod^{T}_{t=2} p(X_t \mid X_{t-1})\end{eqnarray}\)

La formula afferma che la probabilità di vedere sequenze di osservazioni è data dalla probabilità dell’osservazione iniziale moltiplicata \(T-1\) volte dalla probabilità condizionata di vedere l’osservazione successiva, conoscendo l’osservazione precedente. In questo articolo si assume che il termine \(p(X_t \mid X_{t-1})\), noto come funzione di transizione, sia indipendente dal tempo.

Inoltre, poiché i modelli del regime di mercato descritti in questi articoli consistono in un numero piccolo e discreto \(K\) di regimi (o “stati”), il tipo di modello in esame è noto come catena di Markov a stato discreto (DSMC).

Quindi se ci sono K possibili stati, o regimi, separati dove il modello può trovarsi in qualsiasi momento t allora la funzione di transizione può essere scritta come una matrice di transizione. Questa matrice descrive la probabilità di passare dallo stato j allo stato i in qualsiasi momento. Matematicamente, gli elementi della matrice di transizione A sono dati da:

\(\begin{eqnarray}A_{ij} = p(X_t = j \mid X_{t-1} = i)\end{eqnarray}\)

A titolo di esempio è possibile considerare un semplice modello di catena di Markov a due stati. Il seguente diagramma rappresenta gli stati numerati come cerchi mentre gli archi rappresentano la probabilità di saltare da uno stato all’altro:

trading-quantitativo-hmm-two-state

Si noti che le probabilità si sommano all’unità per ogni stato, ad es \(\alpha + (1 – \alpha) = 1\). La matrice di transizione A per questo sistema è una matrice 2×2 data da:

\(\begin{eqnarray}A = \left( \begin{array}{cc}
1-\alpha & \alpha \\
\beta & 1-\beta \end{array} \right)\end{eqnarray}\)

 Per simulare i n passi di un modello DSMC generico è possibile definire n-esimo passo della matrice di transizione come:

\(\begin{eqnarray}A_{ij}(n) := p(X_{t+n} = j \mid X_t = i)\end{eqnarray}\)

Si può facilmente dimostrare che \(A(m+n)=A(m)A(n)\) e quindi che \(A(n)=A(1)^n\). Ciò significa che gli n passaggi di un modello DSMC possono essere simulati semplicemente moltiplicando ripetutamente la matrice di transizione con se stessa.

Modelli di Markov Nascosti

I modelli di Markov nascosti sono modelli di Markov in cui gli stati sono “nascosti” alla vista, invece di essere direttamente osservabili. Ci sono una serie di osservazioni di output, relative agli stati, che sono direttamente visibili. Per avere un’analogia concreta con la finanza quantitativa, è possibile pensare agli stati come a “regimi” nascosti in base ai quali si comporta un mercato mentre le osservazioni sono i rendimenti degli asset che sono direttamente visibili.

In un modello di Markov è necessario solamente creare una funzione di densità congiunta per le osservazioni. È stata specificata una matrice di transizione invariante nel tempo che consente la simulazione completa del modello. Per i Hidden Markov Models è necessario creare un insieme di stati discreti \(z_t \in \{1,\ldots, K \}\) (sebbene ai fini della determinazione del regime sia spesso necessario avere solo \(K \leq 3\)) e modellare le osservazioni con un modello probabilistico aggiuntivo, \(p({\bf x}_t \mid z_t)\). Cioè la probabilità condizionata di vedere una particolare osservazione (rendimento patrimoniale) dato che lo stato (regime di mercato) è attualmente pari a \(z_t\).

A seconda dello stato specificato e delle probabilità di transizione dell’osservazione, un modello di Markov nascosto tenderà a rimanere in uno specifico stato e quindi salterà improvvisamente a un nuovo stato e rimarrà in quello stato per qualche tempo. Questo è precisamente il comportamento che si desidera da un tale modello quando si cerca di applicarlo ai regimi di mercato. Non si prevede che i regimi stessi cambino troppo rapidamente (i cambiamenti normativi e altri effetti macroeconomici  sono considerati lenti). Tuttavia, quando cambiano, dovrebbero persistere per qualche tempo.

Specifiche matematiche del modello Markov nascosto

La corrispondente funzione di densità congiunta per l’HMM è data da (usando di nuovo la notazione di Murphy – 2012 [8]):

\(\begin{eqnarray}p({\bf z}_{1:T} \mid {\bf x}_{1:T}) &=& p({\bf z}_{1:T}) p ({\bf x}_{1:T} \mid {\bf z}_{1:T}) \\
&=& \left[ p(z_1) \prod_{t=2}^{T} p(z_t \mid z_{t-1}) \right] \left[ \prod_{t=1}^T p({\bf x}_t \mid z_t) \right]\end{eqnarray}\)

Nella prima riga si afferma che la probabilità congiunta di vedere l’insieme completo degli stati nascosti e delle osservazioni è uguale alla probabilità di vedere solo gli stati nascosti moltiplicata per la probabilità di vedere le osservazioni, subordinate agli stati. Questo ha senso in quanto le osservazioni non possono influenzare gli stati, ma gli stati nascosti influenzano indirettamente le osservazioni.

La seconda riga divide queste due distribuzioni in funzioni di transizione. La funzione di transizione per gli stati è data da \(p(z_t \mid z_{t-1})\) mentre quella per le osservazioni (che dipendono dagli stati) è data da \(p({\bf x}_t \mid z_t)\).

Come per la descrizione del modello di Markov, ai fini di questo articolo si assume che la funzione di transizione di stato e quella di osservazione siano invarianti nel tempo. Questo significa che è possibile utilizzare la  \(K \times K\) matrice di transizione A di stato in modo analogo al modello di Markov per quella componente del modello.

Tuttavia, per l’applicazione qui considerata, ovvero le osservazioni dei rendimenti degli asset, i valori sono continui. Questo significa che la scelta del modello per la funzione di transizione dell’osservazione è più complessa. La scelta comune è quella di utilizzare una distribuzione gaussiana multivariata condizionale con media \({\bf \mu}_k\) e covarianza \({\bf \sigma}_k\). Questo è formalizzato come segue:

\(\begin{eqnarray}p({\bf x}_t \mid z_t = k, {\bf \theta}) = \mathcal{N}({\bf x}_t \mid {\bf \mu}_k, {\bf \sigma}_k)\end{eqnarray}\)

Cioè, se lo stato \(z_t\) è attualmente pari a k, allora la probabilità di vedere l’osservazione \({\bf x}_t\), dati i parametri del modello \(\theta\), è una distribuzione guassianoa multivariata.

Al fine di rendere più chiari questi passaggi, il seguente diagramma mostra l’evoluzione degli stati \(z_t\) e come conducano indirettamente all’evoluzione delle osservazioni,\({\bf x}_t\):

trading-quantitativo-hmm-state-model

Filtraggio dei modelli Markov nascosti

Dopo aver specificato la funzione di densità congiunta, dobbiamo ora considerare come usare il modello. Nella modellazione generale dello spazio degli stati ci sono spesso tre principali compiti di interesse: filtraggio, smoothing e previsione. Il precedente articolo sui modelli dello spazio degli stati e sul filtro di Kalman li descrive brevemente. Ripetiamoli di seguito per completezza:

  • Previsione – Previsione dei valori successivi dello stato
  • Filtraggio – Stima dei valori attuali dello stato da osservazioni passate e attuali
  • Smoothing – Stima dei valori passati dello stato in base alle osservazioni

Il filtraggio e lo smoothing sono simili, ma non identici. Lo smoothing ha l’obbiettivo di capire cosa è successo agli stati in passato  a partire dalle conoscenze attuali, mentre il filtraggio riguarda ciò che sta accadendo allo stato in questo momento.

Descrivere in dettaglio gli algoritmi sviluppati per il filtraggio, lo smoothing e la previsione va oltre lo scopo di questo articolo. L’obiettivo principale di questi articoli è applicare i modelli di Markov nascosti per determinare il regime del mercato. Quindi il compito da svolgere diventa determinare quale sia l’attuale “stato di regime di mercato” usando i rendimenti delle attività disponibili fino ad oggi. E’ questa una criticità del filtraggio.

Matematicamente siamo interessati alla probabilità condizionata dello stato nel tempo t è data la sequenza delle osservazioni fino al momento t, cioè dobbiamo determinare \(p(z_t \mid {\bf x}_{1:T})\). Analogamente al filtro di Kalman, è possibile applicare ricorsivamente la regola di Bayes per ottenere il filtraggio su un HMM.

 

Prossimi passi

Nel secondo articolo della serie per la determinazione del regime degli asset finanziarie descriviamo in modo più approfondito i modelli di markov nascosti. Inoltre, usiamo le librerie del linguaggio Python applicate ai rendimenti storici degli asset al fine di produrre uno strumento per determinare il regime. Quest’ultimo è usato come strumento di gestione del rischio per il trading quantitativo.

Nota bibliografica

Una panoramica dei modelli di Markov (così come le loro varie categorizzazioni), inclusi i modelli di Markov nascosti (e gli algoritmi per risolverli), può essere trovata negli articoli introduttivi su Wikipedia [1], [2], [3], [4], [5], [6], [7].

Una panoramica matematica altamente dettagliata dei modelli di Markov nascosti, con applicazioni a problemi di riconoscimento vocale e l’algoritmo di Google PageRank, può essere trovata in Murphy (2012) [8]. Bishop (2007) [8] copre un approccio simile a Murphy (2012), inclusa la derivazione della Maximum Likelihood Estimate (MLE) per l’HMM, nonché gli algoritmi Forward-Backward e Viterbi. La discussione si conclude con Sistemi dinamici lineari e filtri antiparticolato.

Torna su