Проблема с получением YTM с помощью функции uniroot
Я пытаюсь вычислить доходность к погашению, но ответ для приведенной ниже функции странный... Правильный ответ, на который я смотрю... 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
}