- Bid /
ask depth ratioSignal - Rolling time seriesForm
- depth totalsInput
- Test, don’t trustStatus
The depth imbalance ratio, resting bid size against resting ask size, is a one-number read on which way the book is leaning. Measured once, it is a snapshot of pressure. Measured continuously, it becomes a time series with regimes: stretches of persistent lean, and sharp spikes that fade. The persistence, not the level, is where the candidate signal lives.
A top-of-book imbalance reading answers “which side is heavier right now”. That is useful, but a single value can be a fluke, one large order that lands and lifts in a second. The interesting question is temporal: when the book leans, does it stay leaned, and for how long? That requires building the ratio as a series, not reading it once.
The construction is deliberately simple so it stays reproducible. Take bid_depth_total and ask_depth_total off each snapshot, form a ratio, and string those values along the snapshot timeline. The high crypto capture rate means the series is dense enough to see structure, bursts, plateaus, mean reversion, rather than a few scattered dots.
Spikes versus regimes
Momentary spikes
A single large resting order can swing the ratio hard for one or two snapshots, then vanish when it is pulled or filled.
- One-tick swings
- Often spoofy
- Fade fast
Persistent lean
When the ratio holds to one side across many snapshots, that is sustained pressure rather than a single order’s footprint.
- Holds across frames
- Sustained pressure
- A regime, not noise
Regime shifts
The series flipping from one plateau to another marks a change in who is leaning on the book, the event worth dating.
- Plateau to plateau
- Datable transitions
- Worth aligning to events
The distinction matters because a spike and a regime look identical at a single point in time and completely different over a window. Smoothing the raw ratio, a rolling average over a short window, is what separates them, suppressing one-tick noise so a genuine plateau stands out.
Building the series
- 1Pull the snapshots for the market and window, you do not need the full book here, since the depth totals already carry each side’s resting size.
- 2Form the imbalance ratio per snapshot from bid_depth_total and ask_depth_total, choosing a symmetric form so heavy-bid and heavy-ask read as mirror images.
- 3Order the values on event_timestamp, Polymarket’s own emit time, so the series reflects when the book changed, not when you processed it.
- 4Apply a short rolling window to separate persistent lean from one-tick spikes, and keep the raw series alongside so you can see what the smoothing removed.
- 5Mark regime transitions where the smoothed series shifts plateau, then test whether those transitions lead, lag, or coincide with mid_price moves.
The fields the series reads
bid_depth_totalask_depth_totalThe two sides the ratio is built fromevent_timestampPolymarket emit time, the ordering axismid_priceWhat you test the ratio againstsequence_numberGap detection so a hole isn’t read as calm
Ordering on emit time keeps the series honest about when the book actually moved. The sequence number matters too: a gap in capture should be visible as a gap, not silently interpolated into a flat stretch that looks like a calm regime when it was really missing data.
Treat it as a hypothesis, not a verdict
- Resting depth is intent, not executed flow, the ratio reads where size is waiting, which can be pulled before it ever trades against anyone.
- A persistent lean can be makers parking inventory, not informed pressure; the series tells you the book leaned, not why.
- Direction is not guaranteed, heavy bids can precede a rally or get run over; only out-of-sample testing tells you which, and for which market and timeframe.
- The same ratio behaves differently across categories and timeframes, so a relationship found on BTC 5m markets has to be re-validated before it is trusted anywhere else.
A candidate, not a crystal ball
The imbalance series is a leading-indicator candidate, something to test, not to trust. It is built from resting depth, which is a proxy for pressure, not a record of trades. Treat any apparent predictive edge as a hypothesis to validate out of sample on its own market and timeframe. We capture the book read-only; what the ratio means for price is yours to prove.
One imbalance reading tells you the book is leaning. The series tells you whether it is a flicker or a regime, and only the second one is worth testing.
Build and test the series
Pull depth totals across a window with the historical guide, then validate any apparent edge in the backtester before trusting it.
Frequently asked questions
How is this different from a top-of-book imbalance reading?
A top-of-book imbalance is a single value at one moment, which side is heavier right now. This is the same idea extended over time: form the bid/ask depth ratio on every snapshot and string the values into a rolling series. The point is temporal structure, whether a lean persists across many snapshots or is a one-tick spike, which a single reading cannot tell you.
What fields do I need to build the imbalance series?
You need bid_depth_total and ask_depth_total to form the ratio, and event_timestamp to order the series on Polymarket’s emit time. You do not need the full book arrays, since the depth totals already sum each side’s resting size. Carry sequence_number too, so a gap in capture shows up as a gap rather than being mistaken for a calm stretch.
How do I separate a real regime from a momentary spike?
Apply a short rolling window to the raw ratio. A spike from a single large order swings the value for one or two snapshots and then fades, so smoothing suppresses it. A genuine regime holds to one side across many snapshots, so it survives the smoothing as a plateau. Keep the raw series alongside the smoothed one so you can see exactly what was removed.
Is the imbalance ratio a reliable predictor of price moves?
Treat it as a candidate, not a confirmed signal. It is built from resting depth, which is intent rather than executed flow, and a lean can precede a move or get run over. Any apparent predictive edge is a hypothesis you must validate out of sample, on the specific market and timeframe you care about. Resolved Markets provides the data read-only; proving what the ratio means for price is your work.



