Перетворіть свій код на функцію оцінювання облігації
У попередніх вправах ви крок за кроком розраховували вартість облігації. Але повторювати всі ці кроки для великої кількості облігацій незручно. На щастя, можна створити функцію, яка виконуватиме ті самі обчислення багаторазово для різних облігацій.
Функція, яку ви створите, має бути гнучкою й дозволяти вводити ключові характеристики облігації. З огляду на наш приклад, функція має враховувати номінальну вартість облігації, купонну ставку, час до погашення та дохідність.
У цій вправі ви створите функцію bondprc, яка приймає ці чотири вхідні параметри, щоб обчислити вартість облігації. Нагадаємо, що для створення функції можна використати шаблон function(input 1, input 2, ...) { [lines of code] }.
Ця вправа є частиною курсу
Оцінювання та аналіз облігацій в R
Інструкції до вправи
- У вашому робочому середовищі згенеровано частково підготовлену функцію
bondprc. Завершіть її, сконструювавши командуfunction()і зазначивши назви чотирьох вхідних параметрів: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(___, ___, ___, ___)