aboutsummaryrefslogtreecommitdiffstats
path: root/R/load_bloomberg_data.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/load_bloomberg_data.R')
-rw-r--r--R/load_bloomberg_data.R55
1 files changed, 30 insertions, 25 deletions
diff --git a/R/load_bloomberg_data.R b/R/load_bloomberg_data.R
index c7a22a8f..6b7e36f5 100644
--- a/R/load_bloomberg_data.R
+++ b/R/load_bloomberg_data.R
@@ -1,16 +1,21 @@
-library(RPostgreSQL)
library(Rbbg)
-root.dir <- "//WDSENTINEL/share/CorpCDOs"
-source(file.path(root.dir, "code", "R", "etdb.R"))
+
+if(.Platform$OS.type == "unix"){
+ root.dir <- "/home/share/CorpCDOs"
+}else{
+ root.dir <- "//WDSENTINEL/share/CorpCDOs"
+}
+
load(file.path(root.dir, "data", "bloomberg_data.RData"))
-cusips <- dbGetQuery(dbCon, "select distinct upper(cusip) from et_collateral")
+
bbgCon <- blpConnect(throw.ticker.errors=FALSE)
fields.corp <- c("PX_LAST","LAST_UPDATE_DT","ISSUER","MATURITY","CPN","CPN_TYP",
"CPN_FREQ","FLT_SPREAD","LIBOR_FLOOR","LN_CURRENT_MARGIN",
"LN_COVENANT_LITE","SECOND_LIEN_INDICATOR","DEFAULTED", "PRICING_SOURCE")
-fields.mtge <- c("LAST_UPDATE_DT", "ISSUER","MATURITY","CPN","CPN_TYP","CPN_FREQ","FLT_SPREAD","RTG_MOODY","RTG_MDY_INITIAL")
+
+corpcusips <- scan(file = file.path(root.dir, "data", "bbgcusips.txt"), what="char")
secCorp <- paste(corpcusips, "Corp")
dataCorp <- bdp(bbgCon, secCorp, fields.corp)
corpcusips <- substr(rownames(dataCorp[which(!is.na(dataCorp$ISSUER)),]),1,9)
@@ -22,26 +27,26 @@ fh <- file(file.path(root.dir, "data", "bloomberg",
paste0("bloomberg_datacorp_", Sys.Date(), ".csv")),"wb")
write.csv(dataCorp, file=fh, row.names=F)
close(fh)
-
-
-chunkSize <- 5000
-dataMtge <- c()
-for(i in 1:(length(mtgecusips)/chunkSize)){
- cusipSample <- mtgecusips[((i-1)*chunkSize+1):(i*chunkSize)]
- secMtge <- paste(cusipSample, "Mtge")
- dataMtge <- rbind(dataMtge, bdp(bbgCon, secMtge, fields.mtge))
-}
-i <- i+1
-secMtge <- paste(mtgecusips[((i-1)*chunkSize+1):length(mtgecusips)], "Mtge")
-dataMtge <- rbind(dataMtge, bdp(bbgCon, secMtge, fields.mtge))
-mtgecusips <- substr(rownames(dataMtge[which(!is.na(dataMtge$ISSUER)),]),1,9)
-dataMtge <- dataMtge[which(!is.na(dataMtge$ISSUER)),]
-rownames(dataMtge) <- substr(rownames(dataMtge), 1, 9)
-dataMtge <- data.frame(CUSIP=rownames(dataMtge), dataMtge )
-fh <- file(file.path(root.dir, "data", "bloomberg",
-paste0("bloomberg_datamtge_", Sys.Date(), ".csv"), "wb"))
-write.csv(dataMtge, file=fh, row.names=F)
-close(fh)
+blpDisconnect(bbgCon)
+## fields.mtge <- c("LAST_UPDATE_DT", "ISSUER","MATURITY","CPN","CPN_TYP","CPN_FREQ","FLT_SPREAD","RTG_MOODY","RTG_MDY_INITIAL")
+## chunkSize <- 5000
+## dataMtge <- c()
+## for(i in 1:(length(mtgecusips)/chunkSize)){
+## cusipSample <- mtgecusips[((i-1)*chunkSize+1):(i*chunkSize)]
+## secMtge <- paste(cusipSample, "Mtge")
+## dataMtge <- rbind(dataMtge, bdp(bbgCon, secMtge, fields.mtge))
+## }
+## i <- i+1
+## secMtge <- paste(mtgecusips[((i-1)*chunkSize+1):length(mtgecusips)], "Mtge")
+## dataMtge <- rbind(dataMtge, bdp(bbgCon, secMtge, fields.mtge))
+## mtgecusips <- substr(rownames(dataMtge[which(!is.na(dataMtge$ISSUER)),]),1,9)
+## dataMtge <- dataMtge[which(!is.na(dataMtge$ISSUER)),]
+## rownames(dataMtge) <- substr(rownames(dataMtge), 1, 9)
+## dataMtge <- data.frame(CUSIP=rownames(dataMtge), dataMtge )
+## fh <- file(file.path(root.dir, "data", "bloomberg",
+## paste0("bloomberg_datamtge_", Sys.Date(), ".csv"), "wb"))
+## write.csv(dataMtge, file=fh, row.names=F)
+## close(fh)
## save(corpcusips, mtgecusips, dataCorp, dataMtge, file="bloomberg_data.RData")