CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Utilisez .indexwday() pour obtenir les jours de la semaine à partir de l’index de DFF. Affectez le résultat à index_weekdays.
  • Utilisez la fonction which() pour trouver les positions des mercredis dans index_weekdays. Stockez le résultat dans wednesdays.
  • Complétez la commande pour que end_points commence par 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. 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
Modifier et exécuter le code