Estoy trabajando a través de este documento .
Quiero implementar la optimización bayesiana robusta (ver páginas 6 en adelante) en Matlab usando fmincon .
He aquí un breve resumen de mi problema:
Dejemos que $\alpha$ sea el vector de rendimientos y que $w$ sea ta conjunto de pesos que representan una cartera.
Entonces, nuestro problema habitual de media-varianza es encontrar las ponderaciones de cartera resultantes que minimicen la varianza de la cartera $\sigma^2(x)=w' \Sigma w$ .
En el marco robusto, se supone que el vector de rendimientos se encuentra en algún región de incertidumbre Llámalo $U$ . Aquí, los autores definen esa región como la esfera centrada en $\alpha$ con un radio igual a $|\chi| \cdot \alpha$ con $\chi \in [0,1]$ .
En otras palabras, nuestro problema de optimización se convierte ahora en
$\min_\omega\omega'\Sigma\omega$ con sujeción a $\min_Ur_p \geq r_0$
donde $\Sigma$ es una matriz definida positiva y $\omega$ es un vector de pesos que suman 1.
También: $r_p=\alpha'\omega$ .
Los autores demuestran que:
$$\min_U r_p=|\alpha||w|[cos(\phi)-\chi]$$
donde $\phi$ es el ángulo entre los dos vectores $\alpha$ y $\omega$ .
Dan la fórmula para la "familia de matrices de covarianza robustas" - (ver página 7, ec. 13) así como la fórmula para los pesos optimizados (ver página 7, ec. 12).
Estoy tratando de implementar esto en Matlab. Sin embargo, no se pueden utilizar las ecuaciones (12) o (13) ya que ambas ecuaciones requieren que se conozcan los pesos optimizados.
Mi pregunta es, por lo tanto, si existe un método para implementar una optimización robusta como ésta O alguna sugerencia sobre cómo podría hacerlo?