Skip to content
All library documents

Relating Forecast Regression R Squared to Trading Sharpe Ratio

Article Systematic trading blog (Rob Carver)

Summary

The document explores how a regression’s R squared can be related to the Sharpe ratio of a trading forecast. It presents three routes: a closed-form relationship based on the law of active management, simulations using random price series, and analysis of real forecasts such as momentum and carry. The central setup regresses future risk-adjusted price returns on forecasts, with forecast horizon linked to turnover. Forecast scaling and regression coefficients are treated as secondary; the fit and resulting strategy Sharpe are the quantities of interest.

For real data, the author describes inverse-volatility position sizing and a volatility estimate based on recent daily returns, then compares paired R squared and Sharpe estimates across horizons. For simulated data, forecasts are formed from future risk-adjusted returns plus noise. The document gives the theoretical illustration that an R squared of 0.01 corresponds to an information ratio of 0.10 at an annual horizon, with higher Sharpe expected at shorter horizons under the stated assumptions. The excerpt does not include the promised charts or empirical conclusions, and overlapping observations may inflate R squared; the author says consistency in handling them is important.

Key ideas

  • Regression R squared can be compared with strategy Sharpe when forecasts predict future risk-adjusted returns.
  • The law of active management links information coefficient and Sharpe to the number of independent bets.
  • Forecast horizon is estimated from turnover, while inverse-volatility sizing maps forecasts into positions.
  • Simulations can examine how forecast noise changes the relationship between fit and Sharpe.
  • Overlapping return periods can inflate R squared, and the excerpt omits the final plotted results.

Tags

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.