How to deal with the quadratic programming in practice when there is no minimal value

51 Views Asked by At

Here is a quadratic programming problem: $$\min\limits_{\textbf{x}} f(\textbf{x}) = \textbf{x}\ M \ \textbf{x}^T$$ $$0.04 \leq \sum\limits_{i=1}^n x_i\leq 0.35$$ $$0 \leq x_i\leq 0.08$$ $$1 \leq \sum\limits_{i=1}^n x_iR_i\leq 2$$ where $\textbf{x} = (x_1,\cdots,x_n),$ $M$ the covariance matrix and $\textbf{R} = (R_1,\cdots,R_n)$ return vector are given.

When I deal with this problem in practice, the dimension of covariance matrix $M$ is very large, then it may be not positive defined and there is no minimal value(maybe there are some additional issues). Is there any method in optimization to manage such case, like looking for a approximate positive defined matrix of $M$ with small error?

1

There are 1 best solutions below

6
On

In theory a covariance matrix is pos def (in practice we can see some issues). Sometimes it helps to use a slightly different formulation where we use the original data explicitly. Using the mean adjusted returns

$$ a_{i,t} = r_{i,t}-\mu_i$$

we can form

$$\begin{align} \min\>&\sum_t w_t^2\\ &w_t = \sum_i a_{i,t} x_i\end{align}$$

This formulation sometimes behaves better (guaranteed pos def with a nice diagonal $Q$ matrix). (Complete derivation here).