Quant Memo
Core

The Tick Rule And The Quote Rule

Two simple methods for guessing whether a trade was buyer-initiated or seller-initiated from public data alone — one compares the trade price to the previous trade, the other compares it to the prevailing bid and offer.

Prerequisites: Bid-Ask Spread Decomposition

A public trade tape records that 100 shares changed hands at $50.02. It does not record whether the buyer was the aggressor who lifted an offer, or the seller who hit a bid — that information usually isn't published. But whether trades are buyer-initiated or seller-initiated is exactly what researchers need to build order-flow signals, measure informed trading, or study price impact. The tick rule and the quote rule are the two classic ways to infer that missing label from what is public: the sequence of trade prices, and the prevailing quotes.

The tick rule: compare to the last trade

The tick rule looks only at price movement between consecutive trades. If a trade prints higher than the previous trade price, it's classified as buyer-initiated (an "uptick"); if lower, seller-initiated (a "downtick"); if unchanged, it inherits the classification of the last trade that did move price. The logic: a buyer willing to pay up to complete their order tends to push the trade price up toward the offer, while a seller willing to accept less pushes it down toward the bid.

The quote rule: compare to the current quotes

The quote rule instead looks at where the trade printed relative to the prevailing best bid and offer at the time of the trade. A trade above the midpoint of the bid-offer is classified as buyer-initiated; a trade below the midpoint is seller-initiated. This is a more direct measurement, since it doesn't rely on the assumption that price movement reflects aggressor side — it just asks which side of the spread the trade landed closer to.

Quote rule label={buyif trade price>midpointsellif trade price<midpoint\text{Quote rule label} = \begin{cases} \text{buy} & \text{if trade price} > \text{midpoint} \\ \text{sell} & \text{if trade price} < \text{midpoint} \end{cases}

In plain English: if a trade happened closer to the offer than the bid, assume the buyer was the one who needed the trade to happen; closer to the bid, assume the seller was.

Worked example: classifying five trades

Suppose the quotes stay fixed at $50.00 bid / $50.04 offer (midpoint $50.02) through this sequence of trades: $50.02, $50.04, $50.03, $50.00, $50.04.

Quote rule: trade 1 ($50.02) sits exactly at the midpoint and is unclassifiable by this rule alone; trade 2 ($50.04) is above midpoint → buy; trade 3 ($50.03) is above midpoint → buy; trade 4 ($50.00) is below midpoint → sell; trade 5 ($50.04) is above midpoint → buy.

Tick rule: trade 1 has no prior trade to compare against in this window; trade 2 ($50.04) is up from trade 1 ($50.02) → buy; trade 3 ($50.03) is down from trade 2 → sell; trade 4 ($50.00) is down from trade 3 → sell; trade 5 ($50.04) is up from trade 4 → buy.

Notice trades 3 and 4 get opposite labels from the two rules: the quote rule sees trade 3 as still closer to the offer (a buy), while the tick rule sees it as a step down in price (a sell). This disagreement is normal and is exactly why later methods, like the Lee-Ready algorithm, combine both rules with a priority order rather than relying on either alone.

Function explorer
-221.1
x = 1.00f(x) = 0.731

Think of the curve above as a stand-in for "probability a trade is a buy" as a function of where it sits between the bid and the offer: near the offer the probability saturates near one, near the bid it saturates near zero, and near the midpoint it's genuinely ambiguous — which is exactly where the quote rule is least reliable and the tick rule is often used as a tiebreaker.

What this means in practice

Trade classification underlies almost every order-flow-based signal: measuring buy versus sell pressure, estimating price impact, computing volume delta. The quote rule is generally preferred when timely, accurate quote data is available, since it doesn't depend on the assumption that price changes track aggressor side cleanly — but it needs quotes to be correctly time-aligned with trades, which is nontrivial with reporting lags. The tick rule needs only a trade tape and no quote feed, making it a fallback when quote data is missing, delayed, or unreliable.

The tick rule infers trade direction from whether price moved up or down since the last trade; the quote rule infers it from whether the trade printed above or below the current bid-offer midpoint. They usually agree but can disagree on individual trades, especially near the midpoint or during fast markets.

Both rules are approximations, not ground truth — they misclassify a meaningful fraction of trades, particularly during volatile periods when quotes update faster than trade reports arrive. Treat classified trade direction as a noisy estimate to be validated in aggregate, not as a certain label for any single trade.

Related concepts

Practice in interviews

Further reading

  • Lee, Ready, Inferring Trade Direction from Intraday Data
ShareTwitterLinkedIn