1 votos

Cómo transformar un problema de optimización cúbico en uno cuadrático para la asignación de cartera

Tengo la siguiente función de costo para la asignación de carteras:

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

que también considera la co-curtosis ($M_3$ tensor), $\gamma$ es la aversión al riesgo (una constante)

Esta función es cúbica y no convexa, por lo que no puedo usar la típica optimización convexa con cvxpy en python. Sin embargo, debería ser posible transformar/reemplazar el término cúbico con un término cuadrático y agregar una nueva restricción para tener una forma no convexa pero ahora cuadrática, lo que probablemente se pueda resolver más fácilmente.

¿Alguien puede ayudar por favor a reformular la ecuación anterior para hacerla cuadrática? ¿Puedo seguir usando cvxpy para optimización no convexa?

Esta pregunta es un seguimiento de:

0voto

SnyperBunny Puntos 131

No creo que puedas reformular el problema tal como está escrito para que sea cuadrático, pero puedes "engañar" y aproximarlo como un problema cuadrático localmente. Esa es la idea general detrás de usar el método de Newton en optimización. Si

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

es tu función de optimización, entonces, gracias a la serie de Taylor, en cualquier $w_k \in \mathbb{R}$ con todas las derivadas requeridas definidas,

$$ 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 $$

en algún vecindario de $w_k$. Aquí $\nabla f(w_k)$ y $\nabla^2 f(w_k)$ son el vector gradiente y la matriz Hessiana, respectivamente. Bajo algunas condiciones bastante generales, como la acotación cerca del mínimo, o restricciones sobre el tamaño de la derivada, se puede demostrar que el método de Newton convergerá superlinealmente a un mínimo.

Eso resuelve uno de tus dos problemas, que es cómo lidiar con términos cúbicos. Aproximas iterativamente tu función como cuadrática en cada paso, hasta que encuentras un mínimo. En la práctica, esto puede funcionar bastante bien para una amplia clase de problemas.

El segundo problema que mencionaste es que la función no es convexa, lo que plantea algunos riesgos:

  1. La función tiene un mínimo local, y tu método de optimización converge a un mínimo local no global.
  2. La función no tiene mínimo en absoluto, y tu método de optimización se estanca hasta que alcanza algún número máximo de pasos y se rinde.

Existen algunas técnicas que se pueden utilizar para lidiar con el mínimo local, pero generalmente no hay garantía de que encuentren un mínimo global. Los métodos de optimización estocásticos están diseñados para lidiar con este tipo de problema, pero no siempre se necesita la complejidad que introducen. En particular, si tienes algún conocimiento del dominio que puedas usar para encontrar una suposición inicial "cercana" del mínimo, el método de Newton debería converger al mínimo global cuando exista.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X