aboutsummaryrefslogtreecommitdiffstats
path: root/R/build_SC.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/build_SC.R')
-rw-r--r--R/build_SC.R25
1 files changed, 13 insertions, 12 deletions
diff --git a/R/build_SC.R b/R/build_SC.R
index 681afc63..49ca301c 100644
--- a/R/build_SC.R
+++ b/R/build_SC.R
@@ -45,8 +45,8 @@ global.params$beta <- 15
global.params$shape <- function(T)0.25+(1-exp(-T/5))
dealnames <- listdealnames()
-
dealnames <- c("abcl071", "ammcclo5", "atr4cdo", "atr5cdo", "blumt3", "callid6", "goldl5", "limes", "oceant2", "symph4")
+calibration.date <- Sys.Date()
cusipdata <- cusip.data()
do <- function(deal.name){
@@ -60,7 +60,7 @@ do <- function(deal.name){
deal.weights <- deal.portfolio$notional/sum(deal.portfolio$notional)
deal.dates <- getdealschedule(deal.data)
deal.spread <- portfoliospread(deal.portfolio, hy19$maturity)
- save.dir <- file.path(root.dir, "Scenarios", paste("Portfolios", Sys.Date(), sep="_"))
+ save.dir <- file.path(root.dir, "Scenarios", paste("Portfolios", calibration.date, sep="_"))
if(!file.exists(save.dir)){
dir.create(save.dir)
}
@@ -70,7 +70,7 @@ do <- function(deal.name){
}
load.portfolio <- function(dealname){
- load(file.path(root.dir, "Scenarios", paste("Portfolios", Sys.Date(), sep="_"), paste0(dealname, ".RData")), .GlobalEnv)
+ load(file.path(root.dir, "Scenarios", paste("Portfolios", calibration.date, sep="_"), paste0(dealname, ".RData")), .GlobalEnv)
}
## build portfolio data
@@ -78,7 +78,6 @@ for(deal.name in dealnames){
do(deal.name)
}
-calibration.date <- "2013-01-04"
calibration <- read.table(file.path(root.dir, "Scenarios", paste0("calibration-", calibration.date,".csv")),
sep=",", header=T)
Z <- calibration$Z
@@ -92,7 +91,7 @@ support <- seq(0, 1, length=Ngrid)
useCluster <- TRUE
for(deal.name in dealnames){
- load(file.path(root.dir, "Scenarios", "Portfolios", paste(deal.name, "RData", sep=".")))
+ load(file.path(root.dir, "Scenarios", paste("Portfolios",calibrarion.date, sep="_"), paste(deal.name, "RData", sep=".")))
dp <- A$DP
pp <- A$PP
@@ -165,16 +164,18 @@ for(deal.name in dealnames){
cdrmonthly[i,] <- approx(deal.dates, cdr[i,], deal.datesmonthly, rule=2)$y
recoverymonthly[i,] <- approx(deal.dates, intexrecov[i,], deal.datesmonthly, rule=2)$y
}
-
- write.table(cdrmonthly, file=file.path(root.dir, "Scenarios", "Intex curves", "csv",
- paste0(deal.name,"-cdr.csv")),
+ save.dir <- file.path(root.dir, "Scenarios", paste("Intex curves", calibration.date, sep="_"), "csv")
+ if(!file.exists(save.dir)){
+ dir.create(save.dir)
+ }
+ write.table(cdrmonthly,
+ file= file.path(save.dir, paste0(deal.name,"-cdr.csv")),
row.names=F, col.names=F, sep=",")
- write.table(recoverymonthly * 100, file=file.path(root.dir, "Scenarios", "Intex curves", "csv",
- paste0(deal.name,"-recovery.csv")),
+ write.table(recoverymonthly * 100,
+ file=file.path(save.dir, paste0(deal.name,"-recovery.csv")),
row.names=F, col.names=F, sep=",")
write.table(rbind(100*reinvloanprice, 100*reinvbondprice),
- file = file.path(root.dir, "Scenarios", "Intex curves", "csv",
- paste0(deal.name,"-reinvprices.csv")),
+ file = file.path(save.dir, paste0(deal.name,"-reinvprices.csv")),
row.names=F, col.names=F, sep=",")
cat("generated scenarios for:", deal.name, "\n")
}