Add non-negativity constraint to a reverse optimization function

117 Views Asked by At

I am working with a model for portfolio management (Black-Litterman specifically) in finance. I have problems trying to impose a constraint where I want the values of a vector ($w_i$) to be non-negative.

And this is my reverse optimization function.

$$\mu = \delta \Sigma w, $$ where $\delta$ is a constant

$$ \Omega = \tau (P' \Sigma P), $$ where $P$ is a non-singular $3\times n$ matrix and $\Omega$ is a diagonal matrix with $0$'s in the off-diagonal positions

$$ \Pi = [(\tau \Sigma)^{-1} + P' \Omega P ]^{-1} [(\tau \Sigma)^{-1} \mu + P'\Omega^{-1} Q],$$ where $Q$ is a $1 \times 3$ vector

$$ w_i = \frac{1} \tau \Sigma ^{-1} \Pi $$

  • $w_i$ is a $n \times 1$ vector

  • $\Sigma$ is a $n \times n$ non-singular matrix

  • $\Pi$ is a $n \times 1$ vector

  • $\tau$ is a constant

Is it possible to add a constraint to this function such that all values in $w_i$ is non-negative?