4 votos

maximizar el ratio de Sharpe en la optimización de carteras

Estoy tratando de entender cómo maximizar el ratio de Sharpe en la optimización de la cartera.

$\boxed{\begin{align}\max\>&\frac{r^Tx-r_f}{\sqrt{x^TQx}}\\ & \sum_i x_i = 1\\ & x_i\ge 0\end{align}}$

Para resolver este problema utilizando el solucionador general de QP, según un Correo electrónico: podríamos transformar el problema en lo siguiente:

$\boxed{\begin{align}\min\>&y^TQy\\ & \sum_i (r_i-r_f) y_i = 1\\ & \sum_i y_i = \kappa\\ & Ay \sim \kappa b \\ & y_i,\kappa \ge 0\end{align}}$

y recuperar el óptimo por $x^*_i := y^*_i / \kappa^*$ .

Me he perdido con las matemáticas. ¿Cómo ha funcionado?

1 votos

Esta pregunta puede estar relacionada con quant.stackexchange.com/questions/39137/ y la referencia a Tutuncu que se menciona en él (Tutuncu/Cournejols también se menciona en una nota a pie de página del post que enlazaste)

1 votos

En las páginas 159-160 del libro de Cornuejols Tutuncu, que está disponible en línea, hay un breve debate al respecto math.ku.dk/~rolf/CT_FinOpt.pdf ¿Es eso útil?

1voto

Gino Ventura Puntos 31

Se da Q. Q es una matriz de 11 por 11.

f = [0;0;0;0;0;0;0;0;0;0;0];
n = 10;
rf = 0.0082;
% Optimization problem data
lb = zeros(n+1,1);
ub = inf*ones(n+1,1);
Aeq = [( AvrReturn- rf)' 0;ones(1,n) -1];
beq = [1; 0];
A = [eye(n),-1*ones(n,1)];
b = zeros(n,1);
[x4 fval4,exitflag,output] = quadprog(H,f,A,b,Aeq,beq,lb,ub)
y = x4(1:n);
k = x4(n + 1);
x = x4/k;

0 votos

Bonito código. En la llamada a quadprog, el primer argumento es H. ¿Debería ser Q? ¿No es Q 10 por 10? (siendo 10 el número de valores de riesgo, es decir, la longitud de x e y, que en el programa se llama $n$ ).

0 votos

Además, ¿la última línea debería ser x = y/k; ? x4 es demasiado grande, la longitud es (n+1).

1 votos

Sí, debería ser Q para alinearse con la pregunta anterior, pero en mi trabajo utilicé H. Q es 10 por 10 basado en el número de activos. Añadí una columna de ceros y una fila de ceros a la matriz de 11 por 11, para que el programa se ejecute, de lo contrario no se ejecutará.

-2voto

Tim Tillson Puntos 1

Una buena solución algorítmica la ofrece el propio maestro, W. F. Sharpe, en su artículo "An Algorithm for Portfolio Improvement", octubre de 1978, Graduate School of Business, Stanford University.

0 votos

1 votos

El problema que aborda Kalvelagen en su post y el que resuelve Sharpe no son el mismo. Sharpe encuentra una línea con una pendiente determinada que es tangente a la frontera eficiente. El problema en este post es encontrar, entre todas las líneas que pasan por el punto libre de riesgo $(0,r_f)$ (y que, por supuesto, tienen todas diferentes pendientes) para encontrar la que es tangente a la frontera eficiente. Sharpe no tiene la tasa libre de riesgo en su algoritmo, mientras que es un parámetro clave en este problema.

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