
入手元
入手元は米国財務省が運営しているこのサイト。役所が運営しているため、データが安定しているところが素晴らしいです。カバレッジは名目債券とインフレ連動債券。年限も豊富、ヒストリカルデータも充実。更新タイミングは日本時間の朝5時半くらいでしょうか。とにかく素晴らしい。
過去データのストックし、新規データを追加
上記サイトで表示されるデフォルトデータは当月分の日次データです。期間指定ボックスの"ALL"を選択すれば過去データも閲覧可能です。しかしデータ量が膨大です。長期データを見たり、分析するのならば、過去分はストックした方が都合が良いです。
全期間のデータは先ほどのリンクの最後に"All"を追加すれば良いです。
- 名目債券 https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yieldAll
- インフレ連動債券 https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=realyieldAll
コード
ストックデータ(ustreasury_ALL+.csv)に毎日更新される当月データ(mnominal.csv)を加えます。以下は名目債券です。
import pandas as pd
import csv
url = 'https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yield'
data = pd.read_html(url)
data[1].to_csv('./mnominal.csv')
#元データ
df1 = pd.read_csv('./ustreasury_ALL+.csv')
#新データ
df2 = pd.read_csv('./mnominal.csv')
#結合
df3 = pd.concat([df1, df2])
df4 = df3.drop('Unnamed: 0', axis=1) #!!!重複列の削除
df5 = df4.drop_duplicates() #!!!重複データの削除(元ファイルがアップデートされていないかもしれないので・・・)
#元データへ再格納
df5.to_csv('./ustreasury_ALL+.csv')
出来上がりはこんな感じです。とってきた「新データ」に、自分で保管する「元データ」を加えています。
主要系列だけで米国金利の長期チャートを描いてみました。明らかに金利は低下傾向にありますね。イールドカーブ分析やフォワードレート分析が可能な他、TIPSも用意されているのでBEIも計算可能です。