Ubah kode Anda menjadi fungsi

Penilaian dan Analisis Obligasi di R

Clifford Ang

Senior Vice President, Compass Lexecon

Fungsi penilaian obligasi

  • Kita akan menilai banyak obligasi di kursus ini
  • Langkah pada bab sebelumnya akan diulang
  • Kita buat fungsi bondprc() untuk menyederhanakan perhitungan
Penilaian dan Analisis Obligasi di R

Langkah dalam penilaian obligasi

  • Umumkan input berikut:
    • p untuk nilai pari
    • r untuk kupon
    • ttm untuk jatuh tempo
    • y untuk imbal hasil
  • Kita juga membuat sebagian kode lebih generik
Penilaian dan Analisis Obligasi di R

Langkah dalam penilaian obligasi

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) - mengulang nilai x sebanyak y kali
  • x = p * r = pembayaran kupon
  • y = ttm - 1 = waktu hingga jatuh tempo dikurangi satu tahun
  • p * (1 + r) = pokok + kupon terakhir
Penilaian dan Analisis Obligasi di R

Langkah dalam penilaian obligasi

cf <- data.frame(cf)
  • Ubah ke data frame agar dapat menambah variabel (seperti bagian sebelumnya)
cf$t <- as.numeric(rownames(cf))
  • Buat indeks waktu untuk diskonto
    • rownames() dari vektor cf adalah 1, 2, 3, 4, hingga ttm obligasi
    • as.numeric() memastikan nilainya dibaca sebagai angka
Penilaian dan Analisis Obligasi di R

Langkah dalam penilaian obligasi

cf$pv_factor <- 1 / (1 + y)^cf$t
  • Hitung faktor PV
cf$pv <- cf$cf * cf$pv_factor
  • Hitung PV tiap arus kas
sum(cf$pv)
  • Jumlahkan PV untuk memperoleh nilai obligasi
Penilaian dan Analisis Obligasi di R

Bungkus kodenya

  • Buat fungsi bondprc()
  • Masukan: p, r, ttm, dan y
bondprc <- function(p, r, ttm, y){
   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)
}
Penilaian dan Analisis Obligasi di R

Ayo berlatih!

Penilaian dan Analisis Obligasi di R

Preparing Video For Download...