Кілька аргументів (2)
Розгляньмо складніший приклад. Пам'ятаєте теперішню вартість із курсу Introduction to R for Finance? Якщо ні, перегляньте відео тут. Ідея в тому, щоб дисконтувати гроші, які ви отримаєте в майбутньому, за певною відсотковою ставкою, щоб відобразити їхню вартість у сьогоднішніх доларах. Для цього використовується така загальна формула:
present_value <- cash_flow * (1 + i / 100) ^ -year
Було б зручно мати функцію, яка робить це обчислення за вас, наприклад у такому вигляді:
present_value <- pv(cash_flow, i, year)
Ця функція має працювати, якщо передати числові значення на кшталт pv(1500, 5, 2), а також якщо передати вектори однакової довжини, щоб обчислити цілий вектор теперішньої вартості за один раз!
Функція percent_to_decimal() доступна для використання.
Ця вправа є частиною курсу
Середній рівень R для фінансів
Інструкції до вправи
- Заповніть пропуски у функції так, щоб вона виконувала таке:
- Вимагала аргументи:
cash_flow,i,year - Створювала дисконтний множник:
(1 + i / 100). Скористайтеся функцієюpercent_to_decimal(), щоб перетворитиiна десятковий дріб. - Виконувала обчислення теперішньої вартості. Не зберігайте результат у змінній. Оскільки це останній виконаний рядок, значення буде повернено автоматично.
- Вимагала аргументи:
- Обчисліть теперішню вартість $1200 за відсотковою ставкою 7% для отримання через 3 роки.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Present value function
pv <- function(___, ___, ___) {
# Discount multiplier
mult <- 1 + ___(i)
# Present value calculation
___ * ___ ^ -___
}
# Calculate a present value
___