Conditional XatRisk Constraints
PortfolioOptimisers.set_risk_constraints! Method
set_risk_constraints!(
model::Model,
i,
r::ConditionalValueatRisk,
opt::RiskJuMPOptimisationEstimator,
pr::AbstractPriorResult,
args...;
kwargs...
) -> AnyAdd conditional risk constraints (CVaR, DRCVaR, CDaR, and their range/DR variants) to model.
Each overload introduces auxiliary non-negative exceedance variables and constructs the appropriate weighted-sum CVaR (or CDaR) expression. The distributionally robust variants add infinity-norm cone constraints to handle distributional ambiguity over an r.r-radius ball. Range variants compute the difference between lower-tail and upper-tail conditional risk expressions.
Arguments
model::JuMP.Model: The JuMP optimisation model.i: Constraint index for unique variable and constraint naming.r: Risk measure instance.opt::RiskJuMPOptimisationEstimator: Risk-based optimisation estimator.pr::AbstractPriorResult: Prior result containing the returns matrixX.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_risk_constraints! Method
set_risk_constraints!(
model::Model,
i,
r::ConditionalValueatRiskRange,
opt::RiskJuMPOptimisationEstimator,
pr::AbstractPriorResult,
args...;
kwargs...
) -> AnyAdd JuMP risk constraints for ConditionalValueatRiskRange to model.
Introduces lower-tail and upper-tail CVaR variables and auxiliary exceedance variables, then computes the CVaR range as their difference.
Arguments
model::JuMP.Model: The JuMP optimisation model.i: Constraint index for unique variable and constraint naming.r::ConditionalValueatRiskRange: The CVaR range risk measure.opt::RiskJuMPOptimisationEstimator: Risk-based optimisation estimator.pr::AbstractPriorResult: Prior result containing the returns matrixX.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_risk_constraints! Method
set_risk_constraints!(
model::Model,
i,
r::DistributionallyRobustConditionalValueatRisk,
opt::RiskJuMPOptimisationEstimator,
pr::AbstractPriorResult,
args...;
kwargs...
) -> AnyAdd JuMP risk constraints for DistributionallyRobustConditionalValueatRisk (DR-CVaR) to model.
Adds an infinity-norm cone constraint over an r.r-radius Wasserstein ambiguity ball and auxiliary exceedance variables to encode the distributionally robust CVaR.
Arguments
model::JuMP.Model: The JuMP optimisation model.i: Constraint index for unique variable and constraint naming.r::DistributionallyRobustConditionalValueatRisk: The DR-CVaR risk measure.opt::RiskJuMPOptimisationEstimator: Risk-based optimisation estimator.pr::AbstractPriorResult: Prior result containing the returns matrixX.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_risk_constraints! Method
set_risk_constraints!(
model::Model,
i,
r::DistributionallyRobustConditionalValueatRiskRange,
opt::RiskJuMPOptimisationEstimator,
pr::AbstractPriorResult,
args...;
kwargs...
) -> AnyAdd JuMP risk constraints for DistributionallyRobustConditionalValueatRiskRange (DR-CVaR range) to model.
Encodes both lower-tail and upper-tail distributionally robust CVaR expressions using Wasserstein ambiguity ball constraints, then computes their difference as the range risk.
Arguments
model::JuMP.Model: The JuMP optimisation model.i: Constraint index for unique variable and constraint naming.r::DistributionallyRobustConditionalValueatRiskRange: The DR-CVaR range risk measure.opt::RiskJuMPOptimisationEstimator: Risk-based optimisation estimator.pr::AbstractPriorResult: Prior result containing the returns matrixX.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_risk_constraints! Method
set_risk_constraints!(
model::Model,
i,
r::ConditionalDrawdownatRisk,
opt::RiskJuMPOptimisationEstimator,
pr::AbstractPriorResult,
args...;
kwargs...
) -> AnyAdd JuMP risk constraints for ConditionalDrawdownatRisk (CDaR) to model.
Introduces a drawdown-at-risk variable and non-negative exceedance variables over the drawdown series. The CDaR risk expression is the expected shortfall over drawdowns.
Arguments
model::JuMP.Model: The JuMP optimisation model.i: Constraint index for unique variable and constraint naming.r::ConditionalDrawdownatRisk: The CDaR risk measure.opt::RiskJuMPOptimisationEstimator: Risk-based optimisation estimator.pr::AbstractPriorResult: Prior result containing the returns matrixX.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_risk_constraints! Method
set_risk_constraints!(
model::Model,
i,
r::DistributionallyRobustConditionalDrawdownatRisk,
opt::RiskJuMPOptimisationEstimator,
pr::AbstractPriorResult,
args...;
kwargs...
) -> AnyAdd JuMP risk constraints for DistributionallyRobustConditionalDrawdownatRisk (DR-CDaR) to model.
Encodes a distributionally robust CDaR using Wasserstein ambiguity ball constraints applied to the drawdown series.
Arguments
model::JuMP.Model: The JuMP optimisation model.i: Constraint index for unique variable and constraint naming.r::DistributionallyRobustConditionalDrawdownatRisk: The DR-CDaR risk measure.opt::RiskJuMPOptimisationEstimator: Risk-based optimisation estimator.pr::AbstractPriorResult: Prior result containing the returns matrixX.
Returns
nothing.
Related
source