summaryrefslogtreecommitdiffstats
path: root/R
diff options
context:
space:
mode:
Diffstat (limited to 'R')
-rw-r--r--R/distrib.R18
1 files changed, 8 insertions, 10 deletions
diff --git a/R/distrib.R b/R/distrib.R
index 2b14776..2f288f9 100644
--- a/R/distrib.R
+++ b/R/distrib.R
@@ -68,7 +68,7 @@ convolve <- function(dist1, dist2) {
n2 <- length(dist2)
dist1 <- c(dist1, rep(0, n2-1))
dist2 <- c(dist2, rep(0, n1-1))
- Re(fft(fft(dist1) * fft(dist2), inverse=T))/length(dist1)
+ Re(stats::fft(stats::fft(dist1) * stats::fft(dist2), inverse=T)) / length(dist1)
}
#' Loss distribution of a portfolio
@@ -487,14 +487,14 @@ shockprob <- function(p, rho, Z, log.p=F) {
## p and rho are scalars, Z is a vector of length n, returns vector of length n
if(length(p)==1) {
if(rho==1) {
- return(Z <= qnorm(p))
+ return(Z <= stats::qnorm(p))
} else {
- return(pnorm((qnorm(p)-sqrt(rho)*Z)/sqrt(1-rho), log.p=log.p))
+ return(stats::pnorm((stats::qnorm(p) - sqrt(rho)*Z)/sqrt(1 - rho), log.p = log.p))
}
} else {
result <- double(length(p))
- result[rho==1] <- Z<=qnorm(p[rho==1])
- result[rho<1] <- pnorm((qnorm(p[rho<1])-sqrt(rho[rho<1])*Z)/sqrt(1-rho[rho<1]), log.p=log.p)
+ result[rho == 1] <- Z <= stats::qnorm(p[rho == 1])
+ result[rho < 1] <- stats::pnorm((stats::qnorm(p[rho < 1]) - sqrt(rho[rho < 1]) * Z)/sqrt(1 - rho[rho < 1]), log.p = log.p)
return( result )
}
}
@@ -509,14 +509,12 @@ shockseverity <- function(S, Stilde=1, Z, rho, p) {
return(result)
}
-#' @export
dshockprob <- function(p,rho,Z) {
- dnorm((qnorm(p)-sqrt(rho)*Z)/sqrt(1-rho))*dqnorm(p)/sqrt(1-rho)
+ stats::dnorm((stats::qnorm(p) - sqrt(rho) * Z) / sqrt(1-rho)) * dqnorm(p) / sqrt(1-rho)
}
-#' @export
dqnorm <- function(x) {
- 1/dnorm(qnorm(x))
+ 1 / stats::dnorm(stats::qnorm(x))
}
#' @export
@@ -528,7 +526,7 @@ fit.prob <- function(Z, w, rho, p0) {
}
if(rho == 1) {
distw <- distr::DiscreteDistribution(Z, w)
- return(distr::pnorm(distr::q(distw)(p0)))
+ return(stats::pnorm(distr::q(distw)(p0)))
}
eps <- 1e-12
dp <- (crossprod(shockprob(p0, rho, Z),w) - p0) / crossprod(dshockprob(p0, rho, Z), w)