Entropic X at Risk
PortfolioOptimisers.EntropicValueatRisk Type
struct EntropicValueatRisk{__T_settings, __T_slv, __T_alpha, __T_w} <: RiskMeasureRepresents the Entropic Value-at-Risk (EVaR) risk measure.
EntropicValueatRisk is a coherent risk measure based on the Chernoff bound. It is an upper bound for both CVaR and VaR and is computed by solving a conic optimisation problem via an external solver.
Mathematical Definition
The EVaR is defined via the Chernoff bound as the tightest exponential upper bound on VaR and CVaR:
where
where
Fields
settings: Risk measure configuration.slv: Solver or vector of solvers for the conic optimisation.alpha: Significance level for the lower tail.w: Optional observation weights.
Constructors
EntropicValueatRisk(;
settings::RiskMeasureSettings = RiskMeasureSettings(),
slv::Option{<:Slv_VecSlv} = nothing,
alpha::Number = 0.05,
w::Option{<:ObsWeights} = nothing
) -> EntropicValueatRiskKeywords correspond to the struct's fields.
Validation
0 < alpha < 1.If
slvis aVecSlv:!isempty(slv).If
wis notnothing:!isempty(w).
Functor
(r::EntropicValueatRisk)(x::VecNum)Computes the EVaR of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> EntropicValueatRisk()
EntropicValueatRisk
settings ┼ RiskMeasureSettings
│ scale ┼ Float64: 1.0
│ ub ┼ nothing
│ rke ┴ Bool: true
slv ┼ nothing
alpha ┼ Float64: 0.05
w ┴ nothingRelated
sourcePortfolioOptimisers.EntropicValueatRiskRange Type
struct EntropicValueatRiskRange{__T_settings, __T_slv, __T_alpha, __T_beta, __T_w} <: RiskMeasureRepresents the Entropic Value-at-Risk Range (EVaR Range) risk measure.
EntropicValueatRiskRange computes the difference between the lower-tail EVaR (at level alpha) and the upper-tail EVaR (at level beta).
Mathematical Definition
where
Fields
settings: Risk measure configuration.slv: Solver or vector of solvers for the conic optimisation.alpha: Significance level for the lower tail.beta: Significance level for the upper tail.w: Optional observation weights.
Constructors
EntropicValueatRiskRange(;
settings::RiskMeasureSettings = RiskMeasureSettings(),
slv::Option{<:Slv_VecSlv} = nothing,
alpha::Number = 0.05,
beta::Number = 0.05,
w::Option{<:ObsWeights} = nothing
) -> EntropicValueatRiskRangeKeywords correspond to the struct's fields.
Validation
0 < alpha < 1,0 < beta < 1.If
slvis aVecSlv:!isempty(slv).If
wis notnothing:!isempty(w).
Related
sourcePortfolioOptimisers.EntropicDrawdownatRisk Type
struct EntropicDrawdownatRisk{__T_settings, __T_slv, __T_alpha, __T_w} <: RiskMeasureRepresents the Entropic Drawdown-at-Risk (EDaR) risk measure.
EntropicDrawdownatRisk applies the Entropic Value-at-Risk framework to the absolute drawdown series of portfolio returns. It is a coherent risk measure providing an upper bound on both the Drawdown-at-Risk and Conditional Drawdown-at-Risk.
Mathematical Definition
Define the absolute drawdown series:
The EDaR is the EVaR of the drawdown series:
Fields
settings: Risk measure configuration.slv: Solver or vector of solvers for the conic optimisation.alpha: Significance level for the lower tail.w: Optional observation weights.
Constructors
EntropicDrawdownatRisk(;
settings::RiskMeasureSettings = RiskMeasureSettings(),
slv::Option{<:Slv_VecSlv} = nothing,
alpha::Number = 0.05,
w::Option{<:ObsWeights} = nothing
) -> EntropicDrawdownatRiskKeywords correspond to the struct's fields.
Validation
0 < alpha < 1.If
slvis aVecSlv:!isempty(slv).If
wis notnothing:!isempty(w).
Functor
(r::EntropicDrawdownatRisk)(x::VecNum)Computes the EDaR of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> EntropicDrawdownatRisk()
EntropicDrawdownatRisk
settings ┼ RiskMeasureSettings
│ scale ┼ Float64: 1.0
│ ub ┼ nothing
│ rke ┴ Bool: true
slv ┼ nothing
alpha ┼ Float64: 0.05
w ┴ nothingRelated
PortfolioOptimisers.RelativeEntropicDrawdownatRisk Type
struct RelativeEntropicDrawdownatRisk{__T_settings, __T_slv, __T_alpha, __T_w} <: HierarchicalRiskMeasureRepresents the Relative Entropic Drawdown-at-Risk (Relative EDaR) risk measure for hierarchical optimisation.
RelativeEntropicDrawdownatRisk applies the Entropic Value-at-Risk framework to the relative (compounded) drawdown series of portfolio returns.
Mathematical Definition
Define the compounded wealth process and relative drawdown series:
The Relative EDaR is the EVaR of the relative drawdown series:
Fields
settings: Hierarchical risk measure configuration.slv: Solver or vector of solvers for the conic optimisation.alpha: Significance level for the lower tail.w: Optional observation weights.
Constructors
RelativeEntropicDrawdownatRisk(;
settings::HierarchicalRiskMeasureSettings = HierarchicalRiskMeasureSettings(),
slv::Option{<:Slv_VecSlv} = nothing,
alpha::Number = 0.05,
w::Option{<:ObsWeights} = nothing
) -> RelativeEntropicDrawdownatRiskKeywords correspond to the struct's fields.
Validation
0 < alpha < 1.If
slvis aVecSlv:!isempty(slv).If
wis notnothing:!isempty(w).
Functor
(r::RelativeEntropicDrawdownatRisk)(x::VecNum)Computes the Relative EDaR of a portfolio returns vector x.
Arguments
x::VecNum: Portfolio returns vector.
Examples
julia> RelativeEntropicDrawdownatRisk()
RelativeEntropicDrawdownatRisk
settings ┼ HierarchicalRiskMeasureSettings
│ scale ┴ Float64: 1.0
slv ┼ nothing
alpha ┼ Float64: 0.05
w ┴ nothingRelated