· DELTA

What a delta number counts, and what it leaves out

Delta subtracts bid volume from ask volume. How Liquivue, NinjaTrader and other platforms classify each trade, and four cases where delta misleads.

SHORT ANSWER

Delta is the volume bought at the ask minus the volume sold at the bid. Its accuracy depends on how the platform gives each trade a side. Liquivue plots it as cumulative volume delta, or CVD, on the same screen as its liquidity heatmap, so you can check delta against the resting orders that took the other side.

Delta is the volume that traded at the ask minus the volume that traded at the bid. A bar with 1,200 contracts bought at the ask and 900 contracts sold at the bid has a delta of +300. The subtraction is simple. Errors come from the step before it, where the platform decides which side each trade belongs to.

How a trade gets a side

Every trade has two orders behind it. One order was resting in the book. The other order arrived and crossed the spread to fill against it. The arriving order is the aggressor. If the aggressor was a buy order, the platform adds the trade to ask volume. If the aggressor was a sell order, the platform adds it to bid volume.

Some exchanges publish the aggressor side on every trade. CME's MDP 3.0 market data feed carries an aggressor side field on its trade messages. Binance's public trade stream marks whether the buyer was the maker. If the buyer was the maker, the seller was the aggressor. When the feed has this field, the platform can copy it and the classification is exact.

When the feed has no aggressor field, the platform has to infer the side. The usual method compares the trade price with the best bid and offer the platform saw just before the trade. A trade at the offer counts as a buy, and a trade at the bid counts as a sell. A second method, the tick rule, compares the trade price with the previous trade. An uptick counts as a buy, a downtick counts as a sell, and a trade at an unchanged price keeps the last side.

Both inference methods make mistakes when quotes move fast. Suppose the offer moves from 100.25 to 100.50 within the same millisecond that a sell prints at 100.25. A platform holding the older quote sees a trade at the offer and records a buy. Over a busy session, these errors accumulate in cumulative delta.

A worked example

The table below is an invented five-trade sequence in an index future with a 0.25 tick.

TimePriceSizeAggressorRunning delta
09:30:01.1205,012.2540Buy+40
09:30:01.1215,012.2515Buy+55
09:30:01.3405,012.0060Sell-5
09:30:02.0105,012.2510Buy+5
09:30:02.4005,012.0025Sell-20

The bar traded 150 contracts. Buyers who crossed the spread took 65 contracts and sellers who crossed the spread hit 85 contracts, so delta is -20. Price opened at 5,012.25 and closed at 5,012.00. A one-tick move on a delta of -20 out of 150 tells you very little by itself. Delta is more useful when you compare it across many bars at the same time of day.

In Liquivue, the CVD study would step through the same running values, from +40 to -20. The five trades would also appear as trade bubbles on the heatmap at 5,012.25 and 5,012.00. That second view matters for the -20. Liquivue draws the resting bid at 5,012.00 behind the bubbles, so you can see whether the 85 contracts of selling took out the bid or left most of it in place.

Four ways the number misleads

  1. Delta ignores how the volume arrived. A single 300-lot and three hundred 1-lots produce the same +300. A trade count or a large-trade filter shows the difference, and delta does not.
  2. Delta counts who crossed the spread, not who bought or sold more. A seller who rests 2,000 contracts on the offer and gets filled adds 2,000 to ask volume. That seller's activity shows up as positive delta.
  3. Delta cannot see the order that absorbed the volume. If an iceberg order on the bid fills 1,500 contracts of aggressive selling, delta reads -1,500 while price stays at the same level. The delta figure is correct. The explanation for the flat price is in the order book, which delta does not include.
  4. Cumulative delta depends on its reset point. Some charts reset at the session open, some at a fixed clock time, and some never reset. Two charts of the same contract can show very different cumulative delta for this reason.

What to check on your own platform

Before you compare delta between two charts or two platforms, confirm these settings:

  • Does your data feed carry an aggressor side, or does the platform infer it from quotes or ticks?
  • If it infers the side, which method does it use, and can you change it?
  • Does the platform split one aggressive order into individual fills, or keep it as one trade?
  • When does cumulative delta reset?

The platform's documentation usually answers these under footprint or volume settings. On this site, Liquivue lists CVD and delta profiles, NinjaTrader lists cumulative delta and GoCharting lists volume delta. The glossary covers the related terms for footprints and tape.

A quick test needs one minute of data. Export or copy the time and sales for a single one-minute bar, add up the buys and the sells by hand, and compare the result with the delta your footprint shows for that bar. If the two numbers match, the platform uses the classification you used. If they differ, the platform is reclassifying, filtering or grouping trades, and its documentation should say which.

Questions

What is delta in order flow trading?

Delta is ask volume minus bid volume for a bar or a session. Positive delta means more contracts traded through aggressive buy orders than through aggressive sell orders.

Does Liquivue show cumulative delta?

Yes. Liquivue has a CVD study and volume and delta profiles next to its browser heatmap and trade bubbles, for futures connected through Rithmic or the NinjaTrader bridge.

Why does delta differ between two platforms?

Platforms can classify trades differently, group fills differently and reset cumulative delta at different times. Check all of these settings before you compare numbers.

Does positive delta mean price will rise?

No. Delta counts who crossed the spread. A passive seller resting on the offer adds to positive delta when filled, and an iceberg order can absorb heavy delta without any change in price.

Educational content about market data and charting software. It is not trading or investment advice. Trading involves risk.

MORE NOTES