CommencezCommencez gratuitement

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

Voir le cours

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() avec all = FALSE pour fusionner djx, djx21 et djx63 dans cet ordre, puis assignez le tout à djx2. Tracez le résultat avec plot.zoo().
  • Utilisez apply() et les fonctions appropriées pour calculer l'asymétrie (skewness) et la kurtose pour chacune des séries de djx2.
  • Utilisez apply() et la fonction appropriée pour effectuer le test de Jarque-Bera sur chacune des séries de djx2.

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
___(___)
Modifier et exécuter le code