From @jrai in the forums, a nice description with code of probabilistic sharpe. Has anyone written a version of this for Numerai? Of course on Numerai, we don’t use returns but instead correlation with the target but perhaps this idea can be used as a way to choose models that generalize much better out of sample. I think things like skewness, kurtosis will matter for your distribution of era correlations for the same reasons.

# Probabilistic Sharpe Ratio

Can anyone show with cross validation whether it’s better to optimize for probabilistic sharpe than smart sharpe from @mdo?

here is some of the code (not by me):

- https://github.com/rubenbriones/Probabilistic-Sharpe-Ratio/blob/master/src/sharpe_ratio_stats.py
- https://github.com/rubenbriones/Probabilistic-Sharpe-Ratio/blob/master/notebooks/Probabilistic%20Sharpe%20Ratio%20Example.ipynb

May also be helpful in Numerai Quant

Better confidence intervals around a flawed metric is still a…flawed metric. What this adjustment is trying to get at is to maximize the upside variance / downside variance, which partial moments already do.

Adjusted Sharpe ratio was introduced by Pezier (2005) in:

Alexander, Carol and Sheedy, Elizabeth, eds. (2005) *The professional risk managers’ handbook: a comprehensive guide to current theory and best practices.* PRMIA Publications, New York & London. ISBN 9780976609704

Adjusted Sharpe Ratio adjusts for skewness and kurtosis by incorporating a penalty factor for negative skewness and excess kurtosis.

The formula is given in a different paper since i couldn’t access the book:

*NOTE: Carol Alexander is a personal friend/mentor

I calculate the adjusted sharpe ratio which adjusts for Numerai’s trading costs as well:

```
import numpy as np
import scipy
from scipy.stats import skew, kurtosis
def annual_sharpe(x):
return ((np.mean(x) -0.010415154) /np.std(x)) * np.sqrt(12)
def adj_sharpe(x):
return annual_sharpe(x) * (1 + ((skew(x) / 6) * annual_sharpe(x)) - ((kurtosis(x) - 3) / 24) * (annual_sharpe(x) ** 2))
```

You should pass validation scores to these functions since they are monthly; adjust to weekly compounding to use this on your live performance.