頻度リサンプリング入門
リスクファクターモデルでは、異なる頻度のデータを扱うことがよくあります。典型例として、四半期のマクロ経済データ(物価、失業率など)と、日次(場合によっては日中)であることの多い金融データを組み合わせるケースがあります。同じモデルで両方のデータソースを使うには、高頻度データを低頻度データに合わせて「リサンプリング」する必要があります。
Pandas の DataFrame と Series には、低い頻度を指定する組み込みの .resample() メソッドがあります。このメソッドに続けて、低頻度の統計量を作るメソッドをチェーンします。たとえば、新しい頻度期間内の平均をとる .mean() や、最小値をとる .min() などです。
この演習では、日次の returns データを週次と四半期頻度に変換する練習をします。
この演習はコースの一部です
Pythonで学ぶ定量的リスク管理
演習の手順
.resample()と.mean()を使って、returnsを四半期頻度の平均returns_qに変換します。.resample()が日付インデックスを処理してくれることに注目しながら、returns_qの先頭を確認します。- 次に、
.min()メソッドを使って、returnsを週次頻度の最小値returns_wに変換します。 returns_wの先頭を確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Convert daily returns to quarterly average returns
returns_q = returns.____('Q').____
# Examine the beginning of the quarterly series
print(returns_q.____)
# Now convert daily returns to weekly minimum returns
returns_w = ____.resample('W').____
# Examine the beginning of the weekly series
print(returns_w.____)