aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/new_index_series.R26
1 files changed, 26 insertions, 0 deletions
diff --git a/R/new_index_series.R b/R/new_index_series.R
index 38f1f74e..0dc9ab28 100644
--- a/R/new_index_series.R
+++ b/R/new_index_series.R
@@ -42,6 +42,32 @@ newbasketID <- function(indextype='IG', series, version=1, mat_5yr, coupon, red)
return(basketid)
}
+insert.newcurves <- function(tickers) {
+ cds.fields <- c("cds_company_id", "cds_restructuring_type", "cds_corp_tkr",
+ "sw_seniority", "cds_company_name")
+ df <- bdp(paste(tickers, "Corp"), cds.fields)
+ r <- c()
+ for(t in tickers) {
+ r <- c(r,
+ sqlArray(bds(paste(t, "Curncy"), "CDS_CURVE_INFO")$Ticker))
+ }
+ df["cds_curve"] <- r
+ sqlstr <- paste0("INSERT INTO bbg_issuers",
+ "(name, company_id, ticker, currency, seniority, doc_clause, cds_curve)",
+ "VALUES($1, $2, $3, $4, $5, $6, $7) ON CONFLICT DO NOTHING")
+ with(df,
+ for(i in 1:nrow(df)) {
+ r <- dbSendQuery(serenitasdb, sqlstr,
+ params=list(cds_company_name[i],
+ cds_company_id[i], cds_corp_tkr[i],
+ "USD", sw_seniority[i], cds_restructuring_type[i],
+ cds_curve[i]))
+ if(dbHasCompleted(r)){
+ dbClearResult(r)
+ }
+ })
+}
+
newcurves <- function(indextype, series, basketid){
index <- bds(bbgname(indextype, series), "INDX_MEMBERS")
tickers <- index[,5]