diff options
Diffstat (limited to 'R/intex_deal_functions.R')
| -rw-r--r-- | R/intex_deal_functions.R | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/R/intex_deal_functions.R b/R/intex_deal_functions.R index b464ff01..40791526 100644 --- a/R/intex_deal_functions.R +++ b/R/intex_deal_functions.R @@ -22,21 +22,18 @@ source(file.path(root.dir, "code", "R", "cds_functions_generic.R")) source(file.path(root.dir, "code", "R", "etdb.R"))
source(file.path(root.dir, "code", "R", "tranche_functions.R"))
-getdealdata <- function(dealnames, date){
- if(missing(date)){
- sqlstring <- sprintf("select * from latest_clo_universe where dealname in ('%s')",
- paste(dealnames, collapse="','"))
- }else{
- sqlstring <- paste("SELECT b.* FROM (SELECT MAX(\"Latest Update\") AS latestdate,",
- "dealname FROM clo_universe WHERE \"Latest Update\"<='%s' AND dealname in ('%s')",
- "GROUP BY dealname) a JOIN clo_universe b ON a.dealname = b.dealname",
- "AND a.latestdate= b.\"Latest Update\" ORDER by dealname asc")
- sqlstring <- sprintf(sqlstring, date, paste(dealnames, collapse="','"))
- }
- data <- dbGetQuery(dbCon, sqlstring)
- data <- data[match(dealnames, data$dealname),]
- rownames(data) <- c()
- return( data )
+getdealdata <- function(dealname, workdate){
+ sqlstring <- paste0("select marketvalue from et_deal_model_numbers where dealname='%s' and ",
+ "updatedate in (select max(updatedate) from et_deal_model_numbers where ",
+ "dealname = '%s' and updatedate<='%s')")
+ sqlstring <- sprintf(sqlstring, dealname, dealname, workdate)
+ mv <- dbGetQuery(dbCon, sqlstring)$marketvalue
+ sqlstring <- sprintf(paste0("select \"Curr Collat Bal\", \"Reinv End Date\", ",
+ "\"Deal Next Pay Date\" , maturity, \"Principal Bal\" from ",
+ "historical_clo_universe('%s', '%s')"), dealname, workdate)
+ dealdata <- dbGetQuery(dbCon, sqlstring)
+ dealdata$mv <- mv
+ return(dealdata)
}
getcollateral <- function(dealname, date){
|
