多个参数(2)
让我们来看一个更复杂的示例。还记得在 Introduction to R for Finance 课程中学过的"现值"吗?如果不记得,您可以在这里回看该视频:here。其核心思想是:将未来某一时点收到的现金流,按特定利率进行折现,用今天的美元来表示这笔钱的价值。下面是一个通用公式:
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
___