aboutsummaryrefslogtreecommitdiffstats
path: root/R
diff options
context:
space:
mode:
Diffstat (limited to 'R')
-rw-r--r--R/build_SC.R25
-rw-r--r--R/intex_deal_functions.R2
2 files changed, 14 insertions, 13 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")
}
diff --git a/R/intex_deal_functions.R b/R/intex_deal_functions.R
index 086b2dcc..aa3e791c 100644
--- a/R/intex_deal_functions.R
+++ b/R/intex_deal_functions.R
@@ -173,7 +173,7 @@ buildSC <- function(line.item, reinvdate, dealmaturity, global.params, startdate
if(!is.na(line.item$iscdo) && line.item$iscdo && is.na(line.item$price)){
##we have prices for some cdos e.g. 210795PS3
if(length(line.item$orig_moody)==0){
- line.item$orig.moody <- "NR"
+ line.item$orig_moody <- "NR"
}
line.item$price <- as.numeric(global.params$cdoprices[gsub("\\d", "", line.item$orig_moody)])
}