stress_HARA_RM_w {SWIM}R Documentation

Stressing Risk Measure and HARA Utility

Description

Provides weights on simulated scenarios from a baseline stochastic model, such that a stressed model component (random variable) fulfills a constraint on its HARA utility defined by a, b and eta parameter and risk measure defined by a gamma function and evaluated at a given level alpha. Scenario weights are selected by constrained minimisation of the Wasserstein distance to the baseline model.

Usage

stress_HARA_RM_w(
  x,
  alpha = 0.8,
  a,
  b,
  eta,
  q_ratio = NULL,
  q = NULL,
  hu_ratio = NULL,
  hu = NULL,
  k = 1,
  h = 1,
  gamma = NULL,
  names = NULL,
  log = FALSE,
  method = "Nelder-Mead"
)

Arguments

x

A vector, matrix or data frame containing realisations of random variables. Columns of x correspond to random variables; OR
A SWIMw object, where x corresponds to the underlying data of the SWIMw object. The stressed random component is assumed continuously distributed.

alpha

Numeric, vector, the level of the Expected Shortfall. (default Expected Shortfall)

a

Numeric vector, input to HARA utility function.

b

Numeric vector, input to HARA utility function.

eta

Numeric vector, input to HARA utility function.

q_ratio

Numeric, vector, the ratio of the stressed RM to the baseline RM (must be same length as alpha).

q

Numeric, vector, the stressed RM at level alpha (must be same length as alpha).

hu_ratio

Numeric, vector, the ratio of the HARA utility to the baseline HARA utility.

hu

Numeric, vector, the stressed HARA utility with parameters a, b and eta.

k

Numeric, the column of x that is stressed (default = 1).

h

Numeric, a multiplier of the default bandwidth using Silverman’s rule (default h = 1).

gamma

Function of one variable, that defined the gamma of the risk measure. (default Expected Shortfall).

names

Character vector, the names of stressed models.

log

Boolean, the option to print weights' statistics.

method

The method to be used in [stats::optim()]. (default = Nelder-Mead).

Details

This function implements stresses on distortion risk measures. Distortion risk measures are defined by a square-integrable function gamma where

\int_0^1 gamma(u) du = 1.

The distortion risk measure for some gamma and distribution G is calculated as:

\rho_{gamma}(G) = \int_0^1 \breve(G)(u) gamma(u) du.

Expected Shortfall (ES) is an example of a distortion risk measure. The ES at level alpha of a random variable with distribution function F is defined by:

ES_{alpha} = 1 / (1 - alpha) * \int_{alpha}^1 VaR_u d u.

The HARA Utility is defined by

u(x) = \frac{1-eta}{eta}(\frac{ax}{1 - eta} + b)^eta

.

Value

A SWIMw object containing:

See SWIM for details.

Author(s)

Zhuomin Mao

References

Pesenti SM, Millossovich P, Tsanakas A (2019). “Reverse sensitivity testing: What does it take to break the model?” European Journal of Operational Research, 274(2), 654–670.

Pesenti S BAMPTA (2020). “Scenario Weights for Importance Measurement (SWIM) - An R package for sensitivity analysis.” Annals of Actuarial Science 15.2 (2021): 458-483. Available at SSRN: https://www.ssrn.com/abstract=3515274.

Pesenti SM (2021). “Reverse Sensitivity Analysis for Risk Modelling.” Available at SSRN 3878879.

See Also

Other stress functions: stress_RM_mean_sd_w(), stress_RM_w(), stress_VaR_ES(), stress_VaR(), stress_mean_sd_w(), stress_mean_sd(), stress_mean_w(), stress_mean(), stress_moment(), stress_prob(), stress_user(), stress_wass(), stress()

Examples

## Not run: 
set.seed(0)
x <- as.data.frame(cbind(
  "normal" = rnorm(1000),
  "gamma" = rgamma(1000, shape = 2)))
res1 <- stress_wass(type = "HARA RM", x = x, a=1, b=5, eta=0.5, alpha=0.95,
 q_ratio=1.05, hu_ratio=1.05, k=1)
  summary(res1)

## calling stress_RM_w directly
## stressing "gamma"
res2 <- stress_HARA_RM_w(x = x, a=1, b=5, eta=0.5, alpha=0.95,
 q_ratio=1.05, hu_ratio=1.05, k=2)
summary(res2)

## End(Not run)


[Package SWIM version 1.0.0 Index]