7.2 Maximum Sharpe Ratio Portfolio
Markowitz’s mean–variance framework provides portfolios along the efficient frontier, that is, formulations (7.1), (7.2), and (7.3), by varying the hyper-parameters \(\lambda\), \(\alpha\), and \(\beta\), respectively. The specific choice of a point on the efficient frontier depends on the risk aversion of the investor. Nevertheless, the most widely used performance measure is the Sharpe ratio and there is only one portfolio on the efficient frontier that achieves the maximum value, as indicated in Figure 7.2 under MSRP.
Precisely, in 1966, Sharpe proposed the maximum Sharpe ratio portfolio (MSRP) formulation (Sharpe, 1966) as \[\begin{equation} \begin{array}{ll} \underset{\w}{\textm{maximize}} & \dfrac{\w^\T\bmu - r_\textm{f}}{\sqrt{\w^\T\bSigma\w}}\\ \textm{subject to} & \begin{array}{l} \bm{1}^\T\w=1, \quad \w\ge\bm{0},\end{array} \end{array} \tag{7.7} \end{equation}\] where \(r_\textm{f}\) is the return of the risk-free asset.
This problem is not convex, but it belongs to the class of fractional programs (FPs) for which many solving methods are available, namely, the bisection, Dinkelbach, and Schaible transform methods as described next (see Section A.5 in Appendix A for a description of FPs and Section B.5 in Appendix B for more details on the algorithms).
7.2.1 Bisection Method
Concave–convex FP can be conveniently solved via a sequence of convex feasibility problems, termed the bisection method (see Section A.4 for details). For problem (7.7), the sequence of convex feasibility problems are of the form \[\begin{equation} \begin{array}{ll} \underset{\w}{\textm{find}} & \begin{array}{c} \w \end{array}\\ \textm{subject to} & \begin{array}[t]{l} t \sqrt{\w^\T\bSigma\w} \leq \w^\T\bmu - r_\textm{f},\\ \bm{1}^\T\w=1, \quad \w\ge\bm{0}, \end{array} \end{array} \tag{7.8} \end{equation}\] where \(t>0\) is a fixed parameter (not an optimization variable). This problem is convex and, in fact, a second-order cone program (SOCP) since the volatility can be written as an \(\ell_2\)-norm, \(\sqrt{\w^\T\bSigma\w} = \|\bSigma^{1/2}\w\|_2\) (see Section A.5). Note that this convex feasibility reformulation can be infeasible in practice (e.g., if all the elements of \(\bmu\) are negative), so care has to be taken for such a case. The method is summarized in Algorithm 7.1.
Algorithm 7.1: Bisection method to solve the MSRP in (7.7).
Choose interval \([l,u]\) (with \(l>0\)) that contains the optimal Sharpe ratio, tolerance \(\epsilon>0\);
repeat
- \(t \leftarrow (l+u)/2\);
- Solve the convex feasibility problem (7.8);
- if feasible, then \(l \leftarrow t\) and keep solution \(\w\); else \(u \leftarrow t\);
until \(u-l \leq \epsilon\);
7.2.2 Dinkelbach Method
Concave–convex FPs can be solved via the Dinkelbach method (Dinkelbach, 1967) by solving a sequence of simpler convex problems (see Section B.5.2 for details). For problem (7.7), the sequence of convex problems is, in fact, a sequence of SOCPs of the form: \[\begin{equation} \begin{array}{ll} \underset{\w}{\textm{maximize}} & \w^\T\bmu - r_\textm{f} - y^{k}\sqrt{\w^\T\bSigma\w}\\ \textm{subject to} & \begin{array}{l} \bm{1}^\T\w=1, \quad \w\ge\bm{0},\end{array} \end{array} \tag{7.9} \end{equation}\] where the parameter \(y^k\) is sequentially updated as \[\begin{equation} y^{k} = \dfrac{(\w^k) ^\T \bmu - r_\textm{f}}{\sqrt{(\w^k)^\T\bSigma\w^k}} \tag{7.10} \end{equation}\] with \(k\) the iteration index. This is summarized in Algorithm 7.2.
7.2.3 Schaible Transform Method
Concave–convex FPs can be more efficiently solved via the Schaible transform (Schaible, 1974) without the need to resort to iterative schemes (see Section B.5.3 for details). It turns out that problem (7.7) can be rewritten as \[ \begin{array}{ll} \underset{\bm{y},t}{\textm{maximize}} & \bm{y}^\T\left(\bmu - r_\textm{f}\bm{1}\right)\\ \textm{subject to} & \sqrt{\bm{y}^\T\bSigma\bm{y}} \le 1,\\ & t > 0,\\ & \bm{1}^\T\bm{y}=t, \quad \bm{y}\ge\bm{0}, \end{array} \] which can be further simplified (eliminating variable \(t\)) to \[\begin{equation} \begin{array}{ll} \underset{\bm{y}}{\textm{maximize}} & \bm{y}^\T\left(\bmu - r_\textm{f}\bm{1}\right)\\ \textm{subject to} & \bm{y}^\T\bSigma\bm{y} \le 1,\\ & \bm{1}^\T\bm{y} > 0, \quad \bm{y}\ge\bm{0}, \end{array} \tag{7.11} \end{equation}\] from which the original variable \(\w\) can be easily recovered from \(\bm{y}\), and \(t=\bm{1}^\T\bm{y}\) as \(\w = \bm{y}/\left(\bm{1}^\T\bm{y}\right).\) Note that, since \(\bm{y}\ge\bm{0}\), the constraint \(\bm{1}^\T\bm{y} > 0\) can be safely ignored when solving the problem with an interior-point method (see Section B.4 for details).
Interestingly, if we reformulate problem (7.7) as the minimization of \(\sqrt{\w^\T\bSigma\w}/\left(\w^\T\bmu - r_\textm{f}\right)\), the Schaible transform leads to \[\begin{equation} \begin{array}{ll} \underset{\bm{y}}{\textm{minimize}} & \bm{y}^\T\bSigma\bm{y}\\ \textm{subject to} & \bm{y}^\T\left(\bmu - r_\textm{f}\bm{1}\right) \ge 1,\\ & \bm{1}^\T\bm{y} > 0, \quad \bm{y}\ge\bm{0}, \end{array} \tag{7.12} \end{equation}\] where the inequality \(\bm{y}^\T\left(\bmu - r_\textm{f}\bm{1}\right) \ge 1\) can be alternatively written as equality. Observe that the Schaible transform requires the denominator to be nonnegative, which in this case means \(\bm{y}^\T\left(\bmu - r_\textm{f}\bm{1}\right) > 0\) or \(\w^\T\bmu - r_\textm{f} > 0\); in other words, this alternative reformulation may or may not be feasible and care has to be taken for this case.
Problem (7.11) is a (convex) QCQP, which can be easily solved with a QCQP solver. However, the alternative problem reformulation in (7.12) is a simpler QP, which is preferred since it can be solved with more efficient QP solvers (see Section B.1 for details).
Example 7.2 (MSRP with return and upper bound constraints) Consider the MSRP formulation with minimum return \(\beta>0\) and upper bound \(\bm{u}\) constraints: \[\begin{array}{ll} \underset{\w}{\textm{maximize}} & \dfrac{\w^\T\bmu}{\sqrt{\w^\T\bSigma\w}}\\ \textm{subject to} & \begin{array}[t]{l} \w^\T\bmu \geq \beta,\\ \bm{1}^\T\w=1, \quad \bm{0} \leq \w \leq \bm{u}. \end{array} \end{array} \] After applying the Schaible transform, the problem simplifies to the QP \[\begin{array}{ll} \underset{\bm{y}}{\textm{minimize}} & \bm{y}^\T\bSigma\bm{y}\\ \textm{subject to} & \bm{y}^\T\bmu \ge 1,\\ & 0 < \bm{1}^\T\bm{y} \leq \beta^{-1}, \quad \bm{0} \leq \bm{y} \leq \bm{u} \cdot \left(\bm{1}^\T\bm{y}\right), \end{array} \] from which the portfolio is obtained as \(\w = \bm{y}/\left(\bm{1}^\T\bm{y}\right)\).
Example 7.3 (MSRP with shorting and return constraint) Consider the MSRP formulation with minimum return \(\beta>0\) and with shorting allowed: \[\begin{array}{ll} \underset{\w}{\textm{maximize}} & \dfrac{\w^\T\bmu}{\sqrt{\w^\T\bSigma\w}}\\ \textm{subject to} & \begin{array}[t]{l} \w^\T\bmu \geq \beta\\ \|\w\|_1=1. \end{array} \end{array} \] After applying the Schaible transform, the problem simplifies to the QP \[\begin{array}{ll} \underset{\bm{y}}{\textm{minimize}} & \bm{y}^\T\bSigma\bm{y}\\ \textm{subject to} & \bm{y}^\T\bmu \ge 1\\ & 0 < \|\bm{y}\|_1 \leq \beta^{-1}, \end{array} \] from which the portfolio is obtained as \(\w = \bm{y}/\|\bm{y}\|_1\).