diff options
Diffstat (limited to 'R/serenitasdb.R')
| -rw-r--r-- | R/serenitasdb.R | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/R/serenitasdb.R b/R/serenitasdb.R index 6e6d5344..7dcfcd7d 100644 --- a/R/serenitasdb.R +++ b/R/serenitasdb.R @@ -47,12 +47,8 @@ get.indexquotes <- function(indexname, date=Sys.Date()){ } indexsplit <- function(indexname){ - r <- regexpr("(\\D*)(\\d*)", indexname, perl=T) - cs <- attr(r, "capture.start") - cl <- attr(r, "capture.length") - index <- substr(indexname, cs[1], cs[1]+cl[1]-1) - series <- substr(indexname, cs[2], cs[2]+cl[2]-1) - return(list(index=toupper(index), series=series)) + return(list(index = toupper(substr(indexname, 0, 2)), + series=substr(indexname, 3, nchar(indexname)))) } get.tranchequotes <- function(indexname, tenor='5yr', date=Sys.Date()){ @@ -114,3 +110,12 @@ couponfromindex <- function(indexname, tenor){ r <- dbGetQuery(serenitasdb, sqlstr) r$coupon } + +getlastdate <- function(indexname, tenor){ + temp <- indexsplit(indexname) + r <- dbGetQuery(serenitasdb, + sprintf(paste("SELECT max(date)+1 AS date FROM risk_numbers", + "WHERE index='%s' and series='%s' and tenor='%s'"), + temp$index, temp$series, tenor)) + return(as.Date(r$date, format="%Y-%m-%d")) +} |
