Заполнение пропущенных значений по торговым дням
В предыдущем упражнении последнее наблюдение текущего дня переносилось на первое наблюдение следующего дня. В этом упражнении вы узнаете, как заполнять пропущенные значения в пределах торгового дня, не используя финальное значение предыдущего дня.
Вы будете применять парадигму 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, ___)