名目金利と実質金利のイールドカーブ
金利を見る時には実質金利と名目金利を見るのが良い。特にインフレが懸念される状況だと、尚更、その傾向は強い。また、利上げが見込まれる時には短期と長期の金利の動きを併せてイールドカーブを見るのが良いだろう。
という事で、Pythonを使って、米国の名目金利と実質金利のイールドカーブを見てみよう。
1.Googleコラボにアクセス。
Googleコラボにアクセス、リンクはこちら。
上記の様な画面が開くので「ノートブック新規作成」をクリック。
次に破線部分に、プログラムのコードを入力する。
2.実行するプログラム
入力欄に下記をコピペして左端の「▶︎」をクリックして実行。
import pandas as pd
import pandas_datareader.data as web
import matplotlib.pyplot as plt
from matplotlib import gridspec
%matplotlib inline
# 対象URLを指定
url='https://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/TextView.aspx?data=yieldYear&year=2021'
tbl=pd.read_html(url)
# 1個目のテーブルを格納(ズレることがある。)
df = pd.DataFrame(tbl[1])
# 日付をインデックスに指定
df = df.set_index("Date")
# 日付のフォーマットを変換
df.index = pd.to_datetime(df.index, format = '%m/%d/%y').strftime('%Y-%m-%d')
#グラフ作成処理
fig = plt.figure(facecolor='white',figsize=(8,10),tight_layout=True)#
spec = gridspec.GridSpec(ncols=1, nrows=1)
ax1 = fig.add_subplot(spec[0,0], title='Yield Curve')
##イールドカーブ作成処理####
ax1.plot([10,20,30,60,120,240,360,600,840,1200,2400,3600], df.iloc[-1,[0,1,2,3,4,5,6,7,8,9,10,11]].astype(float), color="red" ,alpha=1)
ax1.plot([10,20,30,60,120,240,360,600,840,1200,2400,3600], df.iloc[-2,[0,1,2,3,4,5,6,7,8,9,10,11]].astype(float), color="red" ,alpha=0.5)
ax1.plot([10,20,30,60,120,240,360,600,840,1200,2400,3600], df.iloc[-5,[0,1,2,3,4,5,6,7,8,9,10,11]].astype(float), color="gray" ,alpha=0.5)
ax1.plot([10,20,30,60,120,240,360,600,840,1200,2400,3600], df.iloc[-20,[0,1,2,3,4,5,6,7,8,9,10,11]].astype(float), color="gray" ,alpha=0.1)
# 対象URLを指定
url2='https://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/TextView.aspx?data=realyieldYear&year=2021'
tbl2=pd.read_html(url2)
# 1個目のテーブルを格納(ズレることがある。)
df2 = pd.DataFrame(tbl2[1])
# 日付をインデックスに指定
df2 = df2.set_index("DATE")
# 日付のフォーマットを変換
df2.index = pd.to_datetime(df2.index, format = '%m/%d/%y').strftime('%Y-%m-%d')
##イールドカーブ作成処理####
ax1.plot([600,840,1200,2400,3600], df2.iloc[-1,[0,1,2,3,4]].astype(float), color="red" ,alpha=1)
ax1.plot([600,840,1200,2400,3600], df2.iloc[-2,[0,1,2,3,4]].astype(float), color="red" ,alpha=0.5)
ax1.plot([600,840,1200,2400,3600], df2.iloc[-5,[0,1,2,3,4]].astype(float), color="gray" ,alpha=0.5)
ax1.plot([600,840,1200,2400,3600], df2.iloc[-20,[0,1,2,3,4]].astype(float), color="gray" ,alpha=0.1)
ax1.text(0.6, 0.05,"hippen_research Ltd.",horizontalalignment='left', verticalalignment='top',transform=ax1.transAxes, fontsize=15,color="gray" ,alpha=0.5)
ax1.set_title(label=('Yield Curve (& Yield Curve Real)' +" "+df2.index[-1]), fontsize=15,color="gray")
##金利の長さ合わせて幅を調整###
ax1.set_xticks([10,20,30,60,120,240,360,600,840,1200,2400,3600])
ax1.set_xticklabels(["","","","","1y","","3y","5y","7y","10y","20y","30y"])
ax1.set_ylim(df2["5 YR"].min()-0.1,df["30 yr"].max()+0.1)
ax1.tick_params(axis='x', labelrotation=45)
plt.show()
3.実行結果
仕様
横軸:金利の長さ(※)
縦軸:金利
グラフ下:実質金利
グラフ上:名目金利
薄い灰色:20日前の金利
濃い灰色:5日前の金利
薄い赤色:1日前の金利
濃い赤色:最新の金利
※:1 Mo 2 Mo 3 Mo 6 Mo 1 Yr 2 Yr 3 Yr 5 Yr 7 Yr 10 Yr 20 Yr 30 Yr
4.解説
20日間の金利の動きを見ると(灰色から赤色への動き)、短期金利の上昇傾向が強い。更に、名目金利と実質金利の動きを見ると(上と下のグラフ)、実質金利の上昇傾向が強い。
そして、1日前からの動きを見ると(薄い赤色と濃い赤色)、金利は少し落ち着いてきている。
まぁ、この先の事は分かりませんが、FRBのパウエル議長の再任が決まったところで、早期利上げを織り込んで、急激に短期金利(と実質金利)が上昇したが、今日時点(2021/11/25)では、少し落ち着いてきた状態の様だ。
5.おまけ
長期金利より短期金利が上がっている状態を、ベア・フラットニングと言う。
「金利が上がると債券価格が下がる」のでベアと言い、
「金利差が縮小する」と傾きが平らになるので、フラットニングというのだけど、
ベア・フラットニングと聞いた時の、私の頭の中のイメージは少し違うので、絵をかいてみた。
語感から連想される、私の頭の中のイメージは、上図の様な感じである。
このイメージが何かの参考になれば幸いです。
では!
おつかれさん「缶コーヒー1杯ぐらい、ご馳走してあげよう」という太っ腹な方は投げ銭をお願いします!
課金しなくても、参考になったら「ハートボタン、フォロー、リツイート」をお願いします。読まれる可能性があがるので、次の記事を書くやる気が出ます。
ここから先は
0字
¥ 100
この記事が気に入ったらサポートをしてみませんか?