Completează valorile lipsă pe zi de tranzacționare
Exercițiul anterior a propagat ultima observație a zilei precedente în prima observație a zilei următoare. Acest exercițiu îți va arăta cum să completezi valorile lipsă pe zi de tranzacționare, fără a folosi valoarea finală a zilei anterioare.
Vei folosi același paradigm split-lapply-rbind din cursul Introduction to xts and zoo. Ca referință, modelul este prezentat mai jos.
x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)
Reține că sintaxa do.call(rbind, ...) îți permite să transmiți o listă de obiecte funcției rbind(), fără a fi nevoie să le tastezi pe toate individual.
În spațiul tău de lucru există un obiect trade_day care conține seria regulată din exercițiul anterior, dar fără niciun NA completat.
Acest exercițiu face parte din cursul
Importul și gestionarea datelor financiare în R
Instrucțiuni pentru exercițiu
- Creează un obiect
daily_listfolosindsplit()pentru a împărți datele dintrade_dayîntr-o listă de date pentru fiecare zi. - Acum folosește
lapply()pentru a completa valorileNAdin datele fiecărei zile aflate în listadaily_list. - În final, folosește
do.call()șirbind()pentru a convertidaily_filledîntr-un singur obiect xts numitfilled_by_trade_day.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Split trade_day into days
daily_list <- split(___ , f = "___")
# Use lapply to call na.locf for each day in daily_list
daily_filled <- lapply(___, FUN = ___)
# Use do.call to rbind the results
filled_by_trade_day <- do.call(rbind, ___)