Regularized Minimum-Variance Portfolios and Convex Optimization
Summary
The document explains how to extend minimum-variance portfolio construction by adding a penalty on asset weights while keeping the weights summing to one. It notes that a convex penalty yields a convex optimization problem that can be solved numerically, whereas a nonconvex penalty may make optimization difficult. An absolute-value penalty leads to a LASSO-like objective without a general analytic solution.
For a squared-weight penalty, the regularization term can be combined with the covariance matrix as a diagonal shift, giving a closed-form solution analogous to the unregularized portfolio. The answer also describes a simulation with a random covariance matrix in which increasing the penalty moves weights toward equal weighting. That example is illustrative rather than empirical, so its behavior should not be generalized beyond the stated long-run convergence.
Key ideas
- A convex penalty keeps the constrained portfolio problem convex and suitable for numerical optimization.
- An absolute-value penalty generally does not provide a simple analytic portfolio formula.
- A squared-weight penalty replaces the covariance matrix with the covariance matrix plus a scaled identity matrix.
- In the stated simulation, stronger squared-weight regularization moves portfolio weights toward equal weighting.
Tags
Full text
# Finding a minimum variance portfolio when using a regulariser?
# Finding a minimum variance portfolio when using a regulariser?
I am aware that the minimum variance portfolio of a market with $n$ securities can be shown to be:
\begin{equation} w^* = (1^T_n\Sigma^{-1}1_n)^{-1}\Sigma^{-1}1_n, \\ s.t. \ \ 1^T_nw = 1 \end{equation}
by using the method of Langrange multipliers or other. I am interested in demonstration of the extension: \begin{equation} w^* = \underset{w}{\mathrm{argmin}}\lbrace w^T \Sigma w + \lambda\sum_{i=1}^n\rho(w_i)\rbrace\\ s.t. \ \ 1^T_nw = 1 \end{equation}
where $\rho(.)$ is some arbitrary penalty function (e.g. $\lvert w_i\rvert$).
Perhaps you could go through the process step by step as I am getting lost when I try.
Thanks!
## Answer by Matthew Gunn (score 5, accepted)
https://quant.stackexchange.com/a/38037
You're not going to get an analytic formula except in special cases of function $\rho(x)$. And you're probably going to want $\rho$ convex.
- If $\rho$ is convex, the problem is a convex optimization problem and can be efficiently solved numerically. If $\rho$ isn't convex, the optimization problem may be difficult to solve. If $\rho(x) = |x|$ you basically have the LASSO objective which doesn't have an analytic solution (though the solution can be efficiently found numerically). If $\rho(x) = x^2$, you get a clean formula.
#### Special case $\rho(x) = x^2$
Then $\lambda \sum_i \rho(w_i) = \lambda \mathbf{w}'I\mathbf{w}$. Your optimization problem is then:
\begin{equation} \begin{array}{*2{>{\displaystyle}r}} \mbox{minimize (over $w_i$)} & \mathbf{w}' \left(\Sigma + \lambda I \right)\mathbf{w} \\ \mbox{subject to} & \sum w_i = 1 \end{array} \end{equation}
And it's essentially the same as your original problem. $\Sigma$ is replaced by $\Sigma + \lambda I$.
\begin{equation} w^* = \frac{\left( \Sigma + \lambda I\right)^{-1}\mathbf{1}}{\mathbf{1}'\left( \Sigma + \lambda I\right)^{-1}\mathbf{1}} \end{equation}
(Just to be explicit, I use bold letters for vectors and $I$ is the identity matrix.)
-- Update -- Motivated by the comment from @noob2, I've attached a simulated example showing how security weights (in case $n = 8$) change as $\lambda$ increases. As @noob2 pointed out, higher $\lambda$ pushes weights towards the equal weight portfolio.
(Note: I've used a random covariance matrix, not one based on actual data. So don't over generalize anything besides the long run convergence towards 1/n.)Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.