# Computing the Sharpe Ratio

The building blocks of the Sharpe ratio—expected returns and volatilities—are unknown quantities that must be estimated statistically and are subject to estimation error.

The main problem I have is how to compute the return. Simple return or Log-return? As it concerns financial returns, I am personally think log-returns, but this dampens the volatility.

I am using a weekly return index (with dividend reinvestment) of Asian REITs. Reason for this that if I use daily, there are some 'missing' values due to holiday or non trading days that differ per Asian country. I've seen other researchers use the same method (Ooi et al. 2006). I suppose to annualize this data I have to multiply the average return by $\sqrt{52}$. But should I use geometric or arithmetic means?

Sharpe Ratio covers both future and historical time frames (as @Freddy points out). Referencing the "Geometric Return and Portoflio Analysis", for the historical calculation, you want to make as few assumptions as possible (in my opinion).

Let $m_i \triangleq$ the monthly return for period $i$ and $r_t \triangleq$ annual return, for $i\in[1,12]$.

Then making no assumptions about $m_i$, except that $m_i~\textrm{i.i.d.} \forall i$ and that variance is finite, we have:

$$(1+r_t) = \prod_{i=1}^{12}(1+d_i)$$

Taking $log$ of both sides we have:

$$\log(1+r_t) = \log( \prod_{i=1}^{12} (1+d_i) ) = \sum_{i=1}^{12}\log(1+d_i)$$

Using the Central Limit Theorem, we know that $\log(1+r_i)\sim N(\mu,\sigma^2)$

From this you get your historical values to calculate Sharpe Ratio, because you want to know the amount of return per unit risk that was taken (I convert continuously compounded returns into geometric return, because you want to know the per unit growth per unit volatility you have taken). Take note, you have calculated volatility on the $\log$ returns, not linear. Note also, you are able to use a time scaling factor, because $\sum_{i=1}^{12}\log(1+d_i)$ is summing i.i.d. random variables. When you use linear returns, you are taking the variance of $\prod_{i=1}^{12}(1+d_i)$. As you use smaller and smaller increments (daily and less), you can argue that $\log(\frac{p_t}{p_{t-1}})~\sim \frac{p_t}{p_{t-1}}-1$, but as the time frame grows, and definitely for weekly, you cannot apply the time scale factor of of $\sqrt{52}$ to come up with annual variance values.

If you then want to calculate expected sharpe ratio, you could follow a standard $\log()$ transformation to determine the expectation and variance of a lognormally distributed random variable with the parameters that you just calculated above.

Where:

$$\mathbb{E}[r_t] = \mathbb{E}[1+r_t] - 1 = e^{\mu + \frac{1}{2}\sigma^2} - 1$$

$$\mathbb{V}[r_t] = \mathbb{V}[1+r_t] = \mathbb{E}[1+r]^2 \cdot e^{\sigma^2}-1$$

## Original Post

There is actually a really good paper on this entitled "Geometric Return and Portfolio Analysis" by Brian McCulloch, but the gist is that "Geometric Returns scale across assets, Log Returns Scale across time." Therefore,

1. Calculate log returns, and then volatility of log returns. You can then apply your time scaling factor of \sqrt(52) to the volatility to come up with a "time appropriate" volatility estimate.

2. Then transform your also time scaled log returns to a linear geometric return (as the prior user stated), via exp(log_return) - 1 (so if you had weekly returns, multiply by 52 to get annualized values).

Then the ratio of one over the other (assuming a zero risk free rate) can be used for the Sharpe Ratio.`

• regarding step 2; so if iam correct you say use the sumproduct(geomean(xx;xx+1))-1 on the derived log returns? Feb 15, 2013 at 12:36
• Nice edit but I wonder isn't that a little too much work to get to almost precisely the same result for the ex-post approach than simply calculating simple daily returns and volatility on those? And what is your rational behind using geometric returns given that you are not re-investing returns when you generate those daily metrics? Thanks.
– Matt
Feb 16, 2013 at 2:32
• @Freddy, thanks for the positive feedback. Personally, I think it's really a question of accuracy and estimation consistency. If I want to accurately estimate a r.v. (Sharpe Ratio in this case), I might also want to simulate future realizations using simulation techniques, in which case getting the distribution and respective moments correct seems pretty important to me. Why is $\frac{P_t}{P_{t-1}}-1$, easier to calculate than $\log(\frac{P_t}{P_{t-1}})$?It's all calculated from the price series, and neither is more computationally costly, even if using an excel spreadsheet. Feb 16, 2013 at 6:55
• step 1: Calculate log returns step 2: calculate volatility on log returns step 3: apply time scaling to volatility (i.e. $\sigma\cdot\sqrt{52}$) step 4: convert log returns to appropriate time scaled estimate (i.e. $r_{\textrm{daily}}\cdot252 = r_{\textrm{annual}}$ to the same time scale as volatility in step 3) step 5: convert log to geometric returns via $r_{\textrm{geometric}}=e^{r_{\textrm{log returns}}}-1$ for use in ex-post Sharpe Ratio Feb 16, 2013 at 12:45
• @DaveHarris, your most recent comment is much different from the first -- thanks for taking the time to explain where you came up with the result (your research) and acknowledging that the sample distribution may be normal (which was the claim of the paper I referenced). It makes for a much more interesting and inclusive dialogue! Jun 28, 2017 at 12:58

I think you need to exactly define which ratio you are talking about. For example the ex-post Sharpe ratio's components are all well known. You have your realized returns, risk free returns (or whatever other benchmark you define your excess returns against) and realized volatility of returns.

For realized asset returns you should not use log returns but simple returns such as x(t+1)/x(t)-1. Standard is to use daily returns and use daily observations of realized volatility but if you concern yourself with intraday risk then obviously you want to drill down. On non-trading days you should not include such observations in your sharpe ratio calculations because you are essentially not taking risk on such days. If the benchmark does not generate returns on specific days but your portfolio does then you have some leeway in how you generate a return of the benchmark against which to compare in order to derive your excess returns. You could possibly derive an average return of the benchmark and plug that in. And yes do not forget to annualize both returns and volatility numbers in order to compare apples with apples.

Some may disagree whether or not to include holidays or other non trading days but that is what this forum is for, to present different ideas. I go actually a step further and do not include days in which the portfolio does not take any exposure to risk whether holiday or not. I make that very clear in my reports and audited statements and so far potential as well as actual investors never had an issue with that. But some quants seem to have issues with such concept and way of thinking. I am trading and managing risk and not having the luxury to sit and watch markets thus I have and want my returns and risk to be benchmarked against relative risk in the market and thus when the portfolio is not exposed to risk and hence also does not generate returns then such days should not be included in my Sharpe ratio calculations. That's how I hold it and what works for me.

• could you explain why simple returns? Isn't it so that as the values grow, the % change is affected by this and this would cause the returns to be biased? Feb 15, 2013 at 12:28
• you are measuring returns from one day to the next (given you sample daily) during which you do not reinvest. Thus simple returns should be used imho.
– Matt
Feb 15, 2013 at 12:39
• How can you relate that to the answer of factor3? Iam getting the impression that iam missing the picture here.. Feb 15, 2013 at 12:48
• factor3? and which picture are you missing?
– Matt
Feb 15, 2013 at 13:28
• Factor3 is the other user who answered this question. He suggests to use log returns to determine volatility. After that transform via exp(log_return) - 1 to get geometric returns. Thanks in advance Feb 15, 2013 at 13:59