Global solver for large-scale non-convex and discontinuous portfolio optimization models

Optimization models (e.g., modern portfolio theory, Black-Litterman) are widely used to determine the optimal way to rebalance portfolios, and achieve maximum returns at minimal risk.

The Octeract solver is the only commercially available software that can guarantee the globally optimal solution for large-scale non-convex discontinuous portfolio rebalancing models. The solver offers a unique combination of features, powered by proprietary deterministic global optimization algorithms:

  • It can determine the optimal cardinality of non-zero weighted stocks. The user simply states that they want to impose cardinality on \(\boldsymbol x\), and the solver will calculate the globally optimal number of non-zero weights for stocks, as well as the weight for each stock, automatically.
  • It can impose the non-convex lower bound on tracking error, allowing unparalleled precision in navigating the solution space.
  • It can impose non-smooth/discontinuous active share constraints. These types of constraints are particularly important for active index funds who want to be able to prove to their clients that they are not passively tracking the index. In fact, research has shown that the majority of funds with low active shares over long periods of time tend to under-perform.

These three types of constraints make the optimization problem non-convex, discontinuous and, thus, currently unsolvable to global optimality by conventional optimization software.

Mathematical description

The Octeract solver can solve large-scale non-convex discontinuous portfolio optimization models of the following type (alternative formulations on tracking error and active share are also available upon request):

$$\begin{align} \underset{\boldsymbol x\in X}{\min}
&\;f(\boldsymbol x) \\
s.t.&\;\boldsymbol g(\boldsymbol x)\leq 0\\
&\;\boldsymbol h(\boldsymbol x)= 0\\
&\;K^L\leq Card(x_i \neq 0)\leq K^U & \text{(Cardinality constraints)}\\
&\;TE^L\leq\sqrt{(\boldsymbol x - \boldsymbol x^{bench})^T Q (\boldsymbol x - \boldsymbol x^{bench})}\leq TE^U & \text{(Tracking Error constraint)}\\
&\;AS^L\leq 1-\sum_{i=0}^{i=N}{\min(x_i,x_i^{bench})}\leq AS^U & \text{(Active share constraint)}\\
&\;AS^L\leq \frac{1}{2}\sum_{i=0}^{i=N}|x_i-x_i^{bench}|\leq AS^U & \text{(Active share constraint)}\\
& X=[\boldsymbol x^L,\boldsymbol x^U]\end{align}$$

where \(\boldsymbol g: \mathbb{R}^N\rightarrow\mathbb{R}^{N_g}, \boldsymbol h: \mathbb{R}^N\rightarrow\mathbb{R}^{N_h},f:\mathbb{R}^N\rightarrow\mathbb{R}\) are real-valued linear or quadratic convex functions, \(N\) is the number of variables, \(N_g,N_h\) are the numbers of the respective inequality and equality constraints, and \(\boldsymbol x^{bench}\) holds the values of the benchmark for the desired universe of stocks (e.g., S&P 500).

\(Q\) represents the covariance matrix of the stocks, and \(x_i \) is the weight for each stock. \(K^L,K^U\) are the desired bounds on cardinality, \(TE^L,TE^U\) are the desired bounds on the tracking error, and \(AS^L,AS^U\) are the desired bounds on the active share.

    Interested in an order or trial? Contact us at:
    info@octeract.co.uk!