CommencezCommencez gratuitement

Agréguer à la fréquence hebdomadaire, avec fin le mercredi

Dans cet exercice, vous allez apprendre une technique générale pour agréger des données quotidiennes en données hebdomadaires, mais avec des semaines se terminant le mercredi. On fait souvent cela en recherche boursière pour éviter la saisonnalité intrahebdomadaire.

La fonction period.apply() prend un objet xts, des points de fin de période et une fonction d'agrégation. Elle applique ensuite la fonction à chaque groupe de données délimité par ces points de fin.

La fonction endpoints() peut calculer ces points de fin de période pour period.apply(), et vous pouvez aussi fournir des points personnalisés. Toutefois, votre vecteur de points personnalisés doit commencer par zéro et se terminer par le nombre total d'observations que vous allez agréger, tout comme la sortie de endpoints().

Vous utiliserez .indexwday() pour trouver le mercredi de chaque semaine. Cette fonction retourne un nombre entre 0 et 6, où dimanche = 0.

Cet exercice utilise les données quotidiennes des Fed Funds (DFF) des exercices précédents.

Cette activité fait partie du cours

Importer et gérer des données financières dans R

Voir le cours

Instructions de l’exercice

  • Utilisez .indexwday() pour obtenir les jours de la semaine à partir de l'indice de DFF. Assignez le résultat à index_weekdays.
  • Utilisez la fonction which() pour repérer les positions des mercredis dans index_weekdays. Enregistrez le résultat dans wednesdays.
  • Complétez la commande pour que end_points commence à 0 et se termine par le nombre total de lignes, comme la sortie de endpoints().
  • Utilisez period.apply() et end_points pour agréger DFF en moyennes hebdomadaires. Assignez le résultat à weekly_mean.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Extract index weekdays (Sunday = 0)


# Find locations of Wednesdays
wednesdays <- ___(index_weekdays == 3)

# Create custom end points
end_points <- c(___, wednesdays, ___)

# Calculate weekly mean using custom end points
Modifier et exécuter le code