diff options
Diffstat (limited to 'R/cds_functions_generic.R')
| -rw-r--r-- | R/cds_functions_generic.R | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/R/cds_functions_generic.R b/R/cds_functions_generic.R index 96463a43..167b3d91 100644 --- a/R/cds_functions_generic.R +++ b/R/cds_functions_generic.R @@ -854,7 +854,8 @@ forward.prot <- function(index, exerciseDate){ defaultAdjustedForwardIndexPrice <- function(index, exerciseDate, fixedRate=0.05){
tes <- addBusDay(exerciseDate)
- df <- DiscountCurve(L3m$params, L3m$tsQuotes, yearFrac(index$tradedate, tes))$discounts
+ df <- DiscountCurve(c(YC$params, list(dt=0.25)), YC$tsQuotes, yearFrac(index$tradedate, tes),
+ YC$legparams)$discounts
price <- 1 - FEP(index, exerciseDate) +
1/df*(forward.cl(index, exerciseDate)*fixedRate -
forward.prot(index, exerciseDate)-cdsAccrued(exerciseDate, fixedRate))
@@ -864,7 +865,8 @@ defaultAdjustedForwardIndexPrice <- function(index, exerciseDate, fixedRate=0.05 forwardflatcds <- function(h, cs, tradeDate, exerciseDate, fixedRate=0.05, R=0.4){
tes <- addBusDay(exerciseDate)
fep <- (1-R)*(1-exp(-h*yearFrac(tradeDate, exerciseDate)))
- df <- DiscountCurve(L3m$params, L3m$tsQuotes, yearFrac(tradeDate, tes))$discounts
+ df <- DiscountCurve(c(YC$params, list(dt=0.25)), YC$tsQuotes, yearFrac(tradeDate, tes),
+ YC$legparams)$discounts
sc <- new("flatcurve", h=h)
cl <- couponleg(cs, sc, startdate=exerciseDate)
pl <- defaultleg(cs, sc, recovery=R, startdate=exerciseDate)
|
