Generic Value at Risk Range
PortfolioOptimisers.GenericValueatRiskRange Type
struct GenericValueatRiskRange{__T_settings, __T_loss, __T_gain} <: RiskMeasureRepresents a generic Value-at-Risk range risk measure that combines any pair of XatRisk-type measures applied to the loss and gain sides of the return distribution.
GenericValueatRiskRange evaluates a loss-side XatRisk measure on the portfolio returns and a gain-side XatRisk measure on the negated portfolio returns, then sums the two to produce a symmetric tail-spread risk measure.
Mathematical definition
Where:
: Generic Value-at-Risk range. : Loss-side XatRisk risk measure. : Gain-side XatRisk risk measure. : Portfolio returns vector .
Fields
settings: Risk measure settings.loss: Loss-side XatRisk risk measure applied to the portfolio returns.gain: Gain-side XatRisk risk measure applied to the negated portfolio returns.
Constructors
GenericValueatRiskRange(;
settings::RiskMeasureSettings = RiskMeasureSettings(),
loss::Union{<:ValueatRisk, <:ConditionalValueatRisk,
<:DistributionallyRobustConditionalValueatRisk,
<:EntropicValueatRisk, <:RelativisticValueatRisk,
<:PowerNormValueatRisk} = ConditionalValueatRisk(),
gain::Union{<:ValueatRisk, <:ConditionalValueatRisk,
<:DistributionallyRobustConditionalValueatRisk,
<:EntropicValueatRisk, <:RelativisticValueatRisk,
<:PowerNormValueatRisk} = ConditionalValueatRisk()
) -> GenericValueatRiskRangeKeywords correspond to the struct's fields.
The constructor strips the rke flag from both loss and gain via no_risk_expr_risk_measure, since their risk expressions are combined into the outer settings-controlled expression.
Propagated parameters
When factory is called on this type, the following @fprop-tagged fields are automatically propagated:
View parameters
When port_opt_view is called on this type, the following @vprop-tagged fields are automatically subset to the selected indices:
loss: Recursively viewed viaport_opt_view.gain: Recursively viewed viaport_opt_view.
Functor
(r::GenericValueatRiskRange)(x::VecNum)Computes the GenericValueatRiskRange of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> GenericValueatRiskRange()
GenericValueatRiskRange
settings ┼ RiskMeasureSettings
│ scale ┼ Float64: 1.0
│ ub ┼ nothing
│ rke ┴ Bool: true
loss ┼ ConditionalValueatRisk
│ settings ┼ RiskMeasureSettings
│ │ scale ┼ Float64: 1.0
│ │ ub ┼ nothing
│ │ rke ┴ Bool: false
│ alpha ┼ Float64: 0.05
│ w ┴ nothing
gain ┼ ConditionalValueatRisk
│ settings ┼ RiskMeasureSettings
│ │ scale ┼ Float64: 1.0
│ │ ub ┼ nothing
│ │ rke ┴ Bool: false
│ alpha ┼ Float64: 0.05
│ w ┴ nothingRelated