Tick data (per-trade data)
Tick data is the record of every individual trade in an instrument: timestamp, price, size and, on feeds that carry it, the aggressor side. It is the finest-grained trade data available, and every footprint cell, delta value and volume profile is an aggregation of it.
Senzoukria · Glossary · Updated September 2026
One row per execution
The word tick is used in two senses. A tick is the minimum price increment of a contract, and a tick is also one execution in a trade feed. Tick data refers to the second sense: a sequence of trades, each with the time it matched, the price, the quantity and usually a flag stating which side initiated it. For a liquid index future a single session is a few million such rows.
Everything that an orderflow chart shows is a summary of this sequence. A footprint bar groups the ticks by price and side within the bar; delta is ask-side volume minus bid-side volume in that group; a volume profile sums sizes by price across a session. If the ticks are wrong or incomplete, all of those are wrong in the same way.
Tick data versus other granularities
- Bars (OHLCV): open, high, low, close and total volume per interval; the sequence inside the bar and the side of each trade are lost.
- Tick bars: bars that close after a fixed number of trades; built from tick data but no longer tick data.
- Quotes: best bid and ask over time; they describe intent to trade, not executions.
- Depth: resting orders per price; tick data says nothing about what was resting.
In Senzoukria
Live footprints are built from the tick stream of the connected source. The Replay screen loads one CME session tick by tick from the broker's archive, noting that a full session is a few million ticks and that the first load takes time. The Export L1 CSV action writes the loaded session as one row per tick with timestamp, price, size and aggressor side, gzipped, readable by pandas or polars, with the reminder that the broker's tick history contains transactions only.
In the automatic backtest, the tick-based path is described as every trade with its aggressor side rebuilt into bid × ask per price, which is the input a strategy reading per-level imbalances needs. When the broker returns no ticks, the panel reports the returned codes and says that historical tick replay may not be enabled on the account.
Common mistakes
- Calling bar data with a volume column tick data. Without per-trade rows the side and the sequence cannot be recovered.
- Treating an inferred side as an observed one when the feed did not transmit it.
- Assuming live tick access implies historical tick access; they are separate entitlements.
Related
This page in other languages
Frequently asked questions
- How much tick data does a footprint need?
- For a live chart, only the ticks since the chart opened, plus whatever history the source serves to fill earlier bars. For a session replay, every tick of that session. For a backtest of a rule that reads per-level imbalances, the ticks of every session in the test window, which is why coverage is measured before the run.
- Can bars be rebuilt from tick data, and the reverse?
- Bars can always be rebuilt from ticks by grouping trades into intervals and summing. The reverse is impossible: a bar keeps only four prices and a total, so the trades inside it, their order and their sides are gone. That asymmetry is why tick data is stored and bars are derived.