# Create input
yield.curve <- c(0.103,0.1034,0.1092, 0.1161, 0.1233, 0.1280, 0.1310, 0.1320, 0.1325, 0.1320)
names(yield.curve) <- c(0,0.08,0.25,0.5,1,2,3,5,7,10)
nodes <- seq(0,10,0.001)
market.assets <- matrix(NA,nrow = 10,ncol = 2)
market.assets[1,1] <- 0.1030 ; market.assets[2,1] <- 0.1044
market.assets[3,1] <- 0.1083 ; market.assets[4,1] <- 0.1010
market.assets[5,1] <- 0.1120 ; market.assets[6,1] <- 0.1130
market.assets[7,1] <- 0.1150 ; market.assets[8,1] <- 0.1160
market.assets[9,1] <- 0.1150 ; market.assets[10,1] <- 0.13
market.assets[1,2] <- "2019-01-03" ; market.assets[2,2] <- "2019-02-03"
market.assets[3,2] <- "2019-04-03" ; market.assets[4,2] <- "2019-07-03"
market.assets[5,2] <- "2020-01-03" ; market.assets[6,2] <- "2021-01-03"
market.assets[7,2] <- "2022-01-03" ; market.assets[8,2] <- "2024-07-03"
market.assets[9,2] <- "2026-01-03" ; market.assets[10,2] <- "2029-01-03"
# Function
curve.calibration (yield.curve = yield.curve, market.assets = market.assets,
analysis.date = "2019-01-03" , asset.type = "IBRSwaps",
freq = 4, daycount = "ACT/365", fwd = 0, nodes = nodes,
approximation = "linear")
Run the code above in your browser using DataLab