Aggressor (buyer or seller)
The aggressor is the side of a trade that crossed the spread to get filled: a buyer who lifted the offer or a seller who hit the bid. Every delta, footprint and cumulative delta calculation depends on this flag being present in the data.
Senzoukria · Glossary · Updated September 2026
Who is the aggressor
A trade needs two parties. One placed a resting limit order and waited; the other sent an order that executed against it immediately. The second party is the aggressor. If the aggressor bought, the trade prints at the ask and counts as ask volume. If the aggressor sold, it prints at the bid and counts as bid volume.
The aggressor is not necessarily the larger or the better-informed party. A large resting order absorbing many small aggressive orders is passive by definition, and its presence is only visible through the aggressive volume it takes.
How the flag reaches the chart
- Futures exchanges publish the aggressor side with each trade; brokers and data vendors relay it as a bid or ask tag.
- Crypto exchanges expose a taker side on their trade streams, which plays the same role.
- Some feeds infer the side from the trade price relative to the quote. That is an estimate and can mislabel trades at the moment the spread moves.
- Bars without the flag, such as imported OHLCV files, cannot be split. They have volume but no bid volume, ask volume or delta.
In Senzoukria
The footprint cells in Bid × Ask mode are the aggressor flag made visible: the left number is what sold at the bid, the right number what bought at the ask, price by price. The tick export writes every trade with its timestamp, price, size and aggressor side. On the heatmap page, the BID / ASK / DELTA columns accumulate executed volume split by aggressor over the session.
Aggression Ratio is a pane indicator that compares aggressive buying above the middle of the bar with aggressive selling below it; levels exactly at the midpoint belong to neither side. When there is no aggressive selling below the midpoint, the ratio returns no value rather than an infinite one.
Common confusions
- Aggressor is not the same as market order. Most aggressive orders are market orders, but a marketable limit order that crosses the spread is also an aggressor.
- A buy aggressor may be closing a short. The flag says how the trade executed, not what position it created.
- Volume at the ask is not the same as volume on the ask side of the book. One is executed, the other is resting.
- An inferred side on a delayed feed is a guess; treat delta built on it with caution.
Related
- Order flow trading guide
- Aggression Ratio indicator
- Crypto order flow and footprint charts
- Market order
- Bid volume and ask volume
This page in other languages
Frequently asked questions
- How do I know if a trade was a buy or a sell?
- Every trade has a buyer and a seller, so the question is really which side initiated it. The feed tags the trade as executed at the ask, meaning the buyer was aggressive, or at the bid, meaning the seller was. Without that tag the direction of the trade is not known, and a chart should say so rather than assume.
- Does the aggressor move the price?
- Aggressive orders consume resting liquidity, and when a price level is emptied the next trade happens at the next level. So aggression is what moves price in the short term, while resting size is what stops it. Absorption is the case where aggression is present and price still does not move.