Learn R Programming

QRM (version 0.4-31)

VaRbound: Computing lower and upper bounds for the (smallest or largest) VaR

Description

VaRbound() computes lower and upper bounds for the lower or upper Value-at-Risk bound.

Usage

VaRbound(alpha, N, qmargins, bound = c("upper", "lower"), verbose = FALSE)

Arguments

alpha

confidence level in (0,1).

N

tail discretization parameter; see Embrechts et al. (2013).

qmargins

list containing the marginal quantile functions.

bound

character string indicating the VaR bound to be approximated (largest (default) or smallest).

verbose

logical indicating whether progress information is displayed.

Value

numeric vector of length two, containing the lower and upper bound for the (chosen) Value-at-Risk estimate.

Details

Due to the nature of the rearrangement algorithm, note that this purely R based implementation can be slow.

References

Embrechts, P., Puccetti, G., and R<U+00FC>schendorf, L. (2013), Model uncertainty and VaR aggregation, Journal of Banking and Finance 37(8), 2750--2764.

Examples

Run this code
# NOT RUN {
qPar <- function(p, theta) (1-p)^(-1/theta)-1
qmar <- lapply(1:3, function(j) function(p) qPar(p, theta=2.5))
## bounds for the largest VaR
VaRbound(0.99, N=50, qmargins=qmar)
## bounds for the smallest VaR
VaRbound(0.99, N=50, qmargins=qmar, bound="lower")
# }

Run the code above in your browser using DataLab