Rendi regolari i dati infragiornalieri irregolari
Prima hai imparato a creare una serie giornaliera regolare partendo da dati giornalieri irregolari. Ora creerai dati infragiornalieri regolari a partire da una serie irregolare.
I dati finanziari infragiornalieri spesso non coprono tutte le 24 ore. La maggior parte dei mercati è chiusa per una parte della giornata. In questo esercizio si assume che i mercati aprano alle 9:00 e chiudano alle 16:00 dal lunedì al venerdì.
I tuoi dati potrebbero non avere un'osservazione esattamente all'apertura e/o alla chiusura del mercato. Quindi non potresti usare start() ed end() come faresti con i dati giornalieri. Devi specificare i date-time di inizio e fine per creare questa sequenza regolare.
La sequenza regolare di date-time includerà periodi in cui i mercati sono chiusi, ma puoi usare il sottoinsieme per ora del giorno di xts per estrarre solo i periodi in cui il mercato è aperto.
Questo esercizio fa parte del corso
Importare e gestire dati finanziari in R
Istruzioni dell'esercizio
- Completa il comando per creare una sequenza regolare di date-time ogni 30 minuti tra le 09:00 di lunedì e le 16:00 di venerdì.
- Imposta i valori di
xeorder.byper creare un oggetto xts a larghezza zero. - Crea
merged_xtsunendoirregular_xtseregular_xts. Usa l'argomentofillper sostituire gliNAcon il loro valore precedente tramitena.locf(). - Usa il sottoinsieme per ora del giorno di xts per estrarre le osservazioni tra le 9:00 e le 16:00 di ogni giorno. Assegna il risultato a
trade_day.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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[___]