1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
library(RPostgreSQL)
library(Rbbg)
source('etdb.R')
load("bloomberg_data.RData")
cusips <- dbGetQuery(dbCon, "select distinct 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")
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 )
fh = file(paste0("//WDSENTINEL/share/CorpCDOs/data/bloomberg/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(paste0("//WDSENTINEL/share/CorpCDOs/data/bloomberg/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="bloomberg_data.RData")
|