diff options
Diffstat (limited to 'R/script_calibrate_tranches.R')
| -rw-r--r-- | R/script_calibrate_tranches.R | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/R/script_calibrate_tranches.R b/R/script_calibrate_tranches.R index 44e6fe1c..44b5c7b5 100644 --- a/R/script_calibrate_tranches.R +++ b/R/script_calibrate_tranches.R @@ -23,13 +23,16 @@ if(length(args) >= 1){ workdate <- Sys.Date()
}
+futurequotes <- read.csv(file.path(root.dir, "data", "Yield Curves",
+ sprintf("futures-%s.csv", workdate)), header=F)
#retrieve yield curve data
MarkitData <- getMarkitIRData(workdate)
-L1m <- buildMarkitYC(MarkitData, dt = 1/12)
-L2m <- buildMarkitYC(MarkitData, dt = 1/6)
-L3m <- buildMarkitYC(MarkitData)
-L6m <- buildMarkitYC(MarkitData, dt = 1/2)
+L1m <- buildMarkitYC(MarkitData, futurequotes[,2], dt = 1/12)
+L2m <- buildMarkitYC(MarkitData, futurequotes[,2], dt = 1/6)
+L3m <- buildMarkitYC(MarkitData, futurequotes[,2])
+L6m <- buildMarkitYC(MarkitData, futurequotes[,2], dt = 1/2)
setEvaluationDate(as.Date(MarkitData$effectiveasof))
+setCalendarContext("UnitedStates/GovernmentBond")
## calibrate HY21
## calibrate the single names curves
@@ -47,11 +50,11 @@ hy21portfolio <- c() for(i in 1:nrow(nondefaulted)){
SC <- new("creditcurve",
recovery=nondefaulted$recovery[i]/100,
- startdate=today(),
+ startdate=workdate,
issuer=as.character(nondefaulted$ticker[i]))
quotes <- data.frame(maturity=cdsdates, upfront = as.numeric(nondefaulted[i,4:8]) /100,
running=rep(nondefaulted$running[i] * bps, 5))
- SC@curve <- cdshazardrate(quotes, nondefaulted$recovery[i]/100)
+ SC@curve <- cdshazardrate(quotes, nondefaulted$recovery[i]/100, workdate)
hy21portfolio <- c(hy21portfolio, SC)
}
|
