aboutsummaryrefslogtreecommitdiffstats
path: root/R/build_portfolios.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/build_portfolios.R')
-rw-r--r--R/build_portfolios.R56
1 files changed, 29 insertions, 27 deletions
diff --git a/R/build_portfolios.R b/R/build_portfolios.R
index 4e2f1584..a4465521 100644
--- a/R/build_portfolios.R
+++ b/R/build_portfolios.R
@@ -2,13 +2,16 @@ library("RQuantLib")
library("yaml")
args <- commandArgs(trailingOnly=TRUE)
-code.dir <- Sys.getenv("CODE_DIR")
if(.Platform$OS.type == "unix"){
root.dir <- "/home/share/CorpCDOs"
}else{
root.dir <- "//WDSENTINEL/share/CorpCDOs"
}
+code.dir <- Sys.getenv("CODE_DIR")
+if(code.dir==""){
+ code.dir <- root.dir
+}
source(file.path(code.dir, "code", "R", "intex_deal_functions.R"), chdir=TRUE)
source(file.path(code.dir, "code", "R", "yieldcurve.R"))
@@ -76,33 +79,32 @@ for(i in seq_along(dealnames)){
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 dealspread5y = %s,",
- "dealspread = %s, cdopercentage = %s, stalepercentage= %s, ",
- "marketvalue = %s",
- "WHERE dealname= '%s' and updatedate = '%s'"),
- deal.spread5y,
- deal.spreadatmaturity,
- deal.portfolio$cdopercentage,
- deal.portfolio$stale,
- mv,
- deal.name,
- as.Date(workdate))
- dbSendQuery(dbCon, sqlstring)
+ sqlstring <- paste0("UPDATE et_deal_model_numbers SET dealspread5y = $1,",
+ "dealspread = $2, cdopercentage = $3, stalepercentage= $4, ",
+ "marketvalue = $5",
+ "WHERE dealname= $6 and updatedate = $7")
+ r <- dbSendQuery(sqlstring,params = list(deal.spread5y,
+ deal.spreadatmaturity,
+ deal.portfolio$cdopercentage,
+ deal.portfolio$stale,
+ mv,
+ deal.name,
+ workdate))
+ if(dbHasCompleted(r)){
+ dbClearResult(r)
+ }
}else{
- sqlstring <- sprintf(paste0("INSERT INTO et_deal_model_numbers",
- "(dealname, cdopercentage, stalepercentage,",
- "dealspread5y, marketvalue, updatedate, dealspread) ",
- "VALUES('%s', %s, %s, %s, %s, '%s', %s)"),
- deal.name,
- deal.portfolio$cdopercentage,
- deal.portfolio$stale,
- deal.spread5y,
- mv,
- workdate,
- deal.spreadatmaturity
- )
- dbSendQuery(dbCon, sqlstring)
+ sqlstring <- paste0("INSERT INTO et_deal_model_numbers",
+ "(dealname, cdopercentage, stalepercentage,",
+ "dealspread5y, marketvalue, updatedate, dealspread) ",
+ "VALUES($1, $2, $3, $4, $5, $6, $7)")
+ r <- dbSendQuery(dbCon, sqlstring, params = list(deal.name,
+ deal.portfolio$cdopercentage,
+ deal.portfolio$stale,
+ deal.spread5y,mv,workdate,deal.spreadatmaturity))
+ if(dbHasCompleted(r)){
+ dbClearResult(r)
+ }
currdealnames <- c(currdealnames, deal.name)
}
}