Sharpe Ratio calculation in Amibroker

Hi Guys,

How exactly does Amibroker calculate Sharpe Ratio? The calculation method described in the part of the Amibroker guide that talks about the backtest report (website: is not consistent with Sharpe Ratio figures of my backtest reports.

For example, attached is a picture of all the trades from a sample backtest (date range 2/1/2018-2/9/2018). Metrics used to calculate Sharpe Ratio (according to the Amibroker guide) are as follows:
-Average % return: 0.99% (the average of the figures in the "% Profit" column)
-SD of returns: 3.42% (the SD of the figures in the "% Profit" column)
-Number of bars per year: 252 (test was done on daily bars and there are 252 trading days per year)
-Average number of bars per trade: 4.42 (the average of the figures in the "# bars" column)
-Annualized average % return: 56% (calculation = 0.99%(252/4.42))
-Annualized SD of returns: 195% (calculation = 3.42%
-Risk Free Rate: 0
-Sharpe Ratio: 56%/195% = 0.29

However, the backtest report is showing a Sharpe Ratio of 2.18.

I'm consistently seeing much higher Sharpe Ratios in my backtest reports than when I calculate Sharpe Ratio myself using the methodology described in the guide. Am I missing something?



You don't calculate it the way it is described in the guide. Re-read the guide precisely. Besides what version you are using? Anything lower than 6.0 is not supported.

Hi Tomasz- I am using 6.20. The guide says: "Calculation: first average percentage return and standard deviation of returns is calculated. Then these two figures are annualized by multipling them by ratio (NumberOfBarsPerYear)/(AvgNumberOfBarsPerTrade). Then the risk free rate of return is subtracted (currently hard-coded 5) from annualized average return and then divided by annualized standard deviation of returns."

Here is the step by step process according to this description:
1.) "First average percentage return" --> 0.99%
2.) "and SD deviation of returns is calculated" --> 3.42%
3.) "Then these two figures are annaulized by multiplying them by ratio ((NumberOfBarsPerYear)/(AvgNumberOfBarsPerTrade)" --> Ratio is 252/4.42 = 57. So annualized average return is 0.99%*57, or 56%. And annualized SD of returns is 3.42%*57, or 195%.
4.) "Then the risk free rate of return is subtracted from annualized average return" --> 56%-0% - 56% (I set risk free rate to zero in the settings)
5.) "And then divided by annualized SD of returns" --> 56%/195% = 0.29

It's a very simple description. Not sure how else it can be interpreted. Can you please tell me how the program is getting a Sharpe Ratio of 2.18?



I think that to annualize standard deviation you need to multiply by the square root of the ratio (NumberOfBarsPerYear)/(AvgNumberOfBarsPerTrade). Making this change to your calculations gives me a result of 2.17.

1 Like