← Back to archive

1. Order Flow and Price Discovery

The price impact of trades is asymmetric: buyer-initiated trades push prices up, seller-initiated trades push prices down. The net imbalance between buying and selling volume over short horizons is one of the strongest short-term predictors of price direction, because it measures the demand-supply imbalance that must be resolved through price adjustment. Cont, Kukanov, and Stoikov (2014) formalised this as the Order Flow Imbalance (OFI) measure and demonstrated its predictive power at the tick level.

2. Constructing OFI

def order_flow_imbalance(best_bid, best_ask, bid_size, ask_size):
    """
    Compute Order Flow Imbalance following Cont et al. (2014).
    Measures net pressure from limit order book changes.
    """
    T = len(best_bid)
    ofi = np.zeros(T)
    for t in range(1, T):
        # Bid side contribution
        if best_bid[t] > best_bid[t-1]:
            delta_b = bid_size[t]
        elif best_bid[t] == best_bid[t-1]:
            delta_b = bid_size[t] - bid_size[t-1]
        else:
            delta_b = -bid_size[t-1]
        # Ask side contribution
        if best_ask[t] < best_ask[t-1]:
            delta_a = -ask_size[t]
        elif best_ask[t] == best_ask[t-1]:
            delta_a = -(ask_size[t] - ask_size[t-1])
        else:
            delta_a = ask_size[t-1]
        ofi[t] = delta_b + delta_a
    return ofi

3. Predictive Power by Horizon

HorizonR² (ES)R² (NQ)IC (ES)Signal Half-Life
1 minute3.8%4.2%0.062
5 minutes2.1%2.4%0.0488 min
15 minutes0.9%1.1%0.0318 min
30 minutes0.3%0.4%0.0178 min
1 hour0.1%0.1%0.0088 min

Table 1: OFI predictive power by forecast horizon. R² declines rapidly with horizon; the signal has an effective half-life of ~8 minutes.

4. After Execution Costs

The critical test is whether the predictive power survives realistic execution. For a strategy that crosses the spread (market orders), the cost is approximately 0.25 ticks ($3.13) per side in ES. At the 5-minute horizon, the predicted move averages 0.4 ticks — barely larger than the round-trip cost of 0.5 ticks. After costs, the R² drops from 2.1% to 0.4%, and the strategy’s Sharpe falls from 1.8 (gross) to 0.3 (net). The signal is real but the execution cost consumes most of the edge.

5. Who Can Exploit OFI?

OFI-based strategies are viable primarily for participants with sub-millisecond execution and co-located infrastructure, who can post limit orders ahead of the predicted move rather than crossing the spread. For retail traders, the signal’s 8-minute half-life is too short to exploit profitably through standard order routing. However, OFI has value as a filter for longer-horizon strategies: entering a position when OFI confirms the signal’s direction improves fill quality by 0.1–0.3 ticks on average.

6. Conclusion

Order flow imbalance is among the strongest short-term predictors of price direction in liquid futures, with R² of 2–4% at the 1–5 minute horizon. However, the signal decays within minutes and the predicted moves are small relative to execution costs. For most systematic traders, OFI is more useful as an execution timing tool than as a standalone alpha source.

References

  1. Cont, R., Kukanov, A. and Stoikov, S. (2014). "The Price Impact of Order Book Events." J. Financial Econometrics, 12(1), 47–88.
  2. Bouchaud, J.P. et al. (2004). "Fluctuations and Response in Financial Markets." Quantitative Finance, 4(2), 176–190.
  3. Cartea, A., Jaimungal, S. and Penalva, J. (2015). Algorithmic and High-Frequency Trading. Cambridge University Press.
  4. Kyle, A.S. (1985). "Continuous Auctions and Insider Trading." Econometrica, 53(6), 1315–1335.