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 k
th 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 k
th 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.