aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/load_cf.R26
1 files changed, 13 insertions, 13 deletions
diff --git a/R/load_cf.R b/R/load_cf.R
index 715e2168..89511af0 100644
--- a/R/load_cf.R
+++ b/R/load_cf.R
@@ -179,26 +179,27 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
return( cfdata )
}
-getcusip_indicdata <- function(Cusip, dealname, date){
- sqlstr <- "SELECT DISTINCT isin FROM cusip_universe WHERE cusip=$1"
- r <- tryCatch(dbGetQuery(etdb, sqlstr, params=list(Cusip)),
- error = function(w) logerror(w$message))
- if(length(r$isin)>1){
+getcusip_indicdata <- function(cusip, dealname, date) {
+ cusip_universe <- tbl(etdb, "cusip_universe")
+ r <- cusip_universe %>%
+ filter(cusip == !!cusip) %>%
+ distinct(isin) %>% collect()
+ if(length(r$isin) > 1) {
stop("We have a problem")
}
- isinval <- r$isin[1]
+ isin <- r$isin
sqlstr <- "SELECT * FROM historical_dealname_universe($1, $2)"
r <- tryCatch(dbGetQuery(etdb, sqlstr, params = list(dealname, date)),
error = function(w) logerror(w$message))
- if(!is.na(isinval)){
- return(r %>% group_by(isin) %>% slice(1) %>%
- summarize(cusip, curr_balance, orig_balance, spread, curr_attach) %>%
+ if(!is.na(isin)) {
+ return(r %>% group_by(isin) %>% slice(1) %>% ungroup() %>%
arrange(desc(curr_attach)) %>%
- mutate(cum_bal = cumsum(curr_balance)) %>% filter(isin==isinval) )
- }else{
+ mutate(cum_bal = cumsum(curr_balance)) %>% filter(isin == !!isin) %>%
+ select(cusip, curr_balance, orig_balance, spread, curr_attach, cum_bal))
+ } else {
return(r %>% select(cusip, curr_balance, orig_balance, spread, curr_attach) %>%
arrange(desc(curr_attach)) %>%
- mutate(cum_bal = cumsum(curr_balance)) %>% filter(cusip==Cusip) )
+ mutate(cum_bal = cumsum(curr_balance)) %>% filter(cusip == !!cusip) )
}
}
@@ -279,7 +280,6 @@ getcusipcf <- function(params, cfdata, dist, tradedate=Sys.Date()){
return(cusipdata)
}
-
compute.delta <- function(indexdist, dealdata, cusip.pv, K1=0, K2=1){
dealweight <- dealdata$weight
dealprice <- dealdata$price