Rendements chevauchants
Lorsque vous regroupez des séries en additionnant les rendements logarithmiques quotidiens sur des intervalles plus longs, vous analysez un nombre plus faible d'observations. Pour conserver la quantité de données, vous pouvez calculer des rendements chevauchants avec la fonction rollapplyr(); cela crée aussi de fortes corrélations entre les observations.
Il y a 5 jours de bourse dans une semaine civile moyenne. En calculant les sommes mobiles sur 5 jours des rendements logarithmiques des données quotidiennes de l'indice, vous obtenez des rendements hebdomadaires chevauchants approximatifs se terminant à chaque semaine civile. De même, des sommes mobiles sur 21 jours donnent des rendements mensuels chevauchants approximatifs, et des sommes mobiles sur 63 jours donnent des rendements trimestriels chevauchants approximatifs.
Voyons un exemple avec les rendements quotidiens du Dow Jones dans djx. Comme 5 valeurs sont utilisées pour calculer chaque somme mobile, les 4 premières valeurs du résultat sont NA. Dans ce cas, nous utiliserons l'indexation pour les retirer :
> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
^DJI
2008-01-03 NA
2008-01-04 NA
2008-01-07 NA
2008-01-08 NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869
> djx5 <- djx5[-(1:4)]
Dans cet exercice, vous calculerez des sommes mobiles à différents intervalles à partir de djx, qui est déjà chargé dans votre espace de travail. Vous déterminerez ensuite l'asymétrie et la kurtose des données obtenues et effectuerez le test de Jarque-Bera, comme dans les exercices précédents. Les rendements chevauchants semblent-ils plus proches d'une loi normale?
Cette activité fait partie du cours
Gestion des risques quantitatifs en R
Instructions de l’exercice
- Calculez une somme mobile sur 21 jours des rendements logarithmiques dans
djx, retirez les 20 premières valeurs et assignez le résultat àdjx21. - Calculez une somme mobile sur 63 jours des rendements logarithmiques dans
djx, retirez les 62 premières valeurs et assignez le résultat àdjx63. - Utilisez
merge()avecall = FALSEpour fusionnerdjx,djx21etdjx63dans cet ordre, puis assignez le tout àdjx2. Tracez le résultat avecplot.zoo(). - Utilisez
apply()et les fonctions appropriées pour calculer l'asymétrie (skewness) et la kurtose pour chacune des séries dedjx2. - Utilisez
apply()et la fonction appropriée pour effectuer le test de Jarque-Bera sur chacune des séries dedjx2.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Calculate a 21-day moving sum of djx
djx21 <- ___(___, ___, ___)[___]
# Calculate a 63-day moving sum of djx
djx63 <- ___(___)[___]
# Merge the three series and plot
djx2 <- ___(___)
___(___)
# Compute the skewness and kurtosis for each series in djx2
___(___)
___(___)
# Conduct the Jarque-Bera test to each series in djx2
___(___)