Why Sharpe Ratios Need Consistent Return Intervals
Summary
The discussion questions whether a Sharpe ratio can be estimated from many backtest runs, each covering a fixed span of trading days. The reply cautions that repeated simulations are not automatically equivalent to a historical backtest: simulated paths reflect the assumptions used to generate them and may not represent observed asset returns.
It also points out that the inputs need clear, consistent units. Sharpe calculations should use portfolio returns or PnL measured over a specified common interval, such as daily or monthly, rather than mixing trade-level rewards with an unclear risk-free rate. The example does not establish whether the reported reward is a return, a profit amount, or what period the risk-free figure covers, so it cannot validate the proposed calculation. It offers conceptual cautions rather than a worked calculation or empirical comparison; the appropriate annualization and treatment of repeated runs depend on the data and measurement design.
Key ideas
- Simulated backtest paths inherit the assumptions used to generate them and may not substitute for observed market history.
- Sharpe calculations require returns or PnL measured over a consistent time interval.
- The units and period represented by both the strategy result and risk-free rate must be clear.
- Repeated runs alone do not show that pooling their rewards produces a valid Sharpe ratio.
Tags
Full text
# Can I calculate Sharpe ratio by running over many samples? # Can I calculate Sharpe ratio by running over many samples? I have an algorithm that I am backtesting 200 times. It trades over 200 trading days per iteration. My sharpe ratio is calculated as follows: ``` sharpe_ratio = (results['Reward'].mean() - 3) / results['Reward'].std() ``` Where `3` is my risk free rate of return. Is it valid to calculate the returns this way and use them to calculate my sharpe ratio? ## Answer by Chris (score 1) https://quant.stackexchange.com/a/45074 This is problematic for a couple reasons. To summarize, you have some trading strategy for which you're simulating performance over a 200 day period 200 times? Are you also simulating return data to produce the 200 different paths then (?). Traditionally for backtesting we use an actual historical dataset for the asset in question, not simulated returns which are obviously subject to all of your simulation assumptions. Using simulated returns basically defeats the point of backtesting since you're effectively creating new asset(s) with your simulated returns. That aside, it isn't clear what units are on any of your variables. Is your 'reward' column simply PnL on each of your entry/exit positions? Traditionally we assemble PnL or return over some specified CONSISTENT interval (eg, daily or monthly) before calculating anything related to Sharpe. Also, what are the units on rf. 3...%?
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.