samedi 9 mars 2013

Estimation et calibration MCMC du modèle de volatilité stochastique

Présentation du Modèle


L'analyse du modèle se fait au travers d'une représentation espace-état, ayant comme processus observé (y) les rendements financiers et comme processus caché la log-volatilité.
Le but est d'établir une méthode d'estimation de la variable latente et de réussir à calibrer le modèle.
Pour se faire, nous utiliserons les techniques MCMC notamment l'échantillonneur de Gibbs et l'algorithme de Metropolis-Hasting (MH). Ceux-ci ont été présentés auparavant sur ce blog (en mars 2013).

Echantillonneur de Gibbs


On introduit le modèle suivant :


avec x0:T  le processus de log-volatilité, y1:T  les données observées et  θ ={α, φ, σ} les paramètres du modèles.

Rappel


L'algorithme de Gibbs permet de générer un échantillon issu d’une distribution jointe à partir de la distribution conditionnelle de chaque variable sachant les autres paramètres et les données observées. Pour plus de détails, se référer au précédent post introduisant cette technique.

Lois conditionnelles


Avant de nous attacher à l’étude des lois conditionnelles nous écrivons la vraisemblance du modèle.


L’intégration souffre d’un problème de dimension (T), nous utilisions alors le principe d’augmentation de données pour résoudre cela (c.f. Robert & Casella, 2004).
La vraisemblance complète est donnée par l’écriture suivante :
                                               

Une fois la vraisemblance définie nous spécifions les lois a priori du modèle :

α ~ Nα ¸σα)
φ ~ Nφ¸σφ)
                                                               ση ~ ση-1   

Nous pouvons maintenant établir les lois conditionnelles pour tous les paramètres et le processus latent x.

Loi conditionnelle pour α



Loi conditionnelle pour φ 


Loi conditionnelle pouση



Loi conditionnelle pour x2:T-1

Pour filtrer la variable latente nous utilisons l’algorithme MH. En effet, comme le processus est markovien de premier ordre nous devons savoir si la marche proposée améliore la vraisemblance du modèle. Nous proposons la loi suivante pour la loi q.


Loi conditionnelle pour  x et xT


Application #1


Nous appliquons l'algorithme décrit ci-dessus sur un jeu de données simulées de 500 observations générées avec  α = -0.8,  φ = 0.9,  ση = 0.3. Nous réalisons 30000 tirages MCMC, mais 10000 tirages sont largement suffisant.


Application #2


On considère maintenant un échantillon de 2000  données simulées avec les mêmes paramètres.





Application #3


On considère maintenant un échantillon de données provenant des performances journalières du S&P500.  Période: 03/01/2000 - 14/01/2009

Les résultats ci-dessous sont établis à partir de 30000 tirages MCMC.

Le deuxième graphique laisse apparaître la variable : log(return^2)+1.27. Cela permet d'approximer le processus latent (log-vol). En effet, en reprenant l’équation du processus observé on a :


log yt2 =  xt + log εt2 , où  log εt2  ~ X12

La loi peut être approximée  par une gaussienne de paramètre  E(log εt2) = -1.27 et V(log εt2) = 4.9
Donc : log yt2 E(log εt2)  = xt + N(0,V(log εt2))












jeudi 7 mars 2013

Markov Chain Monte Carlo


Échantillonneur de Gibbs


L'algorithme permet de générer un échantillon issu d'une distribution jointe lorsque celle-ci est difficile à simuler sous des techniques standards.
Cette procédure simule des variables à partir de la distribution conditionnelle de chaque variable sachant les autres paramètres et les données observées.
Ainsi, pour simuler une loi f(θ) avec θ = (θ1,..,θp) avec des données x, l’échantillonneur de Gibbs se décrit ci-dessous.



En répétant N fois les étapes ci-dessus et en prenant l’espérance on obtient la valeur estimée moyenne probable pour le paramètre θp. On remarque que seules les lois conditionnelles sont utilisées pour les simulations. Ainsi, même pour un problème de grande dimension, toutes ses simulations sont univariées.


Metropolis-Hasting


L'algorithme permet de tirer aléatoirement un élément de Ω selon la loi π (la distribution stationnaire).
Il  fonctionne comme une marche aléatoire en utilisant une loi de probabilité q pour choisir une nouvelle position probable de x donnée par q(x|x(i-1) ).
La probabilité p(xi = x|x(i-1) ) pour que la marche se déplace en x en i  (x = x) est définie par



Si q(x|x(i-1) )=q(x(i-1)|x ), on a une probabilité de 1 que xi se déplace en x si π (x)> π (x(i-1)).


Pour aller plus loin...