Заповнення пропусків за торговельним днем
У попередній вправі останнє спостереження попереднього дня переносилося в перше спостереження наступного дня. У цій вправі ви побачите, як заповнювати пропущені значення за торговельним днем, не використовуючи підсумкове значення попереднього дня.
Ви використаєте ту саму парадигму split-lapply-rbind з курсу Introduction to xts and zoo. Для довідки, шаблон наведено нижче.
x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)
Пам'ятайте, що синтаксис do.call(rbind, ...) дозволяє передати список об'єктів у rbind() замість того, щоб вводити всі їхні назви.
У вашому робочому середовищі є об'єкт trade_day, який містить регулярний ряд із попередньої вправи, але без жодних заповнених NA.
Ця вправа є частиною курсу
Імпорт і керування фінансовими даними в R
Інструкції до вправи
- Створіть об'єкт
daily_list, використавшиsplit()для розбиття данихtrade_dayна список даних для кожного дня. - Тепер застосуйте
lapply(), щоб заповнитиNAдля даних кожного дня у спискуdaily_list. - Нарешті, скористайтеся
do.call()таrbind(), щоб перетворитиdaily_filledна єдиний об'єкт xts з назвоюfilled_by_trade_day.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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, ___)