diff options
| -rw-r--r-- | R/new_index_series.R | 26 |
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] |
