OFI Explained: How Order Flow Imbalance (the Model) Actually Works

OFI — Order Flow Imbalance in the Cont–Kukanov–Stoikov sense — measures the net pressure building inside the order book itself: bids stacking up, asks pulling away, queues growing or thinning, level by level. It is not the footprint imbalance you already know, and it reads the market from a completely different place: the resting book, not the executed trades.

Senzoukria · Learn · Updated July 2026


First, a naming collision to clear up. If you came here from footprint trading, “order flow imbalance” probably means a footprint cell where aggressive buyers overwhelm sellers at adjacent levels — we cover that in order flow imbalance on the footprint. This page is about something else: OFI, the order-book model introduced by Cont, Kukanov and Stoikov, one of the most cited results in market microstructure. Same words, different instrument: the footprint reads executed trades; OFI reads the resting book.

The idea: price moves because the book moves

Watch a DOM for a few minutes and you will see the mechanics: price ticks up when the best ask queue is consumed or cancelled, and when new bids pile in below. Price does not need a single trade to move — a large ask being pulled shifts the balance just as surely as a market buy lifting it. OFI turns that observation into one number per interval:

  • Bid side: if the bid price at a level moves up, count the new size as buying pressure (+). If the price holds, count the change in size. If the bid retreats, count the old size as pressure lost (−).
  • Ask side, mirrored: an ask stepping closer or growing is selling pressure (−); an ask backing away or shrinking removes selling pressure (+).

Sum those contributions over the interval and you get OFI: positive when the book is net-loading on the buy side, negative when supply is building. The multi-level (integrated) version repeats the computation on each of the top N levels — ten is standard — and sums them.

Why it beats trade-based measures at explaining moves

This is the part worth remembering. In the follow-up study (Cont, Cucuringu & Zhang, 2023), integrated ten-level OFI explained roughly 87% of contemporaneous price variance. The best level alone: about 71%. Signed trade volume — the raw material of CVD — only about 33%. The interpretation is not that CVD is useless; it is that most of what moves price never prints on the tape. Orders added, orders pulled, queues thinning — the book reshapes constantly between trades, and OFI is the instrument that sees it.

The honest limit: contemporaneous, not predictive

Here is what the vendors selling “order-flow signals” will not tell you: those 87% are contemporaneous. OFI explains the move happening in the same interval. Use the past OFI to forecast the next minute and the out-of-sample R² goes negative. OFI is a state read — “the book is loading up bid-side right now” — not a prediction. That still has real value: as confirmation at a level you already care about (an absorption zone, a gamma wall, a VWAP band), a sustained OFI push tells you whether the book agrees with your read.

Normalization — the step everyone skips

Raw OFI is in contracts, so its scale depends entirely on how thick the book is. The same +400 is a shove on a thin overnight book and a rounding error at the London open. Divide by the average depth per level (a slow-moving average) and the number becomes comparable across sessions and instruments. Senzoukria applies this normalization by default — the OFI you see in the QI · OFI gauge is depth-normalized, not raw.

Reading OFI in Senzoukria

The Microstructure (quant) indicator shows three related reads: the micro-price line (the fair price inside the spread, weighted by the queues), the queue imbalance (QI, −1 to +1, best level only) and the normalized multi-level OFI, smoothed over a configurable number of book events. A practical way to use it: pick your levels first — from the volume profile, absorption zones or GEX walls — then let QI and OFI tell you whether the book supports the trade at the moment you take it. Confluence, not prophecy.

OFI vs the rest of your toolkit

  • OFI vs CVD: CVD is the tape (what traded), OFI is the book (what is waiting, appearing, vanishing). Divergences between the two are informative: price up, CVD up, but OFI flat means the rally is eating a book that is not replenishing.
  • OFI vs the DOM: the DOM shows you the book’s state; OFI compresses its changes into a single signed flow you can track without staring at forty rows of numbers.
  • OFI vs footprint imbalances: footprint imbalances are confirmed aggression at specific prices; OFI is the pressure building before and between those prints.

Frequently asked questions

Is OFI the same thing as a footprint imbalance?
No. A footprint imbalance compares executed aggressive volume at adjacent price levels — trades that already happened. OFI measures changes in the resting order book: bids added, asks pulled, queues growing or shrinking. One reads the trades, the other reads the book. They complement each other.
Is OFI predictive?
Honestly: no, not in the way people hope. OFI is contemporaneous — it explains the price move happening right now far better than volume-based measures do. But lagged OFI used to forecast the next minute produces negative out-of-sample R² in the published research. Treat it as a state read of the book, not a crystal ball.
How is OFI different from CVD (cumulative delta)?
CVD sums signed executed volume — it only sees trades. OFI also sees what never trades: orders added to the bid, orders pulled from the ask, queue depletion. In the Cont–Cucuringu–Zhang study, integrated multi-level OFI explained about 87% of contemporaneous returns versus roughly 33% for signed trade volume. The book moves prices more than the tape does.
Why does OFI need to be normalized by depth?
A +500 OFI means something completely different on a thick book than on a thin one. Dividing by average depth per level makes the number comparable across instruments and across hours of the same session. Without normalization, comparing two OFI readings is meaningless.
How many levels should OFI use?
The best level alone already carries most of the signal, but the research is clear that integrating deeper levels helps: about 87% contemporaneous R² over ten levels versus 71% at the best level only. Ten levels is the standard configuration and the default in Senzoukria.