ฉันจะคำนวณระยะเวลาที่แก้ไขโดยใช้ Matlab ได้อย่างไร?

ฉันจะคำนวณระยะเวลาที่แก้ไขโดยใช้ Matlab ได้อย่างไร?
Anonim
a:

ระยะเวลาที่ปรับเปลี่ยนจะวัดความไวของตราสารหนี้ที่เกิดจากการเปลี่ยนแปลงของอัตราดอกเบี้ย ในการคำนวณระยะเวลาที่แก้ไขใน Matlab ให้ระบุอัตราดอกเบี้ยคูปองของตราสารหนี้วันที่ชำระบัญชีวันที่ครบกำหนดและอัตราผลตอบแทนให้ครบกำหนดทุกครึ่งปี ฟังก์ชันที่คำนวณระยะเวลาที่แก้ไขใน Matlab สำหรับผลผลิตหนึ่ง ๆ เรียกว่า "bnddury" และคำสั่งคือ "result = bnddury (Yield, CouponRate, Settle, Maturity)" ถ้าคุณต้องการคำนวณระยะเวลาที่เปลี่ยนแปลงจากราคาปัจจุบันของพันธบัตรแทนที่จะเป็นอัตราผลตอบแทนให้ทำโดยใช้ฟังก์ชัน "bnddurp" และเรียกใช้คำสั่ง "result = bnddurp (Price, CouponRate, Settle, Maturity)" ผลในทั้งสองกรณีเป็นเมทริกซ์ที่มีอาร์เรย์สามตัวที่มีระยะเวลาการแก้ไขระยะเวลา Macaulay ในปีและระยะเวลา Macaulay ในช่วงครึ่งปี

ระยะเวลาที่มีการแก้ไขเป็นแนวคิดที่ระบุว่าราคาพันธบัตรและอัตราดอกเบี้ยมีความสัมพันธ์กันอย่างผกผัน ระยะเวลาที่แก้ไขจะคำนวณเป็นระยะเวลา Macaulay / (1 + yield / n) โดย n คือความถี่ประนอมต่อปี ระยะเวลา Macaulay เป็นระยะเวลาเฉลี่ยที่ถ่วงน้ำหนักจนถึงการชำระคืนพันธบัตรและวัดเป็นเวลาหลายปี ระยะเวลาที่ปรับเปลี่ยนจะวัดความไวของราคาพันธบัตรต่อการเปลี่ยนแปลงของอัตราผลตอบแทนและวัดเป็นเปอร์เซ็นต์

พิจารณาผู้ลงทุนที่สนใจในการคำนวณระยะเวลาการแก้ไขพันธบัตรโดยมีระยะเวลาตั้งวันที่ 2 สิงหาคม 2542 ครบกำหนดไถ่ถอนวันที่ 15 มิถุนายน 2547 อัตราดอกเบี้ย 5. 5% การชำระเงินคูปองต่อปีและวันนับพื้นฐานของจริง / จริง นักลงทุนมีความสนใจในการทราบระยะเวลาการแก้ไขเมื่อผลตอบแทนของตลาดสำหรับพันธบัตรนี้คือ 4%

ก่อนอื่นนักลงทุนจำเป็นต้องสร้างตัวแปรสำหรับผลผลิตที่มีคำสั่ง "Yield = 0. 04" อัตราดอกเบี้ยที่มีคำสั่ง "CouponRate = 0 055" วันที่ชำระบัญชีพร้อมคำสั่ง "Settle = '02 -Aug-1999 '" , วันที่ครบกำหนดพร้อมคำสั่ง "Maturity = '15 -Jun-2004 '", ความถี่การชำระเงินคูปองโดยมีคำสั่ง "Period = 2" และวันนับด้วยคำสั่ง "Basis = 0" โปรดทราบว่าตัวแปรสำหรับวันที่ชำระบัญชีและวันที่ครบกำหนดต้องเป็นตัวเลขวันที่อนุกรมหรือสตริงวันที่

คำสั่ง "result = bnddury (Yield, CouponRate, Settle, Maturity)" สร้างผลลัพธ์เมทริกซ์ที่มีตัวเลขสามตัวซึ่งแสดงถึงระยะเวลาที่แก้ไขคือ 4.24, Macaulay ระยะเวลาเป็นประจำทุกปี 4. ระยะเวลาการค้ำจุน 33 และ Macaulay เป็นระยะ ๆ ละครึ่งปี 8. 66.

หากนักลงทุนไม่มีผลตอบแทนในระยะเวลาครบกำหนด แต่มีราคาของพันธบัตรโดยที่เขาต้องการคำนวณระยะเวลาที่แก้ไข สามารถทำได้โดยการใช้ฟังก์ชัน "bnddurp" สมมติว่าพันธบัตรเดิมมีราคา 106 นักลงทุนต้องระบุตัวแปรราคาด้วยคำสั่ง "Price = 106"คำสั่ง "result = bnddurp (Price, CouponRate, Settle, Maturity)" ให้ผลลัพธ์ที่คล้ายคลึงกันเนื่องจากฟังก์ชัน "bnddury" ทำ

นักลงทุนยังสามารถระบุวันนับที่แตกต่างกันได้ด้วยการระบุค่าตัวเลขต่างๆจาก 0 ถึง 13 สำหรับตัวแปร "ฐาน" ตัวอย่างเช่นค่า 1 หมายถึง 30/360 พื้นฐาน 2 สำหรับค่าจริง / 360 และ 3 ย่อมาจากพื้นฐานจริง / 365 นอกจากนี้ผู้ลงทุนสามารถระบุพารามิเตอร์อื่น ๆ เช่นวันคูปองวันที่คูปองล่าสุดและกฎของเดือนที่สิ้นสุด