Sparse Mean-Variance (Reweighted L1)
Long-only mean-variance with a penalty that makes each small holding expensive, so the portfolio holds fewer names than plain mean-variance. The penalty is an term whose weights are updated from the last solution, the reweighting scheme of Candès, Wakin and Boyd (2008). The API value is SparseMarkowitzL1.
Overview
Brodie, Daubechies, De Mol, Giannone and Loris (2009) added an term to the Markowitz objective, the lasso idea (Tibshirani, 1996) applied to portfolio weights. Their program allows short positions, and the penalty then limits gross exposure. A long-only, fully invested portfolio cannot use that mechanism: on that set for every portfolio, so a plain term is a constant and changes nothing.
This method replaces the plain term with a reweighted one. Each name gets its own cost, set from its weight in the last solve. A name that the last solve held at a small weight becomes expensive, and a name held at a large weight stays cheap. Repeating the solve moves weight off the marginal names. Each solve is a convex quadratic program; the repeated procedure is a heuristic.
Runs before November 2026 used the plain term on the simplex, with a return weight of 8, which made them mean-variance at a very low risk aversion under a sparse name. Their record has no optimizer_spec. Runs on the present program record optimizer_spec.spec_version 2.
Mathematical Formulation
One pass
- - the arithmetic mean of daily returns, times 252
- - the Ledoit-Wolf shrunk covariance of daily returns, times 252
- - the weight on expected return
- - the penalty strength
- - the weight below which a name counts as not held
- - the weights from the previous pass
The first pass gives every name the same cost, so it is plain mean-variance. When is close to the name's weight in this pass, the penalty term is close to for each name held, so reads as the cost of one more holding.
The loop
The method repeats the pass until the weights change by less than in total, or for at most 20 passes. The result records the number of passes and whether the loop converged, in sparsity.iterations and sparsity.converged. It also records sparsity.holdings_above_half_percent.
Why these values
At the unpenalised program holds a diversified portfolio, so the penalty has names to remove. At a return weight of 8, the old setting, the unpenalised program already held one or two names. Measured on FolioLab's four regression books in November 2026, the present values hold 3, 4, 7 and 4 names above 0.5% on books of 4, 10, 32 and 10 names. These are measurements of the setting on those books, not targets, and not a claim about performance.
What the method does not promise
- No holding count. The penalty makes holdings fewer. It does not guarantee a number. "At most K names" needs an explicit cardinality constraint, which this method does not have.
- No global optimum. Each pass is convex, but the loop is a nonconvex heuristic. A different start could stop at a different portfolio.
- Floors win. A per-name minimum weight holds that name however expensive the penalty makes it. The result lists such names in
sparsity.floored_assets. The method never drops a constraint to get fewer names. - Not validated out of sample. Fewer names can reduce trading and monitoring work, and can also concentrate risk. Nothing here claims that the method performs better than mean-variance.
Per-name weight bounds, asset exclusions and group limits enter every pass as extra rows, beside the method's own bounds, and the tighter of the two applies. The method needs at least 30 daily return observations.
References
- Candès, E. J., Wakin, M. B., & Boyd, S. P. (2008). "Enhancing Sparsity by Reweighted ℓ1 Minimization." Journal of Fourier Analysis and Applications, 14(5-6), 877-905.
- Brodie, J., Daubechies, I., De Mol, C., Giannone, D., & Loris, I. (2009). "Sparse and Stable Markowitz Portfolios." Proceedings of the National Academy of Sciences, 106(30), 12267-12272.
- Tibshirani, R. (1996). "Regression Shrinkage and Selection via the Lasso." Journal of the Royal Statistical Society: Series B, 58(1), 267-288.
- Markowitz, H. (1952). "Portfolio Selection." The Journal of Finance, 7(1), 77-91.
Not investment advice. Past performance is not indicative of future results.