Tracking Error Constraints
PortfolioOptimisers.set_tracking_error_constraints! Function
set_tracking_error_constraints!(args...; kwargs...)Add tracking error constraints to the JuMP optimisation model.
The fall-through method does nothing. Concrete methods dispatch on the tracking algorithm type:
L1Tracking: Enforces‖net_X - wb * k‖₁ ≤ err * Tvia NormOneCone.L2Tracking/SquaredL2Tracking: Enforces a scaled L2 norm via SecondOrderCone.LpTracking: Enforces a scaled Lp norm via power cone.LInfTracking: Enforces‖net_X - wb * k‖_∞ ≤ err * scalevia NormInfinityCone.IndependentVariableTracking: Substitutesw - wbforwand applies the chosen risk constraint.DependentVariableTracking: Constrains the absolute difference between portfolio risk and benchmark risk.
The collection method iterates over all tracking errors in tres.
Arguments
model::JuMP.Model: The JuMP optimisation model.i::Integer: Constraint index for generating unique variable and constraint names.pr::AbstractPriorResult: Prior result providing the return matrixX.tr: Tracking error specification.opt: Optimisation estimator (required for risk-based tracking variants).pl: Optional phylogeny constraints.fees: Optional fees structure.
Returns
nothing.
Related
source