Closed CarloNicolini closed 3 years ago
Hi @CarloNicolini,
Thanks for raising this! Unfortunately, because the omega ratio is quite a complex objective it's not easy for a user to implement it via PyPortfolioOpt (e.g you can't just pass it as an objective function).
Omega ratio optimisation can be formulated as a linear program (see here), so in future it could be added to the list of frontiers that we support (along with EfficientSemivariance
, EfficientCVaR
, EfficientCDaR
).
Best, Robert
In a paper of Shadwick and Keating in 2002, describes the Omega Ratio as an alternative to the classical Sharpe ratio for the estimation of portfolio performance. It should encompass higher moments of the returns distribution in one simple number, and it has some nice properties. Its functional formula is
where $F(r)$ is the cumulative distribution of returns, $a,b$ are the lower- and upper- bounds of returns, relatively.
The parameter "r" could be interpreted as the minimum acceptable return (or "mar").
I was wondering if it is possible to implement Omega optimisation in PyPortfolioOpt, following the same structure provided in some of the tests.
The link is here: Omega ratio