ÎncepețiÎncepe gratuit

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

Vezi cursul

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 și order.by pentru a crea un obiect xts fără coloane (zero-width).
  • Creează merged_xts prin îmbinarea obiectelor irregular_xts și regular_xts. Folosește argumentul fill pentru a înlocui valorile NA cu valoarea anterioară, utilizând na.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[___]
Editează și rulează codul