SDP Constraints
PortfolioOptimisers.set_sdp_constraints! Function
set_sdp_constraints!(model::Model) -> AnyAdd a positive semidefinite (PSD) constraint to the JuMP optimisation model for the portfolio weights.
Creates a symmetric matrix variable W and enforces that the bordered matrix [W w; wᵀ k] lies in the PSD cone. Returns immediately if W already exists in model.
Arguments
model::JuMP.Model: The JuMP optimisation model.
Returns
W: Symmetric JuMP variable matrix of sizeN × N.
Related
sourcePortfolioOptimisers.set_sdp_frc_constraints! Function
set_sdp_frc_constraints!(model::Model) -> AnyAdd a positive semidefinite (PSD) constraint for factor risk contribution to the JuMP optimisation model.
Creates a symmetric matrix variable frc_W and enforces that the bordered matrix [frc_W w1; w1ᵀ k] lies in the PSD cone. Returns immediately if frc_W already exists in model.
Arguments
model::JuMP.Model: The JuMP optimisation model.
Returns
frc_W: Symmetric JuMP variable matrix of sizeNf × Nf.
Related
sourcePortfolioOptimisers.set_sdp_phylogeny_constraints! Function
set_sdp_phylogeny_constraints!(
model::Model,
plgs::Union{Nothing, AbstractPhylogenyConstraintResult, AbstractVector{<:AbstractPhylogenyConstraintResult}}
)Add semidefinite phylogeny constraints to the JuMP optimisation model.
Iterates over plgs and, for each SemiDefinitePhylogeny entry, enforces A ⊙ W = 0 and optionally adds p * tr(W) to the objective penalty. Does nothing when plgs contains no SemiDefinitePhylogeny instances.
Arguments
model::JuMP.Model: The JuMP optimisation model.plgs: Phylogeny constraint(s). Acceptsnothing, a single phylogeny, or a vector.
Returns
nothing.
Related
sourcePortfolioOptimisers.set_sdp_frc_phylogeny_constraints! Function
set_sdp_frc_phylogeny_constraints!(
model::Model,
plgs::Union{Nothing, Union{var"#s381", var"#s379"} where {var"#s381"<:AbstractPhylogenyConstraintEstimator, var"#s379"<:AbstractPhylogenyConstraintResult}, AbstractVector{<:Union{var"#s381", var"#s379"} where {var"#s381"<:AbstractPhylogenyConstraintEstimator, var"#s379"<:AbstractPhylogenyConstraintResult}}}
)Add semidefinite phylogeny constraints for factor risk contribution to the JuMP optimisation model.
Iterates over plgs and, for each SemiDefinitePhylogeny entry, enforces A ⊙ frc_W = 0 and optionally adds p * tr(frc_W) to the objective penalty. Does nothing when plgs contains no SemiDefinitePhylogeny instances.
Arguments
model::JuMP.Model: The JuMP optimisation model.plgs: Phylogeny constraint(s). Acceptsnothing, a single phylogeny, or a vector.
Returns
nothing.
Related
source