การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python
Joshua Mayhew
Options Trader
Duration = การเปลี่ยนแปลง % ของราคาพันธบัตรต่อการเปลี่ยนแปลงผลตอบแทน 1%
Dollar duration = การเปลี่ยนแปลงเป็น $ ของราคาพันธบัตรต่อการเปลี่ยนแปลงผลตอบแทน 1%:
บอกว่าจะได้กำไรหรือขาดทุนเป็นจำนวนเงินเท่าใดเมื่ออัตราดอกเบี้ยเปลี่ยนแปลง
$ \text{Dollar Duration} = \text{Duration} \times \text{Bond Price} \times 0.01$
DV01 = การเปลี่ยนแปลงเป็น $ ของราคาพันธบัตรต่อการเปลี่ยนแปลงผลตอบแทน 0.01%
0.01% = 1% ของ 1% = 1 basis point
ย่อมาจาก "dollar value of one basis point"
$ \text{DV01} = \text{Duration} \times \text{Bond Price} \times 0.0001$
พันธบัตรราคา USD 92.28 และ duration 7.98%:
dollar_duration = 92.28 * 7.98 * 0.01
print("Dollar Duration: ", dollar_duration)
Dollar Duration: 7.36
DV01 = 92.28 * 7.98 * 0.0001
print("DV01: ", DV01)
DV01: 0.0736
portfolio_dv01 = 10000
bond_dv01 = 0.0736
hedge_quantity = portfolio_dv01 / bond_dv01
print("Number of bonds to sell: ", hedge_quantity)
Number of bonds to sell: 135,869
bond_price = 92.28
hedge_amount = hedge_quantity * bond_price
print("Dollar amount to sell: USD", hedge_amount)
Dollar amount to sell: USD 12,538,043
$ \text{Price Change} = -100 \times \text{Dollar Duration} \times \Delta y$
ประมาณการเปลี่ยนแปลงราคาพันธบัตรหากอัตราดอกเบี้ยลดลง 3%:
-100 * 7.36 * -0.03
22.08
การเปลี่ยนแปลงจริงจากการคำนวณราคาใหม่:
-npf.pv(rate=0.02, nper=10, pmt=4, fv=100) - 92.28
25.69
การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python