Перетворіть свій код на функцію

Оцінювання та аналіз облігацій в R

Clifford Ang

Senior Vice President, Compass Lexecon

Функція оцінювання облігацій

  • У цьому курсі ми оцінюватимемо багато облігацій
  • Кроки з попереднього розділу повторюватимуться
  • Створимо функцію bondprc() для спрощення розрахунків
Оцінювання та аналіз облігацій в R

Кроки в оцінюванні облігацій

  • Узагальніть ці вхідні дані:
    • p — номінал
    • r — купонна ставка
    • ttm — час до погашення
    • y — дохідність
  • Також зробимо частину коду більш універсальною
Оцінювання та аналіз облігацій в R

Кроки в оцінюванні облігацій

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) — повторює значення x y разів
  • x = p * r = купонний платіж
  • y = ttm - 1 = час до погашення мінус один рік
  • p * (1 + r) = основний борг + фінальний купон
Оцінювання та аналіз облігацій в R

Кроки в оцінюванні облігацій

cf <- data.frame(cf)
  • Перетворіть на датафрейм, щоб додати змінні (як у попередньому розділі)
cf$t <- as.numeric(rownames(cf))
  • Створіть індекс часу для дисконтування
    • rownames() вектора cf дорівнюють 1, 2, 3, 4 до ttm облігації
    • as.numeric() потрібна, щоб значення зчитувалися як числа
Оцінювання та аналіз облігацій в R

Кроки в оцінюванні облігацій

cf$pv_factor <- 1 / (1 + y)^cf$t
  • Обчисліть фактор PV
cf$pv <- cf$cf * cf$pv_factor
  • Обчисліть PV кожного грошового потоку
sum(cf$pv)
  • Підсумуйте PV, щоб отримати вартість облігації
Оцінювання та аналіз облігацій в R

Оберніть код у функцію

  • Створіть функцію bondprc()
  • Вона приймає як вхідні дані p, r, ttm та 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)
}
Оцінювання та аналіз облігацій в R

Давайте потренуємось!

Оцінювання та аналіз облігацій в R

Preparing Video For Download...