Journal of Industrial and Management Optimization

Convex and sphere packing approaches to portfolio optimization

Tumendelger Lkhagvasuren, Bolorsuvd Batbold, Enkhbat Rentsen
Graduate School, University of Finance and Economics, Ulaanbaatar · Bank of Mongolia · Department of Economics, University of Finance and Economics · Institute of Mathematics and Digital Technology, Mongolian Academy of Sciences
JIMO 616 Received 10 Dec 2025 Revised 22 Feb 2026 Accepted 3 Mar 2026 MSC 90C25 · 90C20 · 52C17 · 91G10

Mean–variance optimization gives you the exact best portfolio for a target return — and that portfolio sits precisely on the edge of what the mandate allows. This paper asks a different question: where inside the admissible region can you stand so that nothing nearby breaks?

Abstract

Classical mean–variance optimization yields exact efficient-frontier allocations for prescribed return or risk levels; however, such extremal solutions may be fragile under estimation error and mandate perturbations. This paper studies portfolio construction within the quadratic mean–variance framework from a feasibility and structural stability perspective by restricting attention to ε–approximate admissible allocations under return, variance, and relaxed budget constraints. To quantify interior stability, we introduce a sphere–packing–based geometric construction that inscribes the largest Euclidean ball within the linear return–budget region, yielding the Chebyshev center and an explicit robustness radius equal to the distance to the constraint boundary. Computational experiments calibrated to the investment mandate of the Sovereign Wealth Fund of Mongolia illustrate stable feasibility restoration and robustness under parameter perturbations.

Everything on this page is computed live. The linear program, the quadratic step-size interval, and the Monte Carlo directional search all run in your browser from the paper's estimated inputs. Move a slider and every number and figure below it is re-solved from scratch — nothing here is a stored result.

The inputs

The asset universe follows the mandate segments of the Sovereign Wealth Fund of Mongolia: a fixed-income sleeve, an equity sleeve, a deposit sleeve, and a liquidity sleeve. Monthly returns from January 2000 to September 2025 were annualized by a factor of twelve.

Expected returns μ and the annualized covariance matrix C.
Asset classμj 0–5Y USTS&P 500LIBOR 3MFed O/N

Note the structure that drives everything below: the S&P 500 carries roughly seventy-six times the variance of the Treasury sleeve, and its covariance with Treasuries is negative. Return is concentrated in exactly the asset that dominates risk.

The feasible region, and where to stand in it

Fix a return floor u0, a variance cap σmax, and allow partial investment — a liquidity buffer means the weights need only sum to at most one. The admissible set splits into a polyhedron and an ellipsoid:

D1, D2 D1 = { x : ⟨μ, x⟩ ≥ u0, ∑xj ≤ 1, 0 ≤ xj ≤ 1 }
D2 = { x : ⟨Cx, x⟩ ≤ σ2 + ε }

The figure below is a two-dimensional slice through that four-dimensional geometry, taken at xLIBOR = xFed = 0 — the plane the solution actually lives in. Drag the sliders to reshape the region.

Figure 1 · The admissible region and its inscribed ball
D₁ — return & budget D₂ — variance cap inscribed ball B(x⁰, r*) x_ver — after Stage 2

Stage 1 — the largest ball that fits

For a polyhedron = { x : ⟨ai, x⟩ ≤ bi }, a ball of radius r centred at x fits inside exactly when each constraint is satisfied with a margin proportional to the row norm:

B(x, r)  ⇔  ⟨ai, x⟩ + rai‖ ≤ bi,   i = 1, …, m.

That condition is linear in the pair (x, r), so maximizing the radius is a linear program — and its solution is the Chebyshev center:

Stage 1
maximizer
subject toμ, x⟩ − rμ‖ ≥ u0
j xj + rn ≤ 1
xj + r ≤ 1
x ≥ 0,   r ≥ 0
A note on the two toggle settings in Figure 1. The program above applies the margin term rai‖ to the return, budget and upper-bound rows, while non-negativity enters as xj ≥ 0 — a condition on the center rather than on the ball. This is the published formulation and it yields r* = 0.108382. Selecting + no-short adds xjr ≥ 0, so the ball is also required to stay in the non-negative orthant; the radius then falls to 0.065723 and the center moves off the axis to a fully diversified point. Both are reported live so the difference is visible rather than asserted.

