Ubah kode Anda menjadi fungsi valuasi obligasi
Pada latihan sebelumnya, Anda telah menjalani langkah demi langkah cara menghitung nilai suatu obligasi. Namun, mengulangi semua langkah tersebut untuk menilai banyak obligasi akan merepotkan. Untungnya, Anda dapat membuat sebuah fungsi untuk melakukan perhitungan yang sama berulang kali untuk berbagai obligasi.
Fungsi yang Anda buat harus fleksibel agar memungkinkan Anda memasukkan fitur-fitur kunci obligasi. Merujuk contoh sebelumnya, Anda memerlukan fungsi yang dapat memasukkan nilai pari obligasi, tingkat kupon, waktu hingga jatuh tempo, dan imbal hasil.
Dalam latihan ini, Anda akan membuat fungsi bondprc yang menerima keempat masukan tersebut untuk menghitung nilai sebuah obligasi. Ingat bahwa untuk membuat fungsi Anda dapat menggunakan function(input 1, input 2, ...) { [lines of code] }.
Latihan ini adalah bagian dari kursus
Penilaian dan Analisis Obligasi di R
Petunjuk latihan
- Sebuah kerangka fungsi,
bondprc, telah dibuat di ruang kerja Anda. Lengkapi fungsi tersebut dengan menyusun perintahfunction()dan menyediakan nama untuk empat masukan:puntuk nilai pari,runtuk tingkat kupon,ttmuntuk waktu hingga jatuh tempo, danyuntuk imbal hasil. - Verifikasi bahwa fungsi
bondprcmemberikan harga sebesar $95.79 untuk nilai obligasi dengan nilai pari $100, tingkat kupon 5%, 5 tahun hingga jatuh tempo, dan imbal hasil hingga jatuh tempo 6%.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(___, ___, ___, ___)