diff options
Diffstat (limited to 'R/cds_functions_generic.R')
| -rw-r--r-- | R/cds_functions_generic.R | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/R/cds_functions_generic.R b/R/cds_functions_generic.R index 4547f8b9..4b0db5b4 100644 --- a/R/cds_functions_generic.R +++ b/R/cds_functions_generic.R @@ -690,7 +690,7 @@ SPmatrix2 <- function(portfolio, dealdata, freq="3 months", startdate=Sys.Date() dates <- getdealschedule(dealdata, freq, startdate)
DP <- matrix(0, length(portfolio), length(dates))
PP <- matrix(0, length(portfolio), length(dates))
- for(i in 1:length(portfolio)){
+ for(i in seq_along(portfolio)){
temp <- DP2(portfolio[[i]]@curve, dates)
DP[i,] <- temp$defaultprob
PP[i,] <- temp$prepayprob
@@ -699,15 +699,15 @@ SPmatrix2 <- function(portfolio, dealdata, freq="3 months", startdate=Sys.Date() }
forwardportfolioprice <- function(portfolio, startdate, maturity, coupontype, margin, recovery){
- forwardcs <- couponSchedule(nextpaydate=startdate+45, maturity,
- frequency="Q", "FLOAT", margin, margin, startdate=startdate)
- r <- rep(0, length(portfolio$SC))
- for(i in 1:length(portfolio$SC)){
- cl <- couponleg(forwardcs, portfolio$SC[[i]]@curve, startdate=startdate)
- pl <- contingentleg(forwardcs, portfolio$SC[[1]]@curve, portfolio$SC[[i]]@recovery, startdate=startdate)
- r[i] <- pl+cl
- }
- return(mean(r))
+ forwardcs <- couponSchedule(nextpaydate=startdate+45, maturity,
+ frequency="Q", "FLOAT", margin, margin, startdate=startdate)
+ r <- rep(0, length(portfolio$SC))
+ for(i in seq_along(portfolio$SC)){
+ cl <- couponleg(forwardcs, portfolio$SC[[i]]@curve)
+ pl <- contingentleg(forwardcs, portfolio$SC[[1]]@curve, portfolio$SC[[i]]@recovery)
+ r[i] <- pl+cl
+ }
+ return(mean(r))
}
|
