summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DESCRIPTION2
-rw-r--r--NAMESPACE2
-rw-r--r--R/distrib.R18
3 files changed, 9 insertions, 13 deletions
diff --git a/DESCRIPTION b/DESCRIPTION
index f4eb62a..030ee9b 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -10,4 +10,4 @@ Description: Utility functions for generating the loss and recovery
License: GPL-3
Suggests: testthat
RoxygenNote: 6.0.1
-Imports: distr
+Imports: distr, stats
diff --git a/NAMESPACE b/NAMESPACE
index 8f0bb73..c67fd31 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -5,8 +5,6 @@ export(BClossdist)
export(BClossdistC)
export(GHquad)
export(dist.transform)
-export(dqnorm)
-export(dshockprob)
export(exp_trunc)
export(fit.prob)
export(fit.probC)
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)