Skip to content
13

Conditional XatRisk Constraints

PortfolioOptimisers.set_risk_constraints! Method
julia
set_risk_constraints!(
    model::Model,
    i,
    r::ConditionalValueatRisk,
    opt::RiskJuMPOptimisationEstimator,
    pr::AbstractPriorResult,
    args...;
    kwargs...
) -> Any

Add 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 matrix X.

Returns

  • nothing.

Related

source
PortfolioOptimisers.set_risk_constraints! Method
julia
set_risk_constraints!(
    model::Model,
    i,
    r::ConditionalValueatRiskRange,
    opt::RiskJuMPOptimisationEstimator,
    pr::AbstractPriorResult,
    args...;
    kwargs...
) -> Any

Add 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 matrix X.

Returns

  • nothing.

Related

source
PortfolioOptimisers.set_risk_constraints! Method
julia
set_risk_constraints!(
    model::Model,
    i,
    r::DistributionallyRobustConditionalValueatRisk,
    opt::RiskJuMPOptimisationEstimator,
    pr::AbstractPriorResult,
    args...;
    kwargs...
) -> Any

Add 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 matrix X.

Returns

  • nothing.

Related

source
PortfolioOptimisers.set_risk_constraints! Method
julia
set_risk_constraints!(
    model::Model,
    i,
    r::DistributionallyRobustConditionalValueatRiskRange,
    opt::RiskJuMPOptimisationEstimator,
    pr::AbstractPriorResult,
    args...;
    kwargs...
) -> Any

Add 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 matrix X.

Returns

  • nothing.

Related

source
PortfolioOptimisers.set_risk_constraints! Method
julia
set_risk_constraints!(
    model::Model,
    i,
    r::ConditionalDrawdownatRisk,
    opt::RiskJuMPOptimisationEstimator,
    pr::AbstractPriorResult,
    args...;
    kwargs...
) -> Any

Add 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 matrix X.

Returns

  • nothing.

Related

source
PortfolioOptimisers.set_risk_constraints! Method
julia
set_risk_constraints!(
    model::Model,
    i,
    r::DistributionallyRobustConditionalDrawdownatRisk,
    opt::RiskJuMPOptimisationEstimator,
    pr::AbstractPriorResult,
    args...;
    kwargs...
) -> Any

Add 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 matrix X.

Returns

  • nothing.

Related

source