aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/cds_functions_generic.R8
1 files changed, 8 insertions, 0 deletions
diff --git a/R/cds_functions_generic.R b/R/cds_functions_generic.R
index e1fb7c1c..155b5024 100644
--- a/R/cds_functions_generic.R
+++ b/R/cds_functions_generic.R
@@ -542,6 +542,14 @@ portfoliospread <- function(portfolio, maturity){
return(S)
}
+portfolioduration <- function(portfolio, maturity){
+ d <- rep(0, length(portfolio$SC))
+ for(i in 1:length(portfolio$SC)){
+ d[i] <- cdsduration(portfolio$SC[[i]]@curve, maturity) * portfolio$notional[i]
+ }
+ return(sum(d)/sum(portfolio$notional))
+}
+
tweakcurves <- function(portfolio, index){
## computes the tweaking factor
epsilon <- 0