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
minimize cᵀ xsubject to A x = bx ∈ KK = 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')
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:
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
minimize tr(C X)subject to tr(Aᵢ X) = b_iX ⪰ 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 Σ.