diff options
| -rw-r--r-- | R/cds_functions_generic.R | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/R/cds_functions_generic.R b/R/cds_functions_generic.R index acae13eb..671d1c0f 100644 --- a/R/cds_functions_generic.R +++ b/R/cds_functions_generic.R @@ -56,6 +56,7 @@ setMethod("couponleg", signature("data.frame", "defaultcurve"), function(cs, sc, startdate=Sys.Date() + 1, accruedondefault=TRUE){
stopifnot(class(startdate)=="Date")
stopifnot(is.logical(accruedondefault))
+ cs <- cs[cs$dates>=startdate,]
x1T <- yearFrac(startdate, sc@dates)
x2T <- yearFrac(startdate, cs$dates)
dT <- diff(c(0, yearFrac(startdate, cs$dates)))
@@ -233,6 +234,7 @@ setMethod("defaultleg", signature("data.frame", "defaultcurve", "numeric"), ## Computes the pv of the default leg of a cds based on a given
## coupon schedule, hazard rate curve, and recovery.
function(cs, sc, recovery, startdate=Sys.Date()+1){
+ cs <- cs[cs$dates>=startdate,]
T <- yearFrac(startdate, cs$dates)
x1T <- yearFrac(startdate, sc@dates)
hfun <- approxfun(x1T, sc@hazardrates, method="constant", rule=2)
|
