การพยากรณ์ผลกระทบต่อราคาจาก Duration
การใช้ duration เพื่อพยากรณ์ผลกระทบต่อราคาเป็นวิธีที่นิยมใช้กันมากในการบริหารพอร์ตพันธบัตรขนาดใหญ่ เนื่องจากการคำนวณราคาพันธบัตรทีละตัวจะใช้เวลามาก แทนที่จะทำเช่นนั้น เราสามารถหา dollar duration ของพอร์ตโฟลิโอแล้วนำมาใช้พยากรณ์การเปลี่ยนแปลงมูลค่าเมื่ออัตราดอกเบี้ยเปลี่ยนแปลงได้
ในแบบฝึกหัดนี้ จะได้ประมาณการเปลี่ยนแปลงราคาของพันธบัตรโดยใช้ duration จากนั้นเปรียบเทียบกับราคาจริงเพื่อดูว่าการประมาณนั้นแม่นยำเพียงใด
พันธบัตรมีอายุ 5 ปี อัตราดอกเบี้ยหน้าตั๋ว 7% อัตราผลตอบแทน 4% และมูลค่าที่ตราไว้ USD 100 ราคาปัจจุบันอยู่ที่ USD 113.36 และ dollar duration เท่ากับ USD 4.83 โดยจะพยากรณ์การเปลี่ยนแปลงราคาเมื่ออัตราดอกเบี้ยลดลง 2%
numpy_financial ถูกนำเข้ามาให้แล้วในชื่อ npf
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย Python
คำแนะนำการฝึกหัด
- กำหนดค่าราคาพันธบัตร dollar duration และการเปลี่ยนแปลงของอัตราผลตอบแทนให้กับตัวแปร
bond_price,dollar_durationและyield_changeตามลำดับ - คำนวณการเปลี่ยนแปลงราคาที่คาดการณ์ไว้โดยใช้ dollar duration
- คำนวณการเปลี่ยนแปลงราคาจริงโดยคำนวณราคาพันธบัตรที่อัตราผลตอบแทน 2% แล้วลบด้วยราคาเดิม
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Assign bond price, dollar duration, yield change to variables
bond_price = ____
dollar_duration = ____
yield_change = ____
# Predict bond price change using duration
price_prediction = ____ * ____ * ____
print("Predicted Change: USD ", ____)
# Find actual price change and compare
price_actual = -npf.pv(rate=____, nper=____, pmt=____, fv=____) - ____
print("Actual Change: USD ", ____)
print("Estimation Error: USD ", price_prediction - price_actual)