始める無料で始める

デュレーションと要因のプロット

満期、クーポン、利回りなどの要因に対してデュレーションをプロットすると、その要因が債券のデュレーションにどう影響するかがよく分かります。

動画では、デュレーションを満期に対してプロットしました。この演習では、同じことをクーポン率で行います。利回り5%、額面USD 100、償還まで10年の債券を使用します。

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

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

Pythonで学ぶ債券の評価と分析

コースを見る

演習の手順

  • 0 から 10 までを 0.1 刻みとするクーポンの配列を作成し、pandas の DataFrame に変換します。
  • DataFrame に、債券用の priceprice_upprice_downduration の4列を追加します。
  • x軸に bond_coupon、y軸に duration をとってグラフをプロットします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])

# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)

# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()
コードを編集して実行