始める無料で始める

債券価格と利回りのプロット

債券価格と利回りの関係をグラフで可視化できると、市場の金利水準が変わったときに、特定の債券や債券ポートフォリオがどう動くかを検討するのに役立ちます。

ここでは、異なる満期の2つの債券について、価格と利回りのグラフを作成します。追加の債券ごとに、pandas のDataFrameに列を追加していきます。どちらの債券もクーポンは5%とし、満期は5年と10年をプロットします。

numpynumpy_financialpandasmatplotlib はそれぞれ npnpfpdplt としてインポート済みです。

この演習はコースの一部です

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()
コードを編集して実行