library(Rbbg) 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")) 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") corpcusips <- scan(file = file.path(root.dir, "data", "bbgcusips.txt"), what="char") corpcusips <- unique(corpcusips) secCorp <- paste(corpcusips, "Corp") dataCorp <- bdp(bbgCon, secCorp, fields.corp) corpcusips <- substr(rownames(dataCorp[which(!is.na(dataCorp$ISSUER)),]),1,9) dataCorp <- dataCorp[which(!is.na(dataCorp$ISSUER)),] rownames(dataCorp) <- substr(rownames(dataCorp), 1, 9) dataCorp <- data.frame(CUSIP=rownames(dataCorp), dataCorp, stringsAsFactors=FALSE) 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) 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") save(corpcusips, mtgecusips, dataCorp, dataMtge, file=file.path(root.dir, "data", "bloomberg_data.RData"))