开始使用免费开始使用

将您的代码封装成债券定价函数

在之前的练习中,您一步步完成了债券定价的计算。不过,如果要反复为许多债券计算价格,逐步执行所有步骤会很繁琐。幸运的是,您可以创建一个函数,对不同的债券重复执行相同的计算。

您创建的函数需要足够灵活,允许您输入债券的关键特征。结合我们之前的示例,函数需要能够接收面值、票面利率、到期时间以及到期收益率。

在本练习中,您将创建函数 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(___, ___, ___, ___)
编辑并运行代码