แปลงโค้ดให้เป็นฟังก์ชันคำนวณมูลค่าพันธบัตร
ในแบบฝึกหัดก่อนหน้า คุณได้เรียนรู้วิธีคำนวณมูลค่าพันธบัตรทีละขั้นตอน อย่างไรก็ตาม การทำขั้นตอนเหล่านั้นซ้ำๆ สำหรับพันธบัตรหลายตัวอาจเป็นเรื่องยุ่งยาก โชคดีที่เราสามารถสร้างฟังก์ชันเพื่อรองรับการคำนวณเดิมซ้ำๆ สำหรับพันธบัตรต่างๆ ได้
ฟังก์ชันที่สร้างขึ้นต้องมีความยืดหยุ่น เพื่อให้รับค่าคุณสมบัติสำคัญของพันธบัตรได้ โดยอ้างอิงจากตัวอย่างก่อนหน้า ฟังก์ชันจะต้องรองรับค่าพาร์ อัตราคูปอง ระยะเวลาจนครบกำหนด และอัตราผลตอบแทน
ในแบบฝึกหัดนี้ คุณจะสร้างฟังก์ชัน bondprc ที่รับอินพุต 4 ค่าเพื่อคำนวณมูลค่าพันธบัตร โดยสามารถใช้ function(input 1, input 2, ...) { [lines of code] } ในการสร้างฟังก์ชัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประเมินมูลค่าและวิเคราะห์พันธบัตรด้วย R
คำแนะนำการฝึกหัด
- ฟังก์ชัน
bondprcที่สร้างไว้บางส่วนได้ถูกเพิ่มไว้ใน workspace ของคุณแล้ว ให้เติมส่วนที่เหลือด้วยการสร้างคำสั่งfunction()และระบุชื่ออินพุต 4 ตัว ได้แก่pสำหรับค่าพาร์,rสำหรับอัตราคูปอง,ttmสำหรับระยะเวลาจนครบกำหนด และyสำหรับอัตราผลตอบแทน - ตรวจสอบว่าฟังก์ชัน
bondprcให้ราคา $95.79 สำหรับพันธบัตรที่มีค่าพาร์ $100 อัตราคูปอง 5% ระยะเวลาจนครบกำหนด 5 ปี และอัตราผลตอบแทนจนครบกำหนด 6%
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create function
bondprc <- ___(___, ___, ___, ___) {
cf <- c(rep(p * r, ttm - 1), p * (1 + r))
cf <- data.frame(cf)
cf$t <- as.numeric(rownames(cf))
cf$pv_factor <- 1 / (1 + y)^cf$t
cf$pv <- cf$cf * cf$pv_factor
sum(cf$pv)
}
# Verify prior result
bondprc(___, ___, ___, ___)