開始使用免費開始

依交易日填補遺漏值

前一個練習是把前一天最後一筆觀測值沿用到隔天的第一筆觀測值。本題要示範如何依「交易日」來填補遺漏值,而不使用前一天的收尾值。

你會沿用 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, ___)
編輯並執行程式碼