Agréger à une 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 hebdomadaire, mais avec des semaines se terminant le mercredi. C’est souvent utilisé en recherche boursière pour éviter la saisonnalité intrahebdomadaire.
La fonction period.apply() prend un objet xts, des points de fin de période temporelle, et une fonction d’agrégation. Elle applique ensuite cette fonction à chaque groupe de données compris entre ces points de fin.
La fonction endpoints() peut calculer les points de fin de période pour period.apply(), et vous pouvez aussi définir des points de fin personnalisés. Mais votre vecteur de points de fin personnalisés doit commencer par zéro et se terminer par le nombre total d’observations que vous allez agréger, comme la sortie de endpoints().
Vous utiliserez .indexwday() pour trouver le mercredi de chaque semaine. Cette fonction renvoie un nombre compris entre 0 et 6, où dimanche = 0.
Cet exercice utilisera les données quotidiennes des Fed Funds (DFF) des exercices précédents.
Cet exercice fait partie du cours
Importer et gérer des données financières avec R
Instructions
- Utilisez
.indexwday()pour obtenir les jours de la semaine à partir de l’index deDFF. Affectez le résultat àindex_weekdays. - Utilisez la fonction
which()pour trouver les positions des mercredis dansindex_weekdays. Stockez le résultat danswednesdays. - Complétez la commande pour que
end_pointscommence par 0 et se termine par le nombre total de lignes, comme la sortie deendpoints(). - Utilisez
period.apply()etend_pointspour agrégerDFFen moyennes hebdomadaires. Affectez le résultat àweekly_mean.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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