Skip to content
Module 08 of 1055 min readAdvanced

Conic optimisation — SOCP and SDP

Second-order cone programs and semidefinite programs. Robust portfolio optimisation, ellipsoidal uncertainty, covariance-shrinkage cones.

80%

Listen along

Read “Conic optimisation — SOCP and SDP” aloud

Plays in your browser using on-device text-to-speech — nothing leaves the page.

Conic optimisation generalises LP and QP into a unified, deeply-elegant framework. Almost every convex optimisation problem encountered in finance can be cast as a conic program over LP cones, second-order cones, or semidefinite cones. Modern solvers (MOSEK, ECOS, SCS) target this conic structure directly.

The conic primal

math
minimize cᵀ x
subject to A x = b
x ∈ K
K = a closed convex cone in Rⁿ

Choosing K = R^n_+ gives LP (positive orthant). Choosing K as a second-order cone gives SOCP. Choosing K as the cone of PSD matrices gives SDP. The same algorithmic ideas (interior-point methods) work for all three.

Second-order cone (Lorentz cone, 'ice cream cone')

math
L^n = {(t, x) ∈ R × R^(n-1) : ‖x‖ ≤ t}

Vectors whose Euclidean norm is bounded by their first coordinate. Every QP is an SOCP (introduce a slack equal to √(quadratic form)). The classical SOCP application: minimise costs subject to a worst-case ellipsoidal-uncertainty constraint.

Robust portfolio optimisation

Mean-variance is famously sensitive to estimation error in μ. Robust portfolio optimisation assumes μ lies in an uncertainty set U (e.g., an ellipsoid) and maximises worst-case expected return:

math
max inf_{μ ∈ U} μᵀw - λ wᵀΣw

For U an ellipsoid centred at μ̂ with shape Ω, the inner min is μ̂ᵀw - κ √(wᵀΩw), which makes the outer max an SOCP. The robust portfolio has more diversified weights and is empirically more stable out-of-sample than nominal Markowitz.

Chance constraints as SOCP

Constraint of the form P(aᵀ x ≤ b) ≥ 1 - α for a ~ N(ā, Σ_a). The chance constraint is equivalent to āᵀ x + Φ⁻¹(1-α) √(xᵀΣ_a x) ≤ b — a second-order cone constraint. Pricing portfolios with VaR-style budget constraints becomes an SOCP.

Semidefinite programming

math
minimize tr(C X)
subject to tr(Aᵢ X) = b_i
X ⪰ 0 (X is symmetric PSD)

Variables are matrices in the PSD cone. Covariance-shrinkage via SDP, distance-to-correlation-matrix projection, GARCH calibration under PSD constraints, and the famous Goemans-Williamson MAX-CUT relaxation are all SDP.

Examples of conic programs in finance

  • Sharpe-ratio maximisation under linear constraints: SOCP.
  • Variance-budgeting (impose Var(wᵀr) ≤ σ²_max): SOCP.
  • Robust factor exposure (factor exposure must lie in a confidence ellipsoid): SOCP.
  • Minimum-trace covariance estimation: SDP.
  • Asset-liability matching with quadratic costs: SOCP.

Solvers and modelling

MOSEK is the commercial benchmark; ECOS and SCS are popular open-source SOCP/SDP solvers. cvxpy compiles disciplined convex programs into conic form automatically — you write 'cp.norm(x, 2) <= t' and cvxpy creates the appropriate SOC. This abstraction lets a quant write portfolio problems at the math level and trust the compiler to produce solver-ready conic problems.

Limits — when SDP becomes slow

SDP scales worse than SOCP and LP. For n variables in a PSD matrix, the problem has O(n²) degrees of freedom. Interior-point SDP solvers handle n up to ~1000 with care; beyond that, first-order methods (SCS) or exploiting structure (sparsity, low rank) is essential.

Exercise

Formulate the following as an SOCP: maximise expected portfolio return subject to a 95% VaR ≤ 5% of NAV, assuming returns are MVN with mean μ and covariance Σ.

Loading progress…
LeadAfrikPublic Economics Hub