diff options
| -rw-r--r-- | R/build_portfolios.R | 6 | ||||
| -rw-r--r-- | R/intex_deal_functions.R | 15 |
2 files changed, 9 insertions, 12 deletions
diff --git a/R/build_portfolios.R b/R/build_portfolios.R index acf3c11b..41661266 100644 --- a/R/build_portfolios.R +++ b/R/build_portfolios.R @@ -1,5 +1,6 @@ library("RQuantLib") library("yaml") +library(dplyr) args <- commandArgs(trailingOnly=TRUE) @@ -7,7 +8,6 @@ stopifnot((root.dir <- Sys.getenv("BASE_DIR")) != "") stopifnot((code.dir <- Sys.getenv("CODE_DIR")) != "") source("intex_deal_functions.R") source("yieldcurve.R") -source("serenitasdb.R") source("creditIndex.R") if(interactive()) { @@ -32,7 +32,9 @@ global.params <- yaml.load_file(file.path(code.dir, "etc", "params.yml")) cusipdata <- cusip.data(workdate) cashspread.discount <- 0 -currdealnames <- dbGetQuery(etdb, "select dealname from et_deal_model_numbers where updatedate=$1", list(workdate)) +currdealnames <- etdb %>% tbl("et_deal_model_numbers") %>% + filter(updatedate == !!workdate) %>% + select(dealname) %>% collect() ## build portfolio data for(i in seq_along(dealnames)){ deal.name <- dealnames[i] diff --git a/R/intex_deal_functions.R b/R/intex_deal_functions.R index 270fc07d..658cac4e 100644 --- a/R/intex_deal_functions.R +++ b/R/intex_deal_functions.R @@ -2,6 +2,7 @@ library(RQuantLib) library(data.table) library(doParallel) library(lossdistrib) +library(dplyr) hostname <- system("hostname", intern=TRUE) if(hostname=="debian"){ @@ -15,21 +16,15 @@ source("db.R") etdb <- dbConn("ET") getdealdata <- function(dealname, workdate){ - sqlstring <- paste0("select marketvalue from et_deal_model_numbers where dealname=$1 and ", - "updatedate in (select max(updatedate) from et_deal_model_numbers where ", - "dealname = $2 and updatedate<=$3)") - mv <- dbGetQuery(etdb, sqlstring, - params = list(dealname, dealname, workdate))$marketvalue + mv <- etdb %>% tbl("et_deal_model_numbers") %>% + filter(dealname == !!dealname, updatedate <= !! workdate) %>% + arrange(desc(updatedate)) %>% head(1) %>% pull(marketvalue) sqlstring <- paste0("select \"Curr Collat Bal\", reinv_end_date, ", "first_pay_date , maturity, \"Principal Bal\" , pay_day from ", "historical_clo_universe($1, $2)") dealdata <- dbGetQuery(etdb, sqlstring, params=list(dealname, workdate)) - if(!length(mv)){ - dealdata$mv <- NA - }else{ - dealdata$mv <- mv - } + dealdata$mv <- if(!length(mv)) NA else mv return(dealdata) } |
