Maak onregelmatige intraday-data regelmatig
Eerder leerde je hoe je van onregelmatige dagelijkse data een reguliere dagelijkse reeks maakt. Nu ga je van een onregelmatige reeks een reguliere intraday-reeks maken.
Intraday financiële data beslaat vaak geen volledige 24 uur. De meeste markten zijn een deel van de dag gesloten. In deze oefening gaan we ervan uit dat markten maandag t/m vrijdag open zijn van 9:00 tot 16:00.
Je data heeft mogelijk geen observatie precies bij opening en/of sluiting van de markt. Daardoor kun je start() en end(), zoals bij dagelijkse data, niet gebruiken. Je moet de begin- en eind-datetime opgeven om deze reguliere sequentie te maken.
De reguliere datetime-sequentie bevat ook perioden waarin de markt gesloten is, maar je kunt xts-subsetting op tijdstip van de dag gebruiken om alleen de perioden te extraheren waarop de markt open is.
Deze oefening maakt deel uit van de cursus
Financiële gegevens importeren en beheren in R
Oefeninstructies
- Maak het commando af om een reguliere datetime-sequentie met intervallen van 30 minuten te maken tussen 09:00 maandag en 16:00 vrijdag.
- Stel de waarden voor
xenorder.byin om een xts-object met breedte nul te maken. - Maak
merged_xtsdoorirregular_xtsenregular_xtste mergen. Gebruik het argumentfillomNAte vervangen door hun vorige waarde metna.locf(). - Gebruik xts-subsetting op tijdstip van de dag om observaties tussen 9:00 en 16:00 elke dag te extraheren. Ken het resultaat toe aan
trade_day.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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[___]