การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python
Joshua Mayhew
Options Trader
พันธบัตรอายุ 3 ปี คูปองรายปี 3% มูลค่าหน้าตั๋ว USD 100 และอัตราผลตอบแทน 4%:

คำเตือน: คูปองมีค่าคงที่และไม่เปลี่ยนแปลง!
แยกพันธบัตรออกเป็นชุดพันธบัตรซีโร่คูปอง แล้วคำนวณราคาแต่ละส่วน:
พันธบัตรอายุ 3 ปี คูปองรายปี 3% มูลค่าหน้าตั๋ว USD 100 และอัตราผลตอบแทน 4%
ใช้สูตรดอกเบี้ยทบต้นที่เรียนไปก่อนหน้า:
$ \text{1yr ZCB Price: } \frac{3}{(1 + 0.04)^1} = 2.88$
$ \text{2yr ZCB Price: } \ \frac{3}{(1 + 0.04)^2} = 2.77$
$ \text{3yr ZCB Price: } \ \frac{103}{(1 + 0.04)^3} = 91.57$
$\text{Coupon Bond Price: } 2.88 + 2.77 + 91.57 = 97.22$
สูตรทั่วไปสำหรับคำนวณราคาพันธบัตรคูปอง:
$ 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}$
ใช้พันธบัตรอายุ 3 ปีเดิม คูปองรายปี 3% และอัตราผลตอบแทน 4%:
import numpy_financial as npf
-npf.pv(rate=0.04, nper=3, pmt=3, fv=100)
97.22
กำหนดให้ pmt เป็นค่าบวก
ใส่เครื่องหมายลบไว้หน้าฟังก์ชัน
กำหนด fv เป็น 100 ไม่ใช่ 103
การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python