aboutsummaryrefslogtreecommitdiffstats
path: root/R
diff options
context:
space:
mode:
Diffstat (limited to 'R')
-rw-r--r--R/load_cds_data.R (renamed from R/bloomberg_cds.R)36
-rw-r--r--R/mlpdb.R29
2 files changed, 35 insertions, 30 deletions
diff --git a/R/bloomberg_cds.R b/R/load_cds_data.R
index 79717a36..ff41b6bd 100644
--- a/R/bloomberg_cds.R
+++ b/R/load_cds_data.R
@@ -1,33 +1,5 @@
-bbgConn <- blpConnect(host='192.168.1.108', port='8194')
-
-nameToBasketID <- function(name){
- index <- substr(name, 1, 2)
- series <- substr(name, 3, nchar(name))
- sqlstr <- "SELECT max(basketid) from index_desc where Index='%s' and Series=%s"
- r <- dbGetQuery(dbCon, sprintf(sqlstr, index, series))
- return(as.integer(r))
-}
-
-newbasketID <- function(series, offset){
- maturities <- c("2017-06-20", "2019-06-20", "2021-06-20", "2024-06-20")
- tenors <- c("Y3", "Y5", "Y7", "Y10")
- sqlstr <- "INSERT INTO index_desc VALUES(%s, '%s', %s, '%s', '%s', 100, 0)"
- indices <- c("HY", "IG")
- for(i in seq_along(indices)){
- for(j in seq_along(tenors)){
- stmt <- sprintf(sqlstr, offset + 10*i, indices[i], series,
- maturities[j], tenors[j])
- dbSendQuery(dbCon, stmt)
- }
-
- }
-}
-
-cdslist <- function(indexname){
- basketid <- nameToBasketID(indexname)
- sqlstr <- "select * from CDS_Issuers where index_list @> '{%s}'"
- return( dbGetQuery(dbCon, sprintf(sqlstr, basketid)))
-}
+library(Rbbg)
+source("mlpdb.R")
download.cdscurves <- function(date=Sys.Date()){
tickers <- dbGetQuery(dbCon, "select cds_curve[6] from CDS_Issuers")$cds_curve
@@ -59,4 +31,8 @@ write.tranchedata <- function(){
write.csv(data, file=paste0("tranche_data_", Sys.Date(), ".csv"), row.names=TRUE)
}
+setwd("/home/share/CorpCDOs/data/bloomberg/CDS")
+bbgConn <- blpConnect(host='192.168.1.108', port='8194')
+download.cdscurves()
+write.tranchedata()
blpDisconnect(bbgConn)
diff --git a/R/mlpdb.R b/R/mlpdb.R
new file mode 100644
index 00000000..04c1f0b9
--- /dev/null
+++ b/R/mlpdb.R
@@ -0,0 +1,29 @@
+library(RPostgreSQL)
+drv <- dbDriver("PostgreSQL")
+dbCon <- dbConnect(drv, dbname="mlpdb", user="mlpdb_user", password="Serenitas1",
+ host="debian")
+
+nameToBasketID <- function(name){
+ index <- substr(name, 1, 2)
+ series <- substr(name, 3, nchar(name))
+ sqlstr <- "SELECT max(basketid) from index_desc where Index='%s' and Series=%s"
+ r <- dbGetQuery(dbCon, sprintf(sqlstr, index, series))
+ return(as.integer(r))
+}
+
+cdslist <- function(indexname){
+ basketid <- nameToBasketID(indexname)
+ sqlstr <- "select * from CDS_Issuers where index_list @> '{%s}'"
+ return( dbGetQuery(dbCon, sprintf(sqlstr, basketid)))
+}
+
+arr.convert <- function(arr){
+ return(as.numeric(unlist(lapply(arr, function(x)strsplit(substr(x,2,nchar(x)-1),",",fixed=TRUE)))))
+}
+
+get.indexquotes <- function(indexname, date){
+ r <- dbGetQuery(dbCon, sprintf("select * from curve_quotes('%s', '%s')", indexname, date))
+ r <- data.frame(r[,1], matrix(arr.convert(r[,2]), nrow(r), 8, byrow=T))
+ colnames(r) <- c("ticker", "6m", "1y", "2y", "3y", "4y", "5y", "7y", "10y")
+ return( r )
+}