Transformă datele intra-zi neregulate în date regulate
Anterior ai învățat cum să creezi o serie zilnică regulată din date zilnice neregulate. Acum vei crea date intra-zi regulate dintr-o serie neregulată.
Datele financiare intra-zi nu acoperă de obicei un interval complet de 24 de ore, deoarece majoritatea piețelor sunt închise o parte a zilei. Acest exercițiu presupune că piețele se deschid la 9:00 și se închid la 16:00, de luni până vineri.
Este posibil ca datele tale să nu conțină o observație exact la deschiderea și/sau închiderea pieței. Prin urmare, nu poți folosi start() și end() așa cum ai fi procedat cu datele zilnice. Va trebui să specifici manual data și ora de început și de sfârșit pentru a crea această secvență regulată.
Secvența regulată de date și ore va include și perioadele în care piețele sunt închise, însă poți folosi subsetting-ul după ora din zi din xts pentru a extrage doar perioadele în care piața este deschisă.
Acest exercițiu face parte din cursul
Importul și gestionarea datelor financiare în R
Instrucțiuni pentru exercițiu
- Completează comanda pentru a crea o secvență regulată de date și ore la intervale de 30 de minute, între ora 09:00 de luni și ora 16:00 de vineri.
- Setează valorile pentru
xșiorder.bypentru a crea un obiect xts fără coloane (zero-width). - Creează
merged_xtsprin îmbinarea obiectelorirregular_xtsșiregular_xts. Folosește argumentulfillpentru a înlocui valorileNAcu valoarea anterioară, utilizândna.locf(). - Folosește subsetting-ul după ora din zi din xts pentru a extrage observațiile dintre 9:00 și 16:00 în fiecare zi. Atribuie rezultatul variabilei
trade_day.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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[___]