Markowitz support enumeration¶
Track: long-only fractional allocation. Method ID: exact-fractional.
Enumerates nonempty supports, solves each equality-constrained quadratic stationarity system, filters negative weights, and keeps the best feasible allocation. Singular systems use least squares.
Dependencies: NumPy; no extra dependencies.
Key parameters: lam sets risk aversion; tol permits small numerical negative weights before clipping and normalization.
Guarantees and limits: A small-instance reference for the convex problem with positive semidefinite covariance. It uses numerical linear algebra rather than certified exact arithmetic, and support enumeration grows exponentially. Zero risk aversion selects a maximum-return vertex.
Example¶
Use the shared inputs.
from vqe_portfolio.baselines import exact_long_only_markowitz_baseline
weights, objective = exact_long_only_markowitz_baseline(mu, Sigma, lam=4.0)