# maximize Sharpe ratio in portfolio optimization

I am trying to understand how to maximize Sharpe ratio in portfolio optimization.

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

In order to solve this problem using general QP solver, according to a post, we could transform the problem into the following:

\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}}

and retrieve optimal by $x^*_i := y^*_i / \kappa^*$.

I got lost with the math. How did it work?

• This question may be related quant.stackexchange.com/questions/39137/… and the Tutuncu reference mentioned therein (Tutuncu/Cournejols is also referenced in a footnote of the post you linked) May 3, 2018 at 21:07
• There is a brief discussion on Pages 159-160 of the Cornuejols Tutuncu book, which is available online math.ku.dk/~rolf/CT_FinOpt.pdf Is that helpful? May 5, 2018 at 1:06

Q is given. Q is a 11 by 11 matrix.

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);
• Nice code. In the call to quadprog, the first argument is H. Should that be Q? Isn't Q 10 by 10? (10 being the number of risky securities, i.e. the length of x and y, which in the program is called $n$). Apr 14, 2020 at 21:36
• The problem that Kalvelagen is addressing in his post and the problem that Sharpe solves are not the same. Sharpe finds a line with a given slope that is tangent to the efficient frontier. The problem in this post is to find, among all lines that go through the risk free point $(0,r_f)$ (and which of course all have different slopes) to find the one that is tangent to the efficient frontier. Sharpe does not have the risk free rate in his algorithm, while it is a key parameter in this problem. Sep 8, 2018 at 22:58