diff options
Diffstat (limited to 'R/deal_pricer.R')
| -rw-r--r-- | R/deal_pricer.R | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/R/deal_pricer.R b/R/deal_pricer.R new file mode 100644 index 00000000..0fb821de --- /dev/null +++ b/R/deal_pricer.R @@ -0,0 +1,22 @@ +library(RPostgreSQL) +drv <- dbDriver("PostgreSQL") +dbCon <- dbConnect(drv, dbname="ET", user="et_user", password="Serenitas;1") +dealnames <- dbGetQuery(dbCon, "select dealname from clo_universe") +pricingcoverage <- c() +for (dealname in dealnames$dealname){ + r <- dbGetQuery(dbCon, paste( + paste("select sum(currentbalance* coalesce(b.bid,c.price))/sum(currentbalance) as wap,", + "sum(currentbalance) as pricedbalance from et_collateral a", + "left join latest_markit_prices b on a.loanxid=b.loanxid", + "left join bloomberg_corp c on a.cusip=c.cusip", + "where a.dealname='"), + dealname, + "' and coalesce(b.bid,c.price) is not Null",sep="")) + s <- dbGetQuery(dbCon, + paste("select sum(currentbalance) as totalbalance from et_collateral where dealname='",dealname,"'",sep="")) + pricingcoverage <- rbind(pricingcoverage, c(dealname,r$wap,r$pricedbalance/s$totalbalance)) +} +pricingcoverage <- data.frame(dealname=dealnames$dealname,wap=as.numeric(pricingcoverage[,2]), coverage = as.numeric(pricingcoverage[,3])) + +dbDisconnect(dbCon) + |
