Skip to content
All library documents

Local Quadratic Approximation for Cubic Portfolio Optimization

Article Quant Q&A · Author: Luigi87

Summary

The document considers a portfolio objective that combines expected return, covariance-based risk, and a cubic co-skewness term. It explains that the cubic objective cannot generally be rewritten exactly as a quadratic, but can be approximated locally with a second-order Taylor expansion around a current portfolio estimate. Repeating this approximation is the core idea of Newton-style iterative optimization.

The response notes that non-convexity creates additional difficulties: an iterative method may converge to a local rather than global optimum, or fail to find a minimum if one does not exist. It says convergence can be rapid under suitable conditions and that a good initial estimate informed by domain knowledge may help. The discussion is conceptual and supplies no portfolio data, empirical tests, or detailed convergence conditions; it also does not provide an implementation or establish that the method will reliably locate a global solution.

Key ideas

  • A cubic co-skewness objective cannot generally be converted exactly into a quadratic problem.
  • A second-order Taylor expansion can approximate the objective near a current portfolio estimate.
  • Newton-style optimization repeatedly updates the local quadratic approximation.
  • Non-convexity can lead to local optima or an objective with no minimum.
  • A suitable initial estimate can help, but does not guarantee a global solution.

Tags

Full text
# How to transform a cubic optimisation problem into a quadratic for portfolio allocation


# How to transform a cubic optimisation problem into a quadratic for portfolio allocation












I have the following cost function for portfolio allocation:

$$ w^T\mu-\frac{1}{2}\gamma w^T\Sigma w+\frac{1}{6}\gamma^2 w^TM_3(w\otimes w), $$

which considers also the co-skewness ($M_3$ tensor), $\gamma$ is the risk aversion (a constant)

This function is cubic and non convex, so I cannot use the typical convex optimisation with `cvxpy` in python. However, it should be possible to transform/replace the cubic term with a quadratic term and adding a new constraint in order to have a non-convex but now quadratic form, which can be solved probably more easily.

Can anyone help please to reformulate the above equation in order to make it quadratic? Can I still use `cvxpy` for non-convex optimisation?

This question is a follow-up to:

- Is quadratic programming used to maximize portfolio skewness and kurtosis?

- How to add the effect of skewness in the portfolio optimisation objective function?

## Answer by Adam Cataldo (score 0, accepted)

https://quant.stackexchange.com/a/76264

I don't think you can reformulate the problem as written to be quadratic, but you can "cheat", and approximate it as a quadratic problem locally. That's the general idea behind using Newton's method in optimization. If

$$ f(w) := w^T\mu-\frac{1}{2}\gamma w^T\Sigma w+\frac{1}{6}\gamma^2 w^TM_3(w\otimes w) $$

is your optimization function, then, thanks to the Taylor series, at any $w_k \in \mathbb{R}$ with all the required derivatives defined,

$$ f(w_k) \approx f(w_k) + \nabla f(w_k)^Tw_k + \frac{1}{2}w_k^T\nabla^2f(w_k)w_k^T $$

in some neighborhood of $w_k$. Here $\nabla f(w_k)$ and $\nabla^2 f(w_k)$ are the gradient and Hessian matrix, respectively. Under some fairly general conditions, like boundedness near the minimum, or constraints on the size of the derivative, you can show that Newton's method will converge superlinearly to a minimum.

That solves one of your two problems, which is how to deal with cubic terms. You iteratively approximate your function as a quadratic at each step, until you find a minimum. In practice, this can work quite well for a wide class of problems.

The second problem you mentioned is that the function is non-convex, which poses some risks:

- The function has local minimum, and your optimization method converges on a non-global, local minimum.

- The function has no minimum at all, and your optimization method sputters on until it hits some maximum number of steps and gives up.

There are some techniques that can be used to deal with local minimum, but there's usually not a guarantee that they will find a global minimum. Stochastic optimization methods are built to deal with this type of problem, but you don't always need the complexity these introduce. In particular, if you have some domain knowledge you can use to find a "close" initial guess of the minimum, Newton's method should converge to the global minimum when it exists.

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.