python で債権利回りの表示
債権は
https://investpy.readthedocs.io/_api/bonds.html
で取得できそう
ただし、債権利回りがでてないので検索
債権利回りコードは
https://stackoverflow.com/questions/65063436/pulling-yields-data-from-investpy-package
を参考に
import investpy data = investpy.bonds.get_bond_historical_data(bond='South Africa 2Y', from_date='01/01/2019', to_date='31/12/2019') data
で南アフリカ2年債の利回りを表示可能
米国債の2年債の利回りなら
data = investpy.bonds.get_bond_historical_data(bond='U.S. 2Y', from_date='01/01/2019', to_date='31/12/2019') data
でOK
債権の国コードや種類については
https://za.investing.com/rates-bonds/world-government-bonds?maturity_from=10&maturity_to=310
で調べることができる
Find Government Bonds
で
Country of Listing で国を選べば
チャートの下のほうに債権の種類が表示されるので
これをもとに
米国債2年なら
U.S. 2Y
となる
altair で表示するなら
商品市場でWTI、金価格のときにやったのと同じように
行う
今回は日付を date で取得し
年始から今日までの米国債2年債の利回りチャートを表示
from datetime import datetime, date, timedelta from dateutil.relativedelta import relativedelta today = datetime.today().strftime('%d/%m/%Y') today
で今日の日付を取得
US2Y = investpy.bonds.get_bond_historical_data(bond='U.S. 2Y', from_date='01/01/2021', to_date=today) US2Y
で年始から今日までの利回りを取得
US2Y.index = US2Y.index.strftime('%Y/%m/%d')
で日付フォーマット変更
US2Y = US2Y.T US2Y = US2Y.T.reset_index()
で
Date カラムを移動
chart =( alt.Chart(US2Y) .mark_line(opacity=0.8,clip=True) .encode( x="Date:T", y=alt.Y("Close:Q",stack=None) ) ) chart
で債権利回りをチャートで表示できる
同様に10年債も表示
US10Y = investpy.bonds.get_bond_historical_data(bond='U.S. 10Y', from_date='01/01/2019', to_date=today) US10Y.index = US10Y.index.strftime('%Y/%m/%d') US10Y = US10Y.T US10Y = US10Y.T.reset_index() us10 =( alt.Chart(US10Y) .mark_line(opacity=0.8,clip=True,color='Yellow') .encode( x="Date:T", y=alt.Y("Close:Q",stack=None) ) )
あとはチャートを重ねて表示するので
alt.layer(chart,us10).resolve_scale( y = 'independent' )
とすると
2年債と10年債の2つのチャートが表示されるようになる