Why Minimum Leverage Constraints Can Break Convex Portfolio Optimization
Summary
The document presents a portfolio optimization modeling problem. The decision variables represent net asset weights and separate gross long and short positions, with constraints linking net weights to those positions and bounding total gross exposure. The author asks how to impose a lower bound on leverage, or a similar minimum-risk condition, while keeping the formulation compatible with a second-order cone program.
The problem highlights a key modeling issue: the relation between net weights and long/short variables does not by itself ensure that gross positions equal the absolute values of net weights. As a result, a lower bound on the long-plus-short variables may not enforce a meaningful minimum exposure. The author also observes that a quadratic expression coupling long and short positions may fail the positive-semidefinite requirement, while a lower bound on portfolio volatility describes the exterior of a norm ball and is nonconvex. The excerpt contains no proposed resolution or empirical comparison, so it serves as a formulation question rather than a validated optimization method.
Key ideas
- Net weights can be represented as gross long positions minus gross short positions.
- A cap on gross long and short positions limits leverage but does not force them to match the absolute net weights.
- A minimum bound on gross positions may therefore fail to enforce minimum invested exposure.
- A lower bound on portfolio volatility is generally nonconvex in a second-order cone formulation.
- The document raises the modeling problem but does not provide a solution.
Tags
Full text
# Implementing Minimum Leverage in an SOCP Portfolio Optimization
# Implementing Minimum Leverage in an SOCP Portfolio Optimization
I'm optimizing a portfolio of n assets and my optimization variable is of the form $$x = [t,w,w_L,w_S]$$ where $$t:= \text{slack variable for turning my QP objective into SOCP constraint}$$ $$w:=\text{n-length vector of net weights}$$ $$w_L:=\text{n-length vector of gross long positions}$$ $$w_L:=\text{n-length vector of gross short positions}$$
I have constraints which ensure that $w = w_L - w_S$, and am controlling for maximum leverage by $w_L + w_S \le M$. This all works perfectly well.
I want to implement some form of fully-invested constraint. So, I (naively) inserted a minimum leverage constraint that $w_L + w_S \ge m.$ I soon realized that my optimization is generating boxed positions such that $\|w\|_1 \ne w_L + w_s$ and that the results with and without minimum leverage are the same.
I then tried to formulate the constraint as $x^TAx \le 0$ where $x^TAx = w_L^Tw_S$, but $A$ wouldn't be positive semi-definite in this case, so I can't turn this into a cone constraint.
I then thought briefly about setting minimum risk, but this resolves into the complement of a second-order cone which is non-convex: $\|\Sigma^{1/2}w\| \ge \sigma.$
Is there a way to implement this minimum leverage constraint and/or minimum risk constraint, or something very similar?
I'm using python with $\verb |cvxopt.solvers.socp|$ as my solver, in case this further informs any comments. If you need any other info to provide a meaningful response, please let me know.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.