Kodunu bir tahvil değerleme fonksiyonuna dönüştür
Önceki egzersizlerde, bir tahvilin değerini nasıl hesaplayacağını adım adım gördün. Ancak çok sayıda tahvili değerlemek için bu adımların hepsini tekrar tekrar yapmak zahmetli olacaktır. Neyse ki, aynı hesaplamaları farklı tahviller için tekrarlayan bir fonksiyon yazabilirsin.
Oluşturacağın fonksiyonun, tahvilin temel özelliklerini girdi olarak alabilecek esneklikte olması gerekir. Önceki örneğimize özel olarak, fonksiyonun nominal değer, kupon oranı, vade sonuna kalan süre ve getiri (yield) bilgilerini kullanabilmesi gerekiyor.
Bu egzersizde, bu dört girdiyi alarak bir tahvilin değerini hesaplayan bondprc fonksiyonunu oluşturacaksın. Unutma, bir fonksiyon oluşturmak için function(input 1, input 2, ...) { [kod satırları] } biçimini kullanabilirsin.
Bu egzersiz
R ile Tahvil Değerleme ve Analizi
kursunun bir parçasıdırEgzersiz talimatları
- Çalışma alanında kısmen oluşturulmuş
bondprcfonksiyonu var.function()komutunu yazarak ve dört girdinin adını belirterek fonksiyonu tamamla: nominal değer içinp, kupon oranı içinr, vade sonuna kalan süre içinttmve getiri içiny. bondprcfonksiyonunun, nominal değeri $100, kupon oranı %5, vade sonuna 5 yıl ve vade sonu getirisi %6 olan bir tahvil için $95.79 fiyatını verdiğini doğrula.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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(___, ___, ___, ___)