始める無料で始める

日付が異なる時系列の結合

米国の株式市場と債券市場は、休場日が異なります。たとえば、Columbus Day(10 月 12 日前後)と Veterans Day(11 月 11 日前後)は債券市場は休場ですが、株式市場は開いています。株式市場が開いていて債券市場が休場の日付を確認する 1 つの方法は、両方の日付インデックスを集合に変換し、集合の差を取ることです。

pandas の .join() メソッドは、両方の市場が開いている日付で株式と債券の DataFrame を結合するのに便利です。

FRED から取得した株価と米国 10 年国債利回りは、DataFrame stocksbonds にあらかじめ読み込まれています。

この演習はコースの一部です

Pythonで学ぶ時系列解析

コースを見る

演習の手順

  • stocks.indexbonds.index の日付を集合に変換します。
  • 株式の集合から債券の集合を差し引き、株式市場にはデータがあるが債券市場にはない日付を求めます。
  • 2 つの DataFrame を .join() メソッド(構文は df1.join(df2))で新しい DataFrame stocks_and_bonds に結合します。
    • 日付の共通部分を得るには、引数 how='inner' を使います。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import pandas
import pandas as pd

# Convert the stock index and bond index into sets
set_stock_dates = set(stocks.index)
set_bond_dates = set(___)

# Take the difference between the sets and print
print(set_stock_dates - ___)

# Merge stocks and bonds DataFrames using join()
stocks_and_bonds = ___
コードを編集して実行