始める無料で始める

取引日ごとに欠損値を埋める

前の演習では、前日の最後の観測値を翌日の最初の観測値に繰り越しました。この演習では、前日の最終値を使わずに、取引日ごとに欠損値を埋める方法を学びます。

ここでも 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, ___)
コードを編集して実行