Оценка и анализ облигаций на R
Clifford Ang
Senior Vice President, Compass Lexecon
bondprc()p — номинальная стоимостьr — ставка купонаttm — срок до погашенияy — доходностьcf <- c(rep(p * r, ttm - 1), p * (1 + r))
rep(x, y) — повторяет значение x y разx = p * r = купонный платёжy = ttm - 1 = срок до погашения минус один годp * (1 + r) = основной долг + последний купонный платёжcf <- data.frame(cf)
cf$t <- as.numeric(rownames(cf))
rownames() вектора cf равны 1, 2, 3, 4, ... до значения ttmas.numeric() нужен для корректного чтения значений как чиселcf$pv_factor <- 1 / (1 + y)^cf$t
cf$pv <- cf$cf * cf$pv_factor
sum(cf$pv)
bondprc()p, r, ttm и ybondprc <- function(p, r, ttm, y){
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)
}
Оценка и анализ облигаций на R