aboutsummaryrefslogtreecommitdiffstats
path: root/R
diff options
context:
space:
mode:
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]))
}
}