aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/build_portfolios.R6
-rw-r--r--R/intex_deal_functions.R15
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)
}