依交易日填補遺漏值
前一個練習是把前一天最後一筆觀測值沿用到隔天的第一筆觀測值。本題要示範如何依「交易日」來填補遺漏值,而不使用前一天的收尾值。
你會沿用 Introduction to xts and zoo 課程中的 split-lapply-rbind 範式。供你參考,樣式如下:
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 匯入與管理金融資料
練習說明
- 使用
split()將trade_day資料依每天分組成清單,建立daily_list物件。 - 接著使用
lapply()對daily_list中每一天的資料進行NA填補。 - 最後,用
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, ___)