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
Instructions de l’exercice
- Utilisez
.indexwday()pour obtenir les jours de la semaine à partir de l'indice deDFF. Assignez le résultat àindex_weekdays. - Utilisez la fonction
which()pour repérer les positions des mercredis dansindex_weekdays. Enregistrez le résultat danswednesdays. - Complétez la commande pour que
end_pointscommence à 0 et se termine par le nombre total de lignes, comme la sortie deendpoints(). - Utilisez
period.apply()etend_pointspour agrégerDFFen 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