I performed Scipy portfolio optimization in two scenarios: 1) when I cannot lend or borrow at the risk-free rate; 2) when I can lend and borrow at rf=1.5%. Now, optimal risky portfolio weights anyway should not change because in the scenario where the risk-free asset is not present, we are maximizing the return to volatility ratio. The portfolio with the highest return to volatility ratio should also be the one with the higher Sharpe ratio (we are just subtracting a constant from the numerator). Instead, I have small discrepancies that you can see in the image I uploaded. Is this due to Python numerical storage or should I look for other reasons?

-
$\begingroup$ Are you asking why the top row in the 2 dataframes (from the first and second coding blocks) are not the "same row"? $\endgroup$KaiSqDist– KaiSqDist2024-04-13 15:38:51 +00:00Commented Apr 13, 2024 at 15:38
-
$\begingroup$ Yes, in other words, that is the question. I would expect them to be equal because the portfolio who has the highest return to volatility ratio when there is no risk-free asset should also be the portfolio who has the highest Sharpe ratio when indeed there is the possibility to lend and borrow at the risk-free rate. The risk-free asset is just a constant we subtract from the expected return of every portfolio. $\endgroup$Maurizio Marinaro– Maurizio Marinaro2024-04-13 18:38:21 +00:00Commented Apr 13, 2024 at 18:38
1 Answer
Strictly speaking, when you borrow (lend) at the riskless rate for the Sharpe-maximized-portfolio you move up (down) the capital market line (CML) as shown below. The return-vol ratio you used above is not exactly the same as the gradient (which is known as Shape and portfolio allocation), which is the thing that stays constant with leverage.
\begin{equation} Gradient_{TP} = \frac{ER_{TP}-ER_{i}}{Vol_{TP}-Vol_{i}} = \frac{ER_{i}-r_f}{Vol_{TP}-0} = Sharpe_{TP} \neq Return{\text-}Vol = \frac{ER}{Vol} \end{equation}
where the $TP$ refers to the tangency portfolio (or ideal market portfolio in the diagram below) and the difference between the $ER_{TP}$ and $ER_{i}$ are infinitesimal (same for the $Vol$s).
The correct way to perform the ranking would be to use the Sharpe and not your return-vol ratio.
--- EDIT ---
Decreasing the return-vol ratio by the riskless rate is not adjusting it by a constant, what you are decreasing it by is actually the riskless rate scaled by a different vol everytime:
\begin{equation} \frac{r_f}{Vol_1} \neq \frac{r_f}{Vol_2} \neq \frac{r_f}{Vol_3} \neq ... \end{equation}
-
$\begingroup$ Thank you very much for your explanation. I should have indeed thought about this. $\endgroup$Maurizio Marinaro– Maurizio Marinaro2024-04-14 10:18:26 +00:00Commented Apr 14, 2024 at 10:18
-
$\begingroup$ No problem, you can accept my answer as the solution (if you feel it answered your question) or give me an upvote if you feel it helped. $\endgroup$KaiSqDist– KaiSqDist2024-04-14 10:29:41 +00:00Commented Apr 14, 2024 at 10:29
