uniroot: ошибка в f (нижний, ...): аргумент "" отсутствует, без значения по умолчанию - PullRequest
0 голосов
/ 01 декабря 2018

Разработка функции для расчета доходности к погашению по облигации, но продолжаю получать:

Ошибка в f (нижняя, ...): отсутствует аргумент "coupon_rate", без значения по умолчанию

Входные данные:

  • face_value: 1000
  • coupon_rate: 0.1
  • цена: 101
  • no_comp: 1
  • срок владения: 3

Я понятия не имею, что нужно изменить, чтобы исправить это.Мысли?

Полный код:

ytm <- function(face_value, coupon_rate, price, no_comp, tenure) {
  bval <- function(i, face_value, coupon_rate, price, no_comp, tenure, t=seq(along = cf)) {
    coupon_payment = face_value * coupon_rate
    cf <-  c(-face_value*(price/100),rep(c(coupon_payment), (no_comp * tenure -1)), face_value + coupon_payment)
    sum(cf / (1 + i)^t)
  }
  coupon_payment = face_value * coupon_rate
  cf <-  c(-face_value*(price/100),rep(c(coupon_payment), (no_comp * tenure -1)), face_value + coupon_payment)
  uniroot(ytm, interval=c(0, 20))$root
}

ytm(1000, 0.1, 101, 1, 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...