Memplot convexity vs. faktor
Cara lain untuk memeriksa pengaruh suatu faktor terhadap convexity obligasi adalah dengan langsung memplot grafik faktor tersebut terhadap convexity obligasi.
Dalam latihan ini, Anda akan menghitung harga obligasi 20 tahun dengan kupon 6% dan nilai nominal USD 100, lalu mencari convexity obligasi ini untuk berbagai tingkat imbal hasil (yield).
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 array imbal hasil (yield) obligasi dari 0 hingga 20 dengan kenaikan 0,1 dan konversikan ke
pandasDataFrame. - Cari harga obligasi, geser yield naik dan turun lalu hitung ulang harganya, kemudian hitung convexity obligasi.
- Plot grafik yield obligasi pada sumbu x terhadap convexity pada sumbu y.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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')
____