Order-Flow Imbalance (OFI)
Order-flow imbalance from L1 updates.
What it measures
Order-flow imbalance computed from signed level-1 updates, in the spirit of Cont, Kukanov & Stoikov (2014): the running sum of size added to or removed from the best bid, minus the same on the best ask. Unlike trade-only measures, OFI captures both aggressive executions and passive quote revisions, which is why it is the standard short-horizon flow primitive: it summarizes the net pressure on the touch in a single signed number.
References: Cont-Kukanov-Stoikov 2014.
Point-in-time, leak-free
Like every QUANT_API feature, flow.ofi is computed point-in-time: each value uses only data that had actually arrived at the timestamp you query — live or historical. No restatements, no backfills that quietly rewrite the past, no look-ahead. The value your backtest sees at a given stamp is the value the live API would have returned at that stamp. How we enforce this is documented on the methodology page.
Windows & transforms
The signal is computed over rolling windows; each window can be served raw or through a transform (z-score, percentile rank, delta…). Which windows and transforms you can query depends on your plan — the signal itself supports:
Plan & access
flow.ofi unlocks on the Signal plan ($99/mo) and every plan above it. It is also one of the three preview signals on the free Discover plan — you can query it today at @1h:level without paying anything. Every new account starts with a 14-day free trial of the Signal plan — no card required.
Example call
Resolve the latest value for BTC (5m window, delta transform — both available on the Signal plan):
curl -G https://api.quant-api.dev/v1/features/live \
-H "Authorization: Bearer fk_live_<your_key>" \
--data-urlencode "asset=BTC" \
--data-urlencode "features=flow.ofi@5m:delta"Same key works on /v1/features/historical for point-in-time backtesting — see the API docs.