LoslegenKostenlos starten

Unregelmäßige Intraday-Daten regularisieren

Zuvor hast du gelernt, wie du aus unregelmäßigen Tagesdaten eine regelmäßige tägliche Serie erstellst. Jetzt wirst du aus einer unregelmäßigen Serie regelmäßige Intraday-Daten erzeugen.

Intraday-Finanzdaten decken oft keine vollen 24 Stunden ab. Die meisten Märkte sind einen Teil des Tages geschlossen. In dieser Übung wird angenommen, dass die Märkte montags bis freitags von 9:00 bis 16:00 Uhr geöffnet sind.

Deine Daten enthalten möglicherweise keine Beobachtung genau zur Marktöffnung und/oder zum -schluss. Daher kannst du start() und end() nicht wie bei den täglichen Daten verwenden. Du musst die Start- und End-Zeitpunkte angeben, um diese regelmäßige Sequenz zu erzeugen.

Die regelmäßige Datums-Zeit-Sequenz enthält auch Zeiträume, in denen die Märkte geschlossen sind. Du kannst jedoch das Subsetting nach Tageszeit in xts verwenden, um nur die Zeiträume zu extrahieren, in denen der Markt geöffnet ist.

Diese Übung ist Teil des Kurses

<Kurs>Importing und Verwalten finanzieller Daten in R</Kurs>
Kurs ansehen

Übungsanweisungen

  • Vervollständige den Befehl, um eine regelmäßige 30-Minuten-Datums-Zeit-Sequenz zwischen 09:00 Montag und 16:00 Freitag zu erstellen.
  • Setze die Werte für x und order.by, um ein xts-Objekt mit Breite null zu erzeugen.
  • Erstelle merged_xts, indem du irregular_xts und regular_xts zusammenführst. Verwende das Argument fill, um NA mithilfe von na.locf() durch ihren vorherigen Wert zu ersetzen.
  • Verwende das Subsetting nach Tageszeit in xts, um Beobachtungen zwischen 9:00 und 16:00 Uhr jeden Tag zu extrahieren. Weisen das Ergebnis trade_day zu.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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[___]
Code bearbeiten und ausführen