diff options
Diffstat (limited to 'R')
| -rw-r--r-- | R/cds_utils.R | 8 | ||||
| -rw-r--r-- | R/mlpdb.R | 11 |
2 files changed, 4 insertions, 15 deletions
diff --git a/R/cds_utils.R b/R/cds_utils.R index e594ad7c..ec1197bc 100644 --- a/R/cds_utils.R +++ b/R/cds_utils.R @@ -145,11 +145,3 @@ yearFrac <- function(date1, date2, daycount="act/365") { "act/365"=as.numeric( (as.Date(date2) - as.Date(date1)) / 365),
"act/360"=as.numeric( (as.Date(date2) - as.Date(date1)) / 360) )
}
-
-load.index <- function(index.name, file = "index_definitions.yml"){
- ## load index.name into the parent environment
- require(yaml)
- indices <- yaml.load_file(file.path(root.dir, "code", "R", file))
- indices[[index.name]]$maturity <- as.Date(indices[[index.name]]$maturity, as.Date("1970-01-01"))
- assign(index.name, indices[[index.name]], env = parent.env(environment()))
-}
@@ -4,11 +4,8 @@ dbCon <- dbConnect(drv, dbname="mlpdb", user="mlpdb_user", password="Serenitas1" host="debian") nameToBasketID <- function(name, date){ - name <- toupper(name) - index <- substr(name, 1, 2) - series <- substr(name, 3, nchar(name)) - sqlstr <- "SELECT min(basketid) from index_desc where Index='%s' and Series=%s and lastdate>='%s'" - r <- dbGetQuery(dbCon, sprintf(sqlstr, index, series, date)) + sqlstr <- "SELECT * from nametobasketid('%s', '%s')" + r <- dbGetQuery(dbCon, sprintf(sqlstr, name, date)) return(as.integer(r)) } @@ -16,8 +13,8 @@ load.index <- function(name, date, tenor="Y5"){ id <- nameToBasketID(name, date) sqlstr <- "SELECT indexfactor, cumulativeloss, maturity from index_desc where basketid=%s and tenor='%s'" r <- as.list(dbGetQuery(dbCon, sprintf(sqlstr, id, tenor))) - return(list(coupon=0.05, factor=r$indexfactor/100, - loss=r$cumulativeloss/100, recovery=0.4)) + return(list(coupon=0.05, factor=r$indexfactor/100, maturity=r$maturity, + loss=r$cumulativeloss/100, recovery=0.4, name=name)) } cdslist <- function(indexname, date){ |
