Wycena i analiza obligacji w R
Clifford Ang
Senior Vice President, Compass Lexecon
bondprc(), aby uprościć obliczeniap – wartość nominalnar – stopa kuponowattm – czas do zapadalnościy – rentownośćcf <- c(rep(p * r, ttm - 1), p * (1 + r))
rep(x, y) – powtarza wartość x przez y razyx = p * r = płatność kuponoway = ttm - 1 = czas do zapadalności minus jeden rokp * (1 + r) = kapitał + ostatnia płatność kuponowacf <- data.frame(cf)
cf$t <- as.numeric(rownames(cf))
rownames() wektora cf przyjmuje wartości 1, 2, 3, 4, ... do ttm obligacjias.numeric() zapewnia odczytanie wartości jako liczbcf$pv_factor <- 1 / (1 + y)^cf$t
cf$pv <- cf$cf * cf$pv_factor
sum(cf$pv)
bondprc()p, r, ttm i 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)
}
Wycena i analiza obligacji w R