Альтернативний код для вектора грошових потоків
У наведеному вище прикладі ви могли закодувати вектор грошових потоків як cf <- c(3, 3, 3, 3, 3, 3, 3, 103).
Однак це може здаватися дещо виснажливим. Альтернатива — сформувати вектор грошових потоків за допомогою команди rep(). Виклик rep(x, y) автоматично повторює x y разів. Наприклад, rep(1, 4) еквівалентно c(1, 1, 1, 1).
У цій вправі ви побудуєте більш загальну функцію для обчислення вектора грошових потоків на основі набору вхідних даних: r для купонної ставки, p для номінальної вартості та ttm для строку до погашення. Для цього ви скористаєтеся командою rep().
Ця вправа є частиною курсу
Оцінювання та аналіз облігацій в R
Інструкції до вправи
- Напишіть альтернативну функцію для вектора грошових потоків, використовуючи
rep()і вхідні змінніr,pтаttm. Збережіть цю нову функцію якalt_cf. - Використайте
alt_cf, щоб згенерувати вектор грошових потоків із купонною ставкою (r) 3% (0.03), номінальною вартістю (p) $100 і строком до погашення (ttm) 8 років.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Code cash flow function
alt_cf <- function(r, p, ttm) {
c(rep(p * r, ___ - 1), ___ * (1 + ___))
}
# Generate cf vector
alt_cf(r = ___, p = ___, ttm = ___)