I am looking at how to implement modified Sharpe ratio optimization using R package PortfolioAnalytics. Modified sharpe ratio defined as

MSR = r/(sd^f)

(where r is return, sd is standard deviation and f is the volatility factor or volatility attenuator).

I can see that PortfolioAnalytics has an argument risk_aversion in add.objective function which seem to do the same/similar thing as I want (for f=0 the algorithm will choose the composition with the highest return regardless of volatility, for f=1 it will choose the composition that will maximize classic Sharpe ratio and for f > 1 the algorithm will choose low volatility composition with extreme case being a mean variance portfolio).

This is exactly what I see parameter risk_aversion is doing from here https://github.com/R-Finance/PortfolioAnalytics/blob/master/demo/demo_max_quadratic_utility.R

My question is what is the relationship between my f and risk_aversion or how to implement modified Sharpe ratio optimization as specified by MSR = r/(sd^f) using https://github.com/R-Finance/PortfolioAnalytics/blob/master/demo/demo_max_quadratic_utility.R as a start?

  • $\begingroup$ The reason this has not been implemented is because it's not a good idea. Sure you can define such a function, but there is no theoretical reason to do so. $\endgroup$ – steveo'america Jan 9 at 20:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.