· DOM & TAPE

Reading the DOM ladder row by row

How to read a DOM ladder one row at a time, from the inside market outward, with a worked NQ ladder in Liquivue and a second snapshot to compare.

SHORT ANSWER

Read a DOM ladder from the inside market outward. Start with the best bid and best offer, note the spread, then read the size on each row as you move away from price. Compare two snapshots row by row to see what changed. Liquivue shows its DOM beside a heatmap with trade bubbles, so you can tell a fill from a cancel.

Reading the DOM ladder row by row means starting at the inside market and working outward one price at a time. The DOM, or depth of market, is a vertical ladder of prices. Each row shows the displayed limit order size resting at that price. The earlier note on what the DOM shows and what it hides lists the gaps in that picture. This note reads one invented ladder row by row, then compares it with a second snapshot taken three seconds later.

The example ladder

The example uses the E-mini Nasdaq-100 future, NQ. One tick is 0.25 points and is worth $5 per contract. Here is an invented snapshot of the Liquivue DOM at 10:14:05.

Bid sizePriceAsk size
18,212.0046
18,211.7531
18,211.5018
18,211.259
1218,211.00
2718,210.75
3518,210.50
5218,210.25

The price column runs down the middle. Sellers' limit orders sit in the ask column above the inside market. Buyers' limit orders sit in the bid column below it. Each number is the total of every order resting at that price.

How to read the rows from the inside out

The best bid and best offer

Start where the two columns meet. The best offer is 18,211.25 with 9 contracts. It is the lowest price any seller in the book will accept. The best bid is 18,211.00 with 12 contracts. It is the highest price any buyer in the book will pay. These two rows are the inside market. The spread between them is one tick, or $5 per contract.

A market buy order trades against the best offer first. A market sell order trades against the best bid first. A market order reaches the other rows only after the inside rows empty.

The next rows out

Move one row away on each side. The ask at 18,211.50 shows 18 contracts, twice the best offer. The bid at 18,210.75 shows 27, more than twice the best bid. Within four ticks of the inside, the offers add up to 104 contracts and the bids add up to 126.

Those totals describe displayed size at 10:14:05 and nothing more. Any trader can add or cancel orders a millisecond later. A 22-contract gap between the two sides is not a forecast.

The outer rows

The bid at 18,210.25 shows 52 contracts, the largest number on the ladder. It sits three ticks below the best bid. A seller would have to trade through 74 contracts of bids at the three prices above it before reaching those 52.

Comparing two snapshots row by row

A single snapshot shows size at one moment. To see activity, compare it with a second snapshot. Here is the same ladder at 10:14:08, three seconds later, with the change on each row.

Price10:14:0510:14:08Change
18,212.0046 ask46 asknone
18,211.7531 ask31 asknone
18,211.5018 ask18 asknone
18,211.259 ask6 bidswitched sides
18,211.0012 bid30 bid+18
18,210.7527 bid27 bidnone
18,210.5035 bid35 bidnone
18,210.2552 bid40 bid-12

Read the three changed rows one at a time.

The 18,211.25 row moved from the ask column to the bid column. The 9-contract offer left the book, and a buyer then placed 6 contracts at that price. 18,211.50 is now the best offer and 18,211.25 is the best bid. The inside market moved up one tick.

The 18,211.00 row grew by 18 contracts. Buyers added orders there.

The 18,210.25 row lost 12 contracts. In this example no trade printed below 18,211.00 during those three seconds. Price never reached 18,210.25, so the traders behind those 12 contracts cancelled them.

The DOM shows how much each row changed. It does not show why. The 9 offers at 18,211.25 may have filled against a buyer's market order, or the sellers may have cancelled them.

The same three seconds in Liquivue

In Liquivue the DOM sits beside the heatmap, so each price on the ladder has a history to its left. The heatmap layer draws the 9-contract offer at 18,211.25 as a short band that ends at 10:14:07. Trade bubbles at 18,211.25 at that moment add up to 9 contracts. A buyer filled the whole offer.

At 18,210.25 the band dims at 10:14:06, and no trade bubbles print at that price. A band that dims with no trades at its price is a cancel. The note on orders that never trade follows that pattern over longer periods.

Liquivue also takes orders from the DOM. Suppose you placed a 2-contract buy limit at 18,210.50 when that row showed 33. The row now reads 35. Your 2 contracts are part of the total, with 33 contracts ahead of them in the queue. Liquivue supports DOM orders with brackets, OCO and trailing stops on an eligible account. The vendor says it has not yet verified live accounts through the NinjaTrader bridge, and it advises starting in simulation.

What other DOMs add to the ladder

Many DOMs add columns beside the bid and ask, such as recent traded volume or your own working orders. Jigsaw daytradr lists Depth & Sales, which puts recent trades on the ladder. Column names and contents differ by platform. Read your platform's documentation before you rely on a column you did not set up.

A check you can run

Open a DOM on a liquid future during a quiet hour. Take a screenshot, wait three seconds and take another. Copy eight rows from each into a table like the one above and write the change for each row. For every row that lost size, check the trades at that price over the same three seconds. Count how many losses were fills and how many were cancels. Ten pairs of screenshots give you 80 row comparisons from your own feed.

Questions

How do you read a DOM ladder?

Start at the inside market, where the best bid and best offer meet, and note the spread. Then read each row's size moving away from price, and compare the same rows a few seconds later to see which ones changed.

Why does a price row move from the ask column to the bid column?

The offers at that price left the book, by trading or by cancelling, and a buyer then placed a bid at the same price. The inside market moved up one tick.

Can the DOM tell you whether size was filled or cancelled?

No. The DOM shows how much each row changed. Check the trades at that price over the same seconds. If no trade printed there, the traders cancelled their orders.

Does Liquivue show the DOM next to the heatmap?

Yes. Liquivue shows its DOM beside the liquidity heatmap and trade bubbles, and it takes orders from the DOM, including brackets, OCO and trailing stops, on an eligible account.

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

MORE NOTES