Repérer une série temporelle volatile
Dans cet exercice, vous allez tracer les rendements logarithmiques du Dow Jones pour 2008-2011 aux côtés de données normales indépendantes et identiquement distribuées (iid) et de données iid de Student t.
L’objet xts djx contient l’indice Dow Jones, et les objets npars et tpars contiennent les estimations des paramètres obtenues lorsqu’une loi normale et une loi t sont ajustées à djx. Ces trois objets sont chargés dans votre environnement de travail.
Dans cet exercice, vous générerez un échantillon normal à partir du modèle ajusté en produisant des données normales standard, puis en les mettant à l’échelle avec la seconde composante npars[2] et en les décalant avec la première composante npars[1]. Pour l’échantillon de Student t, vous ferez quelque chose de similaire, mais notez que cette fois la première composante tpars[1] contient le paramètre de degrés de liberté et que tpars[2] et tpars[3] contiennent respectivement les paramètres de position et d’échelle.
Après avoir réalisé les graphiques, vous comparerez le comportement des rendements réels avec celui des rendements iid, en particulier autour de la crise financière de 2008.
Cet exercice fait partie du cours
Gestion quantitative des risques avec R
Instructions
- Calculez la longueur
ndedjx. - Générez un échantillon normal de taille
navec les paramètres donnés parnparset assignez les données àndata. - Générez un échantillon t de taille
navec les paramètres donnés partparset assignez les données àtdata. - Convertissez
ndataettdataen objetsxtsnommésndataxettdataxavec les mêmes dates quedjx. - Fusionnez les séries temporelles
djx,ndataxettdataxen un seul objet appeléalldataet tracez-le avecplot.zoo()en utilisanttype = "h".
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Compute the length n of djx
n <- ___
# Generate a normal sample of size n with parameters given by npars
ndata <- rnorm(___)*npars[2] + npars[1]
# Generate a t-distributed sample of size n with paramaters given by tpars
___ <- rt(___, df = ___)*tpars[3] + tpars[2]
# Make ndata and tdata into xts objects
ndatax <- xts(___, time(djx))
tdatax <- xts(___, time(djx))
# Merge djx, ndatax, and tdatax and plot
alldata <- ___
plot.zoo(___, ___, ylim = range(alldata))