Memplot harga obligasi terhadap yield
Kemampuan memplot grafik harga obligasi terhadap yield dapat membantu menyelidiki apa yang akan terjadi pada suatu obligasi atau portofolio obligasi untuk berbagai tingkat suku bunga di pasar.
Sekarang Anda akan membuat grafik harga obligasi terhadap yield, tetapi kali ini untuk dua obligasi dengan jatuh tempo berbeda. Anda akan melakukannya dengan menambahkan kolom ekstra pada DataFrame pandas untuk setiap obligasi tambahan. Obligasi yang akan Anda pertimbangkan sama-sama membayar kupon 5%, tetapi kini Anda akan memplot obligasi 5 tahun dan 10 tahun.
numpy, numpy_financial, pandas, dan matplotlib telah diimpor untuk Anda masing-masing sebagai np, npf, pd, dan plt.
Latihan ini adalah bagian dari kursus
Penilaian dan Analisis Obligasi dengan Python
Petunjuk latihan
- Buat sebuah array yield obligasi dari 0 hingga 20 (tidak termasuk) dengan kenaikan 0,1.
- Ubah array ini menjadi DataFrame
pandasdan beri nama kolombond_yield. - Tambahkan dua kolom lagi, masing-masing untuk setiap obligasi (5 tahun dan 10 tahun), dan cari harganya untuk tingkat yield tertentu.
- Plot grafik dari obligasi-obligasi ini, dengan label sumbu-x
Yield (%)dan label sumbu-yBond Price (USD).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()