uniroot - 使用 uniroot 函数获取 YTM 的问题
问题描述
我正在尝试计算到期收益率,但下面函数的答案很奇怪......我正在寻找的正确答案...... get_ytm(100,3,0.04,4,108.8516) ---> 0.01
谁能解决我的误解?
get_ytm <- function(F,T,c,f,PV){
cf <- c(rep((F*c)/f,T*f-1), F*(1+c/f))
PV <- function(ytm,cf.,t=seq(along=cf.),f.=f){
cf.pv.factor <- exp(-ytm/f.*t)
cf.pv <- cf. * cf.pv.factor
sum(cf.pv)
}
uniroot(PV,c(0.001,0.2),cf.=cf,extendInt ="yes")$root
}
解决方案
推荐阅读
- python - 无法使用 Selenium 从网站上抓取文本
- excel - 如何使图形根据值更改颜色
- xml - 从 xpath 检索值和属性名称
- javascript - 如何从输入文本中获取剑道窗口内容
- apache-spark - 'winutils' 如何像 hadoop 一样工作?它的作用是什么?
- json - 将数据从云存储导入 BigQuery 时为非记录字段错误指定的 JSON 对象
- clang - 如何在 Cling 中使用 LLVM IR(或其他类似 REPL 的交互方式)?
- scala - 如何使用 Spark/Scala 中另一列的分隔符拆分列
- reactjs - 自定义按钮箭头轮播 Antd
- css - 如何在现有的 React 站点上实现主题切换器