Calculating Sharpe Ratios Correctly
by Robert Sheard
(TMF Sheard)
LEXINGTON, KY. (August 21, 1998) -- It hasn't been the first time, and I rather doubt it will be the last, but I screwed up in yesterday's column on the Sharpe Ratio calculations. Rather than turning to the original source, I borrowed the formula from another source (which, while guilty, will remain anonymous). So today, let me revise the process and examples I presented yesterday.
The way I presented it, one calculates the Sharpe Ratio (one measure of risk-adjusted returns) by subtracting the average risk-free rate of return (typically T-bills) from the average return of a strategy over the same period and then dividing that result by the standard deviation of the strategy's returns. But that's not entirely correct.
Rather, one should subtract the risk-free return for each year from that year's strategy return to get the difference per year. Then the average of those differences and the standard deviation of those differences is used to calculate the Sharpe Ratio. For a full description, and be prepared for heavy going, see William Sharpe's website.
So, let's recalculate the ratios on the same examples I listed yesterday. The following table represents the returns for the Keystone 5 model, the T-bill returns, and the difference between the two (or the "excess" return). (I fudged the 1997 number at 6.0%. I still have the old Ibbotson Yearbook and don't have an official number for 1997 yet.)
Date Key5 T-bill Difference 1986 22.0 6.2 15.8 1987 8.1 5.5 2.6 1988 8.5 6.4 2.1 1989 59.2 8.4 50.8 1990 (0.3) 7.8 -8.1 1991 71.8 5.6 66.2 1992 12.4 3.5 8.9 1993 36.3 2.9 33.4 1994 9.0 3.9 5.1 1995 43.8 5.6 38.2 1996 38.2 5.2 33.0 1997 56.6 6.0 50.6
The average of Column C (the annual differences) is 24.88%, and the standard deviation is 22.71%. Dividing the average difference by the standard deviation, one gets a Sharpe Ratio of 1.10. That's virtually identical to the value I calculated incorrectly yesterday, but that's partly because of the reasonable stability of this model. For series of returns that are much more volatile, calculating the Sharpe Ratio correctly will generate a different result from the method I referred to yesterday.
Let me close with three footnotes regarding the latest rankings. First, there continue to be just 99 stocks in the weekly database. The hundredth stock is a Canadian company, Power Corp., which trades on the Toronto Stock Exchange. Second, AccuStaff <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: ASI)") else Response.Write("(NYSE: ASI)") end if %> is now being listed as Modis Professional <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: MPS)") else Response.Write("(NYSE: MPS)") end if %>. And third, SunAmerica <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: SAI)") else Response.Write("(NYSE: SAI)") end if %> is likely to have its Timeliness ranking removed soon because of the announcement this week that it's being acquired by American International Group <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: AIG)") else Response.Write("(NYSE: AIG)") end if %>. SunAmerica shows up in several of the relative strength screens suddenly because of the premium being paid by American International Group. If you're relying on the screens, you may wish to bypass SunAmerica since its rise was a result of the merger, not individual explosive growth, and it will leave the rankings soon.