Strategy Evaluation using the Sharpe and Sortino Ratios

Successful traders approach trading with a clearly defined and thoroughly tested strategy. Most traders evaluate the hypothetical future performance of their strategy by measuring the profit or loss of the strategy run on historical data. But is measuring historical profitability enough? Historical profitability provides only a small piece of information about a trading strategy, while another factor that may be important to a trader is the riskiness of their strategy. The Sharpe Ratio and the Sortino Ratio are two methods of evaluating the risk of a strategy by comparing the returns to that of a risk-free investment.

The Sharpe Ratio

The Sharpe Ratio is calculated by dividing a strategy's excess return beyond the risk-free rate of return by the standard deviation of the returns. Generally measurements above 1 are considered preferable; the higher the better, as this would indicate the returns are achieved with limited volatility of the account equity.

The Sortino Ratio

The Sortino Ratio is a variation of the Sharpe ratio that removes upside volatility from the calculation by considering the standard deviation of the returns to the downside. The Sharpe Ratio considers the standard deviation of both positive and negative returns, so a strategy with extreme positive returns would be penalized the same way as a strategy with extreme negative returns. For s strategy intended to provide consistent returns, the Sharpe Ratio would be an important measurement. However, for a strategy without this limitation, the Sortino Ratio may be a better way to measure risk-adjusted returns.

Whether you are backtesting a strategy or evaluating historical returns of a strategy, the Sharpe and Sortino Ratios can be useful metrics of risk in relation to returns. For those using a Python-based backtesting or live trading system, the article also includes sample Python code for calculating these ratios.

Why Trade Shares with FXCM?

  • $0.00 Commission*
  • Mini Shares - Fractional Share Trading with minimum trade sizes of 1/10 of a share.
  • Low Margin Requirements

Russell Shor

Senior Market Specialist

Russell Shor joined FXCM in October 2017 as a Senior Market Specialist. He is a certified FMVA® and has an Honours Degree in Economics from the University of South Africa. Russell is a full member of the Society of Technical Analysts in the United Kingdom. With over 20 years of financial markets experience, his analysis is of a high standard and quality.

Disclosure
*

When executing customers' trades, FXCM can be compensated in several ways, which include, but are not limited to: spreads, charging commissions at the open and close of a trade, and adding a mark-up to rollover, etc. Commission-based pricing is applicable to Active Trader account types.

Any opinions, news, research, analyses, prices, other information, or links to third-party sites contained on this website are provided on an "as-is" basis, as general market commentary and do not constitute investment advice. The market commentary has not been prepared in accordance with legal requirements designed to promote the independence of investment research, and it is therefore not subject to any prohibition on dealing ahead of dissemination. Although this commentary is not produced by an independent source, FXCM takes all sufficient steps to eliminate or prevent any conflicts of interests arising out of the production and dissemination of this communication. The employees of FXCM commit to acting in the clients' best interests and represent their views without misleading, deceiving, or otherwise impairing the clients' ability to make informed investment decisions. For more information about the FXCM's internal organizational and administrative arrangements for the prevention of conflicts, please refer to the Firms' Managing Conflicts Policy. Please ensure that you read and understand our Full Disclaimer and Liability provision concerning the foregoing Information, which can be accessed here.

${getInstrumentData.name} / ${getInstrumentData.ticker} /

Exchange: ${getInstrumentData.exchange}

${getInstrumentData.bid} ${getInstrumentData.divCcy} ${getInstrumentData.priceChange} (${getInstrumentData.percentChange}%) ${getInstrumentData.priceChange} (${getInstrumentData.percentChange}%)