Description Usage Arguments Details Value Author(s) References See Also Examples
Provides weights on simulated scenarios from a baseline stochastic model, such that a stressed model component (random variable) fulfils a constraint on its quantile at a given level, also known as Value-at-Risk (VaR). Scenario weights are selected by constrained minimisation of the relative entropy to the baseline model.
1 2 3 4 5 6 7 8 9 |
x |
A vector, matrix or data frame
containing realisations of random variables. Columns of |
alpha |
Numeric vector, the levels of the stressed VaR. |
q_ratio |
Numeric vector, the ratio of the stressed VaR to the
baseline VaR. |
q |
Numeric vector, the stressed VaR at level
|
k |
Numeric, the column of |
names |
Character vector, the names of stressed models. |
log |
Boolean, the option to print weights' statistics. |
The stressed VaR is the quantile of the chosen model component,
subject to the calculated scenario weights.
The VaR at level alpha of a random variable with
distribution
function F is defined as its left-quantile at alpha:
VaR_{alpha} = F^{-1}(alpha).
If one of alpha, q (q_ratio) is a vector,
the stressed VaR's of the kth column of x, at levels
alpha, are equal to q.
The stressed VaR specified, either via q or q_ratio, might not equal
the attained empirical VaR of the model component. In this
case, stress_VaR will display a message and the specs contain
the achieved VaR.
A SWIM object containing:
x, a data.frame containing the data;
new_weights, a list of functions, that applied to
the kth column of x, generates the vectors of scenario
weights. Each component corresponds to a different stress;
type = "VaR";
specs, a list, each component corresponds to
a different stress and contains k,
alpha and q.
See SWIM for details.
Silvana M. Pesenti
Pesenti2019reverseSWIM
Pesenti2020SSRNSWIM
Csiszar1975SWIM
Other stress functions:
stress_HARA_RM_w(),
stress_RM_mean_sd_w(),
stress_RM_w(),
stress_VaR_ES(),
stress_mean_sd_w(),
stress_mean_sd(),
stress_mean_w(),
stress_mean(),
stress_moment(),
stress_prob(),
stress_user(),
stress_wass(),
stress()
1 2 3 4 5 6 7 8 9 10 11 12 13 | set.seed(0)
x <- as.data.frame(cbind(
"normal" = rnorm(1000),
"gamma" = rgamma(1000, shape = 2)))
res1 <- stress(type = "VaR", x = x,
alpha = 0.9, q_ratio = 1.05)
## calling stress_VaR directly
## stressing "gamma"
res2 <- stress_VaR(x = x, alpha = 0.9,
q_ratio = c(1.03, 1.05), k = 2)
get_specs(res2)
summary(res2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.