Rendre régulières des données intrajournalières irrégulières
Plus tôt, vous avez appris à créer une série quotidienne régulière à partir de données quotidiennes irrégulières. Vous allez maintenant créer des données intrajournalières régulières à partir d'une série irrégulière.
Les données financières intrajournalières ne couvrent souvent pas 24 heures complètes. La plupart des marchés sont fermés une partie de la journée. Dans cet exercice, on suppose que les marchés ouvrent à 9 h et ferment à 16 h, du lundi au vendredi.
Vos données peuvent ne pas contenir d'observation exactement à l'ouverture et/ou à la fermeture du marché. Vous ne pouvez donc pas utiliser start() et end() comme avec les données quotidiennes. Vous devez préciser les instants de début et de fin pour créer cette séquence régulière.
La séquence régulière de date-heure inclura des périodes où les marchés sont fermés, mais vous pouvez utiliser le filtrage par heure de la journée d'xts pour extraire uniquement les périodes où le marché est ouvert.
Cette activité fait partie du cours
Importer et gérer des données financières dans R
Instructions de l’exercice
- Terminez la commande pour créer une séquence régulière de date-heure aux 30 minutes entre 09:00 le lundi et 16:00 le vendredi.
- Attribuez les valeurs de
xetorder.byafin de créer un objet xts de largeur nulle. - Créez
merged_xtsen fusionnantirregular_xtsetregular_xts. Utilisez l'argumentfillpour remplacer lesNApar leur valeur précédente avecna.locf(). - Utilisez le filtrage par heure de la journée d'xts pour extraire les observations entre 9 h et 16 h chaque jour. Assignez le résultat à
trade_day.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create a regular date-time sequence
regular_index <- seq(as.POSIXct("2010-01-04 __:__"), as.POSIXct("2010-01-08 __:__"), by = "30 min")
# Create a zero-width xts object
regular_xts <- xts(x = ___, order.by = ___)
# Merge irregular_xts and regular_xts, filling NA with their previous value
merged_xts <- merge(___, ___, fill = ___)
# Subset to trading day (09:00-16:00)
trade_day <- merged_xts[___]