👏
[Numerai] 金融データの収集にpandas-datareaderとFredが簡単そう
まとめ
米国株予測に際し、10年債や2年債の利回りを取れないものか…と考えた結果、下記の2つのサイトから欲しいものを手に入れることができました。Fredとpandas_datareaderがすごい。
ソースコード
米国の2年、5年、10年金利利回りを取得し、傾きをプロットしてみます。
import numpy as np
import pandas as pd
import datetime as dt
import pandas_datareader.data as web
s = dt.date(2002, 1, 1)
e = dt.date(2021, 1, 20)
df_2 = web.DataReader("DGS2", "fred", s, e)
df_5 = web.DataReader("DGS5", "fred", s, e)
df_10 = web.DataReader("DGS10", "fred", s, e)
df = pd.concat([df_2, df_5, df_10], axis=1)
df.plot() # とりあえず金利プロット
yield_curves = []
for row in df.iterrows():
if row[1].isnull().any():
yield_curves.append(np.nan)
else:
x = [2, 5, 10]
y = row[1].values
yield_curves.append(np.polyfit(x, y, 1)[0])
df["YC"] = yield_curves
df["YC"].plot()
- 結果
Discussion