aboutsummaryrefslogtreecommitdiffstats
path: root/cds_utils.R
diff options
context:
space:
mode:
Diffstat (limited to 'cds_utils.R')
-rw-r--r--cds_utils.R10
1 files changed, 8 insertions, 2 deletions
diff --git a/cds_utils.R b/cds_utils.R
index f0799a8f..afb8f400 100644
--- a/cds_utils.R
+++ b/cds_utils.R
@@ -77,7 +77,11 @@ couponSchedule <- function(nextpaydate=NULL, maturity, frequency, coupontype, cu
Q = "3 months",
M = "1 month",
B = "2 months",
- S = "6 months")
+ S = "6 months",
+ A = "12 months")
+ if(is.null(bystring)){
+ stop("unknown frequency")
+ }
if(is.null(nextpaydate)){
dates <- rev(seq(maturity, today(), by =paste0("-", bystring)))
}else{
@@ -91,7 +95,9 @@ couponSchedule <- function(nextpaydate=NULL, maturity, frequency, coupontype, cu
S = DiscountCurve(L6m$params, L6m$tsQuotes, yearFrac(L6m$params$tradeDate, dates)),
Q = DiscountCurve(L3m$params, L3m$tsQuotes, yearFrac(L3m$params$tradeDate, dates)),
M = DiscountCurve(L1m$params, L1m$tsQuotes, yearFrac(L1m$params$tradeDate, dates)),
- B = DiscountCurve(L2m$params, L2m$tsQuotes, yearFrac(L2m$params$tradeDate, dates)))
+ B = DiscountCurve(L2m$params, L2m$tsQuotes, yearFrac(L2m$params$tradeDate, dates)),
+ A = DiscountCurve(L12m$params, L12m$tsQuotes, yearFrac(L12m$params$tradeDate, dates)))
+
if(coupontype=="FLOAT" && !is.na(margin)){ #if is.na(margin) probably letter of credit
coupons <- pmax(currentcoupon, DC$forwards + margin)
}else{