Stage 2 — steering into the variance ellipsoid

The Chebyshev center satisfies the linear constraints by construction but need not respect the variance cap. Stage 2 walks from x0 along a direction h and asks how far it can go. Substituting x(α) = x0 + αh into the quadratic constraint gives a scalar quadratic in α:

2 + bα + c ≤ 0,    a = ⟨Ch, h⟩,   b = 2⟨Cx0, h⟩,   c = ⟨Cx0, x0⟩ − σ2ε

Whenever the discriminant is non-negative the admissible steps form a closed interval [α1, α2], computed in closed form — no search required. Note that the interval does not reach zero: α = 0 is x0 itself, whose variance of 0.01413 sits well above the cap of 0.00631. The Chebyshev center is genuinely outside D2, and Stage 2 has to travel a minimum distance α1 > 0 to enter it. Directions are then sampled, the step chosen inside the window, negative weights clipped, and the result re-verified against every constraint — clipping moves the point off the ray, so feasibility is checked rather than assumed.

Figure 2 · Monte Carlo directional search in D1 ∩ D2
Each accepted direction yields one verified-feasible portfolio, plotted by risk and return; the selection rule takes the highest expected return among them. Acceptance is sparse — most sampled directions point the wrong way and are discarded before any portfolio is formed. The dashed ring marks the published run (4.81% at 7.15%). The live search generally lands above it: for each direction it maximizes return over the whole analytic window [α1, α2], where the published implementation backtracks from α2 by halving and keeps the first step that verifies. Both are feasible; the interval scan simply searches more of it.

What the construction produces

The table compares the sphere packing allocation against four classical benchmarks and against the convex projection min ‖x − y‖2 solved under identical constraints. Total weight is reported because two of the six portfolios deliberately hold a liquidity buffer.

Portfolio allocations and performance across optimization models. Risk-free rate 1.92%.
Portfolio0–5Y USTS&P 500LIBOR 3MFed O/NTotalReturnRiskSharpe
Figure 3 · Composition and total invested weight
Bars are drawn to a common 100% scale, so the gap at the right end of a bar is the uninvested liquidity buffer. The two feasibility-driven constructions are the only ones that leave one.
Figure 4 · Risk–return position
The grey cloud is 4000 randomly sampled long-only fully-invested portfolios — the attainable set. The sphere packing portfolio sits interior to the mandate box rather than on the frontier; that is the point of the construction, not a shortfall of it.

Two comparisons matter. Against the maximum-return portfolio — 100% equity, 15.18% risk — the sphere packing allocation cuts volatility by more than half while holding return at 4.81%. Against the maximum-Sharpe Markowitz portfolio, it looks worse on Sharpe (0.40 against 0.81) but that portfolio puts 77% into LIBOR and does not satisfy the mandate's return floor at all. The sphere packing solution is the one that stays inside the box while spreading capital between Treasuries (49.4%) and equities (47.9%).

Does it hold under perturbation?

The two-stage construction was recomputed from scratch under ±5% shifts in the variance cap and the return floor, and under changes to the Monte Carlo seed. The published results are reproduced here, with the radius column recomputed live.

Stress test under parameter perturbation. r* recomputed in-browser; remaining columns as published.
Caseu0σmax∑xjReturnRiskr* (published)r* (live)

Three properties stand out. The radius is completely invariant to the variance cap and to the seed — Stage 1 never sees either, so this is structural rather than empirical. It responds smoothly to the return floor, as a linear constraint should. And when the floor is pushed to 4.998%, the intersection D1 ∩ D2 empties and no feasible projection exists — the construction reports infeasibility instead of returning a portfolio that violates the mandate.

What this is for

Robust portfolio optimization usually works by enlarging an uncertainty set or rewriting the objective — ambiguity sets, Wasserstein balls, worst-case conic reformulations. This construction does neither. It leaves the mandate exactly as written and asks a purely geometric question about the region the mandate defines: how deep inside it can a portfolio sit? The answer, r*, is a number in the same units as the weights themselves, and it says something concrete — perturb every weight by up to that amount, in any direction, and the mandate still holds.

That makes it complementary to statistical robustness rather than a competitor. Estimation error in μ and C is someone else's problem to shrink; this is about not standing on the edge of a cliff once you have your estimates.