diff options
Diffstat (limited to 'R')
| -rw-r--r-- | R/thetas-curve.R (renamed from R/thetas-correct.R) | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/R/thetas-correct.R b/R/thetas-curve.R index 03314340..8ea97ae5 100644 --- a/R/thetas-correct.R +++ b/R/thetas-curve.R @@ -34,14 +34,25 @@ get.maturities <- function(index=c("IG", "HY", "EU", "XO"), series) { return( df ) } -maturities <- get.maturities("IG", 26) -quotes <- index.closeprice("IG", 26) -index <- creditIndex("IG26", "10yr") +if(!interactive()) { + library(optparse) + option_list <- list( + make_option(c("-i", "--index"), help="Index name we want to run"), + make_option(c("-s", "--series"), help="Index series")) + args <- parse_args(OptionParser(option_list=option_list)) +} else { + args <- list(index="IG", series=26) +} + +maturities <- get.maturities(args$index, args$series) +quotes <- index.closeprice(args$index, args$series) +index <- creditIndex(paste0(args$index, args$series), "10yr") sqlstr <- paste("UPDATE index_quotes SET duration2=$1, theta2=$2", "WHERE date=$3 AND index=$4 AND series=$5 AND tenor=$6") -for(i in seq_along(quotes$date %>% unique())) { - tradedate <- quotes$date[i] +unique.dates <- quotes$date %>% unique() +for(i in seq_along(unique.dates)) { + tradedate <- unique.dates[i] exportYC(tradedate, "USD") index <- set.index.desc(index, tradedate) index <- set.singlenamesdata(index, tradedate) @@ -61,6 +72,6 @@ for(i in seq_along(quotes$date %>% unique())) { duration <- index %>% indexduration(tradedate=tradedate, maturity=maturity) dbSendQuery(serenitasdb, sqlstr, params = list(duration, theta, tradedate, - "IG", 26, maturities$tenor[j])) + args$index, args$series, maturities$tenor[j])) } } |
