diff options
Diffstat (limited to 'R/distrib.R')
| -rw-r--r-- | R/distrib.R | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/R/distrib.R b/R/distrib.R index 7dfafdd..2b14776 100644 --- a/R/distrib.R +++ b/R/distrib.R @@ -363,11 +363,11 @@ exp_trunc <- function(p, w, S, N, K){ rec.trunc <- function(p, w, S, N, K){ ## computes E[(K-(1-R))^+] = E[(\tilde K- \bar R)] ## where \tilde K = K-sum_i w_i S_i and \bar R=\sum_i w_i R_i (1-X_i) - Ktilde <- K-crossprod(w, S) - if(Ktilde < 0){ - return( 0 ) - }else{ - return( exp.trunc(1-p, w, 1-S, N, Ktilde) ) + Ktilde <- K - crossprod(w, S) + if(Ktilde < 0) { + return( 0. ) + } else { + return( exp_trunc(1 - p, w, 1 - S, N, Ktilde) ) } } @@ -442,15 +442,15 @@ lossrecovdist.term <- function(defaultprob, prepayprob, w, S, N, defaultflag=FAL lossrecovdist.joint.term <- function(defaultprob, prepayprob, w, S, N, defaultflag=FALSE, useC=TRUE){ ## computes the joint loss and recovery distribution over time Q <- array(0, dim=c(ncol(defaultprob), N, N)) - lossdist.joint <- if(useC) lossdistC.jointblas - lossdist.prepay.joint <- if(useC) lossdistC.prepay.jointblas - if(missing(prepayprob)){ + lossdist.joint <- if(useC) lossdistC.joint + lossdist.prepay.joint <- if(useC) lossdistC.prepay.joint + if(missing(prepayprob)) { for(t in 1:ncol(defaultprob)){ Q[t,,] <- lossdist.joint(defaultprob[,t], w, S[,t], N, defaultflag) } - }else{ - for(t in 1:ncol(defaultprob)){ - Q[t,,] <- lossdist.prepay.jointblas(defaultprob[,t], prepayprob[,t], w, S[,t], N, defaultflag) + } else { + for(t in 1:ncol(defaultprob)) { + Q[t,,] <- lossdist.prepay.joint(defaultprob[,t], prepayprob[,t], w, S[,t], N, defaultflag) } } return(Q) |
