Penilaian dan Analisis Obligasi dengan Python
Joshua Mayhew
Options Trader
Ambil obligasi 3 tahun dengan kupon tahunan 3%, nilai nominal USD 100, dan yield 4%:

PERINGATAN: Kupon tetap dan tidak berubah!
Kita memecah obligasi menjadi kumpulan obligasi tanpa kupon, lalu menentukannya harganya:
Obligasi 3 tahun dengan kupon tahunan 3%, nilai nominal USD 100, dan yield 4%
Menggunakan rumus bunga majemuk sebelumnya:
$ \text{Harga ZCB 1 thn: } \frac{3}{(1 + 0.04)^1} = 2.88$
$ \text{Harga ZCB 2 thn: } \ \frac{3}{(1 + 0.04)^2} = 2.77$
$ \text{Harga ZCB 3 thn: } \ \frac{103}{(1 + 0.04)^3} = 91.57$
$\text{Harga obligasi kupon: } 2.88 + 2.77 + 91.57 = 97.22$
Secara umum, rumus harga obligasi kupon:
$ Price = PV = \frac{C}{(1 + r)^1} + \frac{C}{(1 + r)^2} + ... +\frac{C}{(1 + r)^n} + \frac{P}{(1 + r)^n}$
$ = (\sum_{i=1}^n \frac{C}{(1 + r)^i}) + \frac{P}{(1 + r)^n}$
Ambil obligasi 3 tahun dengan kupon tahunan 3% dan imbal hasil hingga jatuh tempo 4%:
import numpy_financial as npf
-npf.pv(rate=0.04, nper=3, pmt=3, fv=100)
97.22
Kita set pmt bernilai positif.
Kita juga menambahkan tanda minus sebelum fungsi.
Kita set fv ke 100, bukan 103.
Penilaian dan Analisis Obligasi dengan Python