另一种现金流向量的代码
在上面的示例中,您可能通过编写 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 = ___)