Tick data is the most granular form of market data, recording every individual trade or price change as it occurs. Each tick represents a single transaction, capturing the exact price, volume, timestamp, and sometimes additional information such as the exchange and whether the trade was a buy or sell. Tick data provides the highest-fidelity view of market activity and is essential for realistic backtesting of intraday and high-frequency trading strategies.
Tick data versus bar data
Most traders are familiar with bar or candlestick data, which aggregates price movements into fixed time intervals (1-minute, 5-minute, daily). Each bar records the open, high, low, close, and volume (OHLCV) for that period. While convenient, bar data loses significant information. Within a single 1-minute bar, dozens or hundreds of individual trades may have occurred at different prices and volumes.
This information loss matters for backtesting. A 1-minute bar might show a high of $100.10 and a low of $99.90, but it does not reveal the order in which those prices occurred, or the volume available at each price level. A strategy that tries to buy at $99.90 might show a fill in a bar-based backtest (because the price touched that level), but in reality, the available volume at that price may have been insufficient, or the price may have only briefly touched that level before rebounding.
Why tick data matters for backtesting
Tick data eliminates the ambiguity of bar-based backtesting. Since every trade is recorded individually, the backtesting engine can determine exactly what prices and volumes were available at each moment. This enables realistic fill modeling, accurate slippage estimation, and precise timing of order execution.
For strategies that trade at sub-minute frequencies, tick data is not optional. Strategies that enter and exit positions within seconds or minutes cannot be meaningfully backtested on minute bars because the bars obscure the price dynamics that the strategy is designed to exploit.
Even for strategies that trade less frequently, tick data improves backtest accuracy. A daily strategy that places limit orders benefits from knowing whether the limit price was actually reached during the day and with what volume. A bar-based backtest might incorrectly fill a limit order based on the bar's low price, when in reality only a tiny amount of volume traded at that price.
Storage and processing considerations
Tick data is significantly larger than bar data. A single liquid equity might generate 50,000 or more ticks per day, compared to 390 one-minute bars. Storing and processing years of tick data for thousands of instruments requires substantial infrastructure. Efficient storage formats, compression, and streaming architectures are necessary to make tick-level backtesting practical.
Data quality
Tick data is also more sensitive to quality issues. Erroneous trades, exchange-reported corrections, and duplicate records can distort backtesting results. Proper tick data providers clean their data to remove or flag these anomalies. Using uncleaned tick data can produce backtest results that are worse than using clean bar data.
Practical example
A mean-reversion strategy buys when the price drops 0.3% in 10 seconds and sells when it recovers. Using 1-minute bar data, this strategy cannot be backtested at all because the bars are too coarse to capture the 10-second signal. Using tick data, the engine can replay every trade, determine the exact timing and price of the entry and exit signals, and model the fill against the actual volume available at those prices.
How Tektii helps
Tektii's backtesting engine processes tick-level market data natively, providing the highest-fidelity simulation available. The platform handles the infrastructure complexity of storing and streaming large tick datasets so traders can focus on strategy development rather than data engineering. By executing orders against actual tick-level prices and volumes, Tektii ensures that backtest results reflect real-world market conditions with the highest possible accuracy.