diff options
Diffstat (limited to 'R/build_portfolios.R')
| -rw-r--r-- | R/build_portfolios.R | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/R/build_portfolios.R b/R/build_portfolios.R index 31c34000..1b49a287 100644 --- a/R/build_portfolios.R +++ b/R/build_portfolios.R @@ -80,33 +80,40 @@ for(deal.name in dealnames){ S <- 1 - sapply(deal.portfolio$SC, attr, "recov")
deal.weights <- deal.portfolio$notional/sum(deal.portfolio$notional)
deal.dates <- getdealschedule(deal.data)
- deal.spread <- portfoliospread(deal.portfolio, hy19$maturity)
+ deal.spread5y <- portfoliospread(deal.portfolio, hy19$maturity)
+ deal.spreadatmaturity <- portfoliospread(deal.portfolio)
save.dir <- file.path(root.dir, "Scenarios", paste("Portfolios", workdate, sep="_"))
if(!file.exists(save.dir)){
dir.create(save.dir)
}
- save(deal.portfolio, A, S, deal.weights, deal.dates, deal.spread,
- file=file.path(save.dir, paste0(deal.name, ".RData")))
+ save(deal.portfolio, A, S, deal.weights, deal.dates, deal.spread5y,
+ deal.spreadatmaturity, file=file.path(save.dir, paste0(deal.name, ".RData")))
cat(deal.name, "... done\n")
dealupdatedate <- currdealnames$updatedate[currdealnames$dealname %in% deal.name]
if(length(dealupdatedate) && dealupdatedate == workdate){
- sqlstring <- sprintf(paste0("UPDATE et_deal_model_numbers SET dealspread = %s, cdopercentage = %s,",
- "stalepercentage= %s WHERE dealname= '%s' and updatedate = '%s'"),
- deal.spread,
- deal.portfolio$cdopercentage,
- deal.portfolio$stale,
- deal.name,
- as.Date(workdate))
+ sqlstring <- sprintf(
+ paste0("UPDATE et_deal_model_numbers SET dealspread5y = %s,",
+ "dealspread = %s, cdopercentage = %s, stalepercentage= %s ",
+ "WHERE dealname= '%s' and updatedate = '%s'"),
+ deal.spread5y,
+ deal.spreadatmaturity,
+ deal.portfolio$cdopercentage,
+ deal.portfolio$stale,
+ deal.name,
+ as.Date(workdate))
dbGetQuery(dbCon, sqlstring)
}else{
sqlstring <- sprintf(paste0("INSERT INTO et_deal_model_numbers ",
- "VALUES('%s', %s, %s, %s, %s, '%s')"),
+ "VALUES('%s', %s, %s, %s, %s, '%s', '%s')"),
deal.name,
deal.portfolio$cdopercentage,
deal.portfolio$stale,
- deal.spread,
+ deal.spread5y,
crossprod(deal.portfolio$notional, deal.portfolio$price)/100,
- workdate)
+ workdate,
+ NULL,
+ deal.spreadatmaturity
+ )
dbGetQuery(dbCon, sqlstring)
currdealnames <- c(currdealnames, deal.name)
}
|
