開始使用免費開始

繪製凸性與因子的關係圖

檢視某個因子對債券凸性的影響,另一個方法是直接將該因子與債券凸性繪成圖來觀察。

在這個練習中,你會對一檔到期年限 20 年、票面利率 6%、面額 100 美元的債券定價,接著在不同殖利率水準下計算此債券的凸性。

numpynumpy_financialpandasmatplotlib 已分別以 npnpfpdplt 匯入供你使用。

本練習屬於課程

使用 Python 進行債券評價與分析

檢視課程

練習說明

  • 建立從 0 到 20、步長為 0.1 的債券殖利率陣列,並轉換為 pandas 的 DataFrame。
  • 計算該債券價格,將殖利率分別上調與下調後重新定價,然後計算債券的凸性。
  • 繪製圖表:x 軸為債券殖利率,y 軸為凸性。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create array of bond yields and covert to pandas DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Find price of bond, reprice for higher and lower yields, calculate convexity
bond['price'] = -npf.pv(rate=bond['____'] / 100, nper=____, pmt=____, fv=____)
bond['price_up'] = ____
bond['price_down'] = ____
bond['convexity'] = (bond['____'] + bond['____'] - 2 * bond['____']) / (bond['____'] * 0.01 ** 2)

# Create plot of bond yields against convexity, add labels to axes, display plot
plt.plot(bond['____'], bond['____'])
plt.xlabel('Yield (%)')
plt.ylabel('Convexity')
____
編輯並執行程式碼