債券価格と利回りのプロット
債券価格と利回りの関係をグラフで可視化できると、市場の金利水準が変わったときに、特定の債券や債券ポートフォリオがどう動くかを検討するのに役立ちます。
ここでは、異なる満期の2つの債券について、価格と利回りのグラフを作成します。追加の債券ごとに、pandas のDataFrameに列を追加していきます。どちらの債券もクーポンは5%とし、満期は5年と10年をプロットします。
numpy、numpy_financial、pandas、matplotlib はそれぞれ np、npf、pd、plt としてインポート済みです。
この演習はコースの一部です
Pythonで学ぶ債券の評価と分析
演習の手順
- 0 以上 20 未満、刻み幅 0.1 の債券利回りの配列を作成します。
- この配列を
pandasのDataFrameに変換し、列名をbond_yieldにします。 - 5年債と10年債それぞれに対応する2つの列を追加し、各利回り水準における価格を求めます。
- これらの債券をプロットし、x軸ラベルを
Yield (%)、y軸ラベルをBond Price (USD)に設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create an array of bond yields and convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])
# Add columns for different bonds
bond['bond_price_5Y'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=____, pmt=____, fv=____)
bond['bond_price_10Y'] = -npf.pv(rate=____, nper=____, pmt=____, fv=____)
# Plot graph of bonds
plt.plot(bond['bond_yield'], bond['bond_price_5Y'], label='5 Year Bond')
plt.plot(____, ____, label='10 Year Bond')
plt.xlabel(____)
plt.ylabel(____)
plt.legend()
plt.show()