Define Rmi and the backtest objective
Rmi (in the context of momentum-style indicators) is typically used as a numeric measure derived from historical price series, intended to summarize momentum or rate-like behavior. A responsible backtest starts by defining what “Rmi” means in your setup: which price inputs you use (for example, close-to-close changes), what parameter values you apply (lookback length and any smoothing steps), and the exact rule that maps the indicator value into the quantities you evaluate (such as whether you measure the indicator’s predictive relationship to future price changes, or you evaluate a decision rule derived from it).
Equally important is separating two goals:
- Estimating a relationship: Does Rmi correlate with future outcomes under stated assumptions?
- Estimating a strategy: If you turn Rmi into decisions, how do those decisions perform after realistic frictions?
A single backtest can contain both, but mixing them without clarity makes it easy to confuse an indicator’s historical pattern with a usable, decision-level method.
Mechanism: list the data, assumptions, and calculations
To backtest responsibly, document the full chain from raw data to results.
-
Data definition Specify the dataset and its transformation steps. For example: the instrument universe, time frame, trading hours handling, missing data treatment, and whether prices are adjusted (e.g., for corporate actions if applicable). If you resample or aggregate bars, state the method.
-
Rmi calculation rules Write down the formula you implement at each time step. If the indicator involves smoothing or normalization, define those operations. If there are multiple plausible interpretations of “Rmi settings,” your backtest should pick one and keep it fixed.
-
Decision mapping (if any) If you convert Rmi into an action, define the rule precisely: entry/exit timing, thresholds, and whether you act on the indicator computed at the close of the same bar or after a delay. A common failure mode is “look-ahead” behavior, where the backtest inadvertently uses information that would not have been available at the time of trading.
-
Costs and execution assumptions Backtests should include realistic friction modeling. This is not only about commissions; it also includes spread assumptions, slippage, and the effect of order timing. Even when you lack tick-level data, you should state a conservative and consistent assumption (and, ideally, test multiple cost levels). A backtest that assumes zero costs can appear strong while being fragile in practice.
Evidence and example: use out-of-sample validation
A responsible backtest treats historical results as evidence, not proof. Use an evaluation design that limits overfitting.
-
Split the timeline Perform an initial in-sample period to develop the method, then keep a later out-of-sample period untouched until the final evaluation. Better still, use walk-forward (rolling) validation, where parameters remain fixed within each window and are only updated according to a pre-defined procedure.
-
Control the number of degrees of freedom If you try many parameter combinations, many threshold choices, or multiple data treatments, you are effectively tuning to noise. To reduce that bias, choose parameters using a constrained search, and preserve out-of-sample periods for final assessment.
-
Report what you measured For indicator-only research, you might measure how Rmi values relate to future returns (with clear horizons). For strategy research, you measure decision outcomes after costs. In either case, include uncertainty-aware metrics, and avoid presenting a single impressive period as decisive.
-
Robustness checks across regimes Test whether the relationship holds when market behavior changes (trending vs ranging, high vs low volatility). If performance depends entirely on one narrow regime, treat it as a warning sign.
Limitations and risks: the main failure modes
Even a careful backtest can fail. At least one material limitation should be explicitly considered:
- Non-stationarity: The statistical relationship between Rmi and future price changes can shift when market structure changes. A backtest may reflect historical regimes rather than a stable mechanism. - Look-ahead bias: Using indicator values computed with information that was not available at decision time will inflate results. - Survivorship and selection effects: If your dataset excludes instruments that would have been available only temporarily, results can be biased. - Cost misspecification: Incorrect spread/slippage assumptions can reverse conclusions. Strategy evaluation is particularly sensitive to this.