Garbage data, garbage backtest
Every backtest is only as trustworthy as the data underneath it, and the ways data misleads a backtest are specific and avoidable. These pages cover the data an evaluator works with — bars, ticks, corporate actions, adjusted prices — and the disciplines that stop a single bad price, a missed split or a survivor-only universe from silently manufacturing a fake edge. Data quality is the least glamorous and most decisive part of an honest backtest.
Data Quality: Data quality for backtesting is the practice of ensuring historical data reflects only what was truly knowable at each moment and is free of errors that create false signals. It covers OHLC and tick data, split- and dividend-adjusted prices, corporate actions, missing-data handling, time-zone and timestamp alignment, bad-tick detection, cleaning and validation. Poor data produces convincing but false backtests — through look-ahead in adjustments, survivorship in the universe, or phantom signals from bad prices — so validating data comes before validating a strategy.
OHLC Bar Data
DataOHLC bar data summarises each time period into just five numbers — open, high, low, close and volume — which is enough to plot price but discards the…
Tick Data
DataTick data is the raw, trade-by-trade or quote-by-quote record of the market, preserving the exact sequence and timing that OHLC bars discard, which m…
Corporate Actions
DataCorporate actions are company events — splits, bonus issues, dividends, rights issues and mergers — that change a stock's quoted price mechanically w…
Missing Data
DataMissing data is any absent value in a series — from trading halts, holidays, illiquidity, feed outages or corrupt records — and the danger is not the…
Adjusted Prices
DataAdjusted prices are historical prices rescaled to remove the mechanical jumps caused by splits, bonuses and dividends, producing a continuous series …
Time Zones & Timestamps
DataTime zones and timestamps determine exactly when each data point became known, and getting them wrong — mislabelling a bar's close, mixing IST with e…
Bad Ticks & Outliers
DataBad ticks are erroneous data points — fat-finger prints, misfeeds, decimal errors, stale or off-market prices — that do not reflect a real tradeable …
Data Cleaning
ProcessData cleaning is the disciplined pipeline that turns a raw market feed into a series fit to backtest on — correcting bad ticks, handling missing valu…
Data Validation
ProcessData validation is the set of automated checks that prove a dataset is trustworthy before it is backtested — testing for gaps, duplicates, outliers, …
Frequently asked questions
Why is data quality so important for backtesting?
A backtest is a deterministic replay of history, so any error in that history — a bad price, a missed split, a survivor-only universe, or future information leaking into the past — is faithfully turned into a fake edge. Garbage data produces a convincing but false backtest, which is why data validation precedes strategy validation.
What are adjusted prices and why do they matter?
Adjusted prices remove the mechanical jumps caused by splits, dividends and bonuses so that returns are continuous. Backtesting on unadjusted data creates phantom gaps that trigger false signals, while careless adjustment can leak future information — both corrupt results, so adjustments must be applied point-in-time.
What is point-in-time data?
Point-in-time data reflects only the information that was actually available at each historical moment, including reporting and revision delays. Using data as it looks today — with later restatements, index reconstitutions or adjustments baked in — introduces look-ahead and survivorship bias, which is why point-in-time data is essential for a trustworthy backtest.