#this follow an example in test-suite/convertiblebond.cpp
#for ConvertibleFixedCouponBond
#set up arguments to build a pricing engine.
params <- list(tradeDate=Sys.Date()-2,
settleDate=Sys.Date(),
dt=.25,
interpWhat="discount",
interpHow="loglinear")
times <- seq(0,10,.1)
dividendYield <- DiscountCurve(params, list(flat=0.02), times)
riskFreeRate <- DiscountCurve(params, list(flat=0.05), times)
dividendSchedule <- data.frame(Type=character(0), Amount=numeric(0),
Rate = numeric(0), Date = as.Date(character(0)))
callabilitySchedule <- data.frame(Price = numeric(0), Type=character(0),
Date = as.Date(character(0)))
process <- list(underlying=50, divYield = dividendYield,
rff = riskFreeRate, volatility=0.15)
today <- Sys.Date()
bondparams <- list(exercise="am", faceAmount=100, divSch = dividendSchedule,
callSch = callabilitySchedule, redemption=100,
creditSpread=0.005, conversionRatio = 0.0000000001,
issueDate=as.Date(today+2),
maturityDate=as.Date(today+3650))
dateparams <- list(settlementDays=3,
dayCounter="Actual360",
period = "Once", calendar = "us",
businessDayConvention="Following"
)
coupon <- c(0.05)
ConvertibleFixedCouponBond(bondparams, coupon, process, dateparams)
#example with default value
ConvertibleFixedCouponBond(bondparams, coupon, process)
dateparams <- list(settlementDays=3,
dayCounter="Actual360")
ConvertibleFixedCouponBond(bondparams, coupon, process, dateparams)
bondparams <- list(creditSpread=0.005, conversionRatio = 0.0000000001,
issueDate=as.Date(today+2),
maturityDate=as.Date(today+3650))
ConvertibleFixedCouponBond(bondparams, coupon, process, dateparams)
Run the code above in your browser using DataLab