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.