始める無料で始める

頻度リサンプリング入門

リスクファクターモデルでは、異なる頻度のデータを扱うことがよくあります。典型例として、四半期のマクロ経済データ(物価、失業率など)と、日次(場合によっては日中)であることの多い金融データを組み合わせるケースがあります。同じモデルで両方のデータソースを使うには、高頻度データを低頻度データに合わせて「リサンプリング」する必要があります。

Pandas の DataFrameSeries には、低い頻度を指定する組み込みの .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.____)
コードを編集して実行