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
Instructions de l’exercice
- Créez un objet
daily_listen utilisantsplit()pour placer les données detrade_daydans une liste de données pour chaque jour. - Utilisez maintenant
lapply()pour remplir lesNAde chaque journée dans la listedaily_list. - Enfin, utilisez
do.call()etrbind()pour convertirdaily_filleden 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, ___)