CommencezCommencez gratuitement

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

Voir le cours

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 x et order.by afin de créer un objet xts de largeur nulle.
  • Créez merged_xts en fusionnant irregular_xts et regular_xts. Utilisez l'argument fill pour remplacer les NA par leur valeur précédente avec na.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[___]
Modifier et exécuter le code