Preencher valores ausentes por dia de negociação
O exercício anterior levou a última observação do dia anterior para a primeira observação do dia seguinte. Este exercício vai mostrar como preencher valores ausentes por dia de negociação, sem usar o valor final do dia anterior.
Você vai usar o mesmo paradigma split-lapply-rbind do curso Introduction to xts and zoo. Para referência, o padrão está abaixo.
x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)
Lembre-se de que a sintaxe do.call(rbind, ...) permite passar uma lista de objetos para rbind() em vez de ter que digitar todos os nomes.
Seu workspace tem um objeto trade_day que contém a série regular do exercício anterior, mas sem nenhum NA preenchido.
Este exercício faz parte do curso
Importando e Gerenciando Dados Financeiros em R
Instruções do exercício
- Crie um objeto
daily_listusandosplit()para colocar os dados detrade_dayem uma lista com os dados de cada dia. - Agora use
lapply()para preencher osNAdos dados de cada dia na listadaily_list. - Por fim, use
do.call()erbind()para converterdaily_filledem um único objeto xts chamadofilled_by_trade_day.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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, ___)