CommencezCommencez gratuitement

Remplir les valeurs manquantes par jour de négociation

L'exercice précédent propageait la dernière observation de la veille vers la première observation du lendemain. Celui-ci vous montre comment remplir les valeurs manquantes par jour de négociation, sans utiliser la valeur finale de la veille.

Vous allez réutiliser le paradigme split-lapply-rbind vu dans le cours Introduction to xts and zoo. Pour référence, voici le modèle :

x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)

Rappelez-vous que la syntaxe do.call(rbind, ...) permet de transmettre une liste d'objets à rbind() au lieu d'avoir à taper tous leurs noms.

Votre espace de travail contient un objet trade_day qui renferme la série régulière de l'exercice précédent, mais sans aucun NA rempli.

Cette activité fait partie du cours

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

Voir le cours

Instructions de l’exercice

  • Créez un objet daily_list en utilisant split() pour placer les données de trade_day dans une liste de données pour chaque jour.
  • Utilisez maintenant lapply() pour remplir les NA de chaque journée dans la liste daily_list.
  • Enfin, utilisez do.call() et rbind() pour convertir daily_filled en un seul objet xts nommé filled_by_trade_day.

Exercice interactif pratique

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

# Split trade_day into days
daily_list <- split(___ , f = "___")

# Use lapply to call na.locf for each day in daily_list
daily_filled <- lapply(___, FUN = ___)

# Use do.call to rbind the results
filled_by_trade_day <- do.call(rbind, ___)
Modifier et exécuter le code