diff options
Diffstat (limited to 'R/cds_functions_generic.R')
| -rw-r--r-- | R/cds_functions_generic.R | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/R/cds_functions_generic.R b/R/cds_functions_generic.R index f5afd0f5..53432c5b 100644 --- a/R/cds_functions_generic.R +++ b/R/cds_functions_generic.R @@ -561,10 +561,11 @@ indexpv <- function(index, epsilon=0, tradedate=Sys.Date(), clean=TRUE, cl.list <- unlist(lapply(portfolio, function(x){couponleg(cs, x@curve, startdate)}))
pl.list <- unlist(lapply(portfolio, function(x){defaultleg(cs, x@curve, x@recovery, startdate)}))
spread <- index$quotes$spread[index$quotes$maturity==maturity]
- accrued <- cdsAccrued(tradedate, spread)
- r <- list(cl = mean(cl.list) - accrued, pl = mean(pl.list), bp = 1+mean(cl.list-pl.list))
+ r <- list(cl = spread * mean(cl.list), pl = mean(pl.list), bp = 1+mean(spread*cl.list-pl.list))
if(clean){
+ accrued <- cdsAccrued(tradedate, spread)
r$bp <- r$bp-accrued
+ r$cl <- r$cl-accrued
}
return(r)
}
|
