開始使用免費開始

繪製債券價格對殖利率的關係圖

將債券價格對殖利率畫成圖,可以幫助你探索在市場利率不同水準下,單一債券或債券投組會發生什麼變化。

現在你要建立一張債券價格對殖利率的圖,不過這次是針對兩檔到期年限不同的債券。你會透過在 pandas DataFrame 中加入額外欄位,來代表每一檔新增的債券。這兩檔債券的票面利率都為 5%,但你將分別繪製 5 年期與 10 年期債券。

numpynumpy_financialpandasmatplotlib 已分別以 npnpfpdplt 匯入。

本練習屬於課程

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

檢視課程

練習說明

  • 建立一個從 0 到 20(不含 20)、以 0.1 為間距的債券殖利率陣列。
  • 將此陣列轉為 pandas DataFrame,並將欄位命名為 bond_yield
  • 再新增兩個欄位,分別代表兩檔債券(5 年期與 10 年期),並在給定殖利率水準下計算其價格。
  • 繪製這些債券的圖表,將 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()
編輯並執行程式碼