Skip to main content

MES Sunday Open: Tick-Level Analysis of the Session Start

· 8 min read
AI Coding Agent
Frontier AI Company
Justin Goheen
AI/ML Engineer

The Sunday evening futures open at 18:00 ET is one of the most informative windows of the week. It is the first price discovery after two days without electronic trading, and it sets the tone for overnight flow heading into Monday. On March 15, 2026, we captured tick-level trade and bid/ask data for MES using ib-interface and the IBKR TWS API. This post breaks down what the data shows.

Session Overview

The capture window covers roughly 72 minutes of the electronic session open, from 18:00 to 19:12 ET.

MetricValue
Trade ticks29,432
Bid/ask quote updates125,832
Total volume (contracts)57,325
Price range6,606.00 -- 6,663.00 (57 points)
Mean trade price6,639.09
Median trade price6,638.25
Price std dev13.66 points
Mean trade size1.95 contracts
Median trade size1 contract

A 57-point range in the first hour is wide -- that is $285 per contract, or roughly 0.86% of price. This kind of range is typical for a Sunday open following a week with significant macro flow, and it reflects the gap between Friday's settlement and where global participants want to reprice.

Price Action

MES opened around 6,610, sold off briefly to 6,606 in the first few minutes, then staged a sustained rally through the session. By 19:10 the contract was trading near 6,662, a gain of roughly 52 points from the opening print.

MES Price Action and Volume -- Sunday Open (5-min bars)

The first 5-minute bar carried the heaviest volume -- 8,000 contracts -- as the opening auction cleared. Volume tapered through the middle of the 18:00 hour, then picked up again after 19:00 as the move extended. The rally was orderly: each 5-minute bar closed higher than the last with only minor pullbacks, suggesting directional conviction rather than stop-driven short covering.

Spread Dynamics

The bid-ask spread tells you how much the market is charging for immediacy. At the Sunday open, you would expect wider spreads as market makers calibrate to the new price level.

Bid-Ask Spread Distribution -- 125,832 Quote Updates

The data shows that the minimum tick spread of 0.25 points ($1.25) prevailed on 74.1% of all quote updates. The mean spread was 0.35 points and the median was 0.25 -- tight for an off-hours session. The maximum observed spread was 8.50 points, which likely occurred in the first seconds before the book filled in.

StatisticValue
Mean spread0.3484 points
Median spread0.2500 points
Max spread8.5000 points
Std dev0.3114 points
Min-tick (0.25) share74.1%

The 18:00 hour had a mean spread of 0.37, while the 19:00 hour tightened to 0.27. This matches what you would expect: the book deepens as more participants come online, and spread compression follows.

For anyone running a strategy at the Sunday open, these numbers suggest that limit orders at the inside should fill without difficulty once the initial 30 seconds of price discovery pass. Crossing the spread in the opening minute, though, can cost 2--4 ticks.

Limit Order Book

The bid/ask data captures the top of book on every update -- 125,832 snapshots of the best bid price, best ask price, and the resting size at each. This is the outer edge of the limit order book (LOB), and it tells you how the book behaved during the transition from a cold open to a functioning market.

MES Limit Order Book -- Top 10 Levels Each Side

18:01 ET -- Post-Open (spread: 0.75)

The two snapshots above illustrate the contrast. In the first minutes after the open, the book is thin and asymmetric: bid-side depth is stacked below 6,609 while the ask side is scattered across a wider range above 6,609.75. The spread is 0.75 points (3 ticks), and total visible size within 10 levels is under 100 contracts on each side. This is a market where a 5-lot market order can move price.

By 18:30, the book has filled in. The spread has compressed to the minimum tick, depth is more balanced, and the size at each level has grown. The best bid and ask each show 5--7 contracts, with cumulative depth of 70--90 contracts within 10 levels. This is the steady-state LOB for MES during the electronic session.

A few structural observations from the full dataset:

  • Median resting size at the inside is 5 contracts on both bid and ask. The mean is higher (7.03 bid, 7.58 ask) because occasional size spikes -- likely iceberg remnants or resting algo orders -- pull the average up.
  • The ask side was slightly thicker throughout the session. Mean ask size exceeded mean bid size by 0.55 contracts, consistent with the overall rally: sellers were providing liquidity that buyers were lifting.
  • Book turnover is fast. With 125,832 quote updates over 72 minutes, the top of book changed roughly 29 times per second on average. Resting orders at the inside have a half-life measured in fractions of a second, not seconds.

For strategies that consume LOB data, the practical implication is clear: top-of-book size on MES is a noisy, high-frequency signal. It is useful for short-horizon prediction (the imbalance signal discussed below), but it is not a reliable indicator of support or resistance at any given level. The book reshuffles too quickly for that.

Volume Profile

Volume was heavily front-loaded, with the first 10 minutes of trading accounting for roughly 23% of total session volume. This is standard for the open -- pent-up order flow from the weekend clears in a burst, then activity settles into a steady state.

Trade Volume by 5-Minute Period

The 18:00--18:05 bucket alone saw 8,000 contracts on 3,200 trade ticks. By 18:30, volume per bucket had dropped to around 2,500 contracts. The uptick after 19:00 coincided with the price extending to session highs, suggesting a new wave of directional interest.

Median trade size was 1 contract throughout the session. The mean of 1.95 was pulled up by the opening print of 186 contracts and a handful of other block-sized fills. This is a retail-dominated venue: the vast majority of participants are trading 1--3 lots.

Tick Direction and Book Imbalance

Of the 29,432 trade ticks, 6,622 were upticks, 6,400 were downticks, and 16,409 were unchanged (same price as prior trade). The uptick/downtick ratio of 1.035 is modestly bullish and consistent with the 52-point rally observed in price.

The bid/ask data also carries size information at the top of book. The average bid size was 7.03 contracts and the average ask size was 7.58 contracts, giving a session-level imbalance of -0.0065 (slightly ask-heavy). The standard deviation of the imbalance was 0.48, meaning the book was frequently tilted 40--60% in one direction.

MetricValue
Upticks6,622 (22.5%)
Downticks6,400 (21.7%)
Unchanged16,409 (55.7%)
Mean bid size7.03
Mean ask size7.58
Mean book imbalance-0.0065
Imbalance std dev0.4772

The high proportion of unchanged ticks (55.7%) is characteristic of a market that trends in bursts. Price sits at a level while volume transacts, then jumps to the next tick. This is the signature of a liquid, tick-constrained market -- most trades happen at the prevailing price, and directional movement comes from the occasional imbalance-driven tick.

Takeaways

The Sunday open is wide but brief. The first 5 minutes carry outsized volume and spread risk. After that, the market normalizes quickly. If your strategy needs tight execution, waiting until 18:10 is a practical concession.

Spreads are tight by historical standards. 74% of the session at the minimum tick means MES is liquid even on Sunday evening. Transaction costs for a 1-lot market order are predictable at $1.25 per side for the majority of the session.

Trade size distribution is dominated by single lots. Median size of 1 contract means that institutional flow, if present, is being sliced through algorithms -- not showing up as block prints on the tape. The 186-lot opening trade is the exception.

Book imbalance is noisy at the session level but informative at the tick level. The session-average imbalance of -0.007 tells you almost nothing. But with a standard deviation of 0.48, there are persistent windows where the book is meaningfully one-sided. These windows, combined with tick direction, are where short-horizon signals live.

Collecting Your Own Data

The tick data used in this analysis was captured with reqHistoricalTicks via the IBKR TWS API. The scripts/fetch_mes_ticks_ibapi.py script in this repository handles the connection, pagination, and CSV export. Point it at any CME futures contract and you will have the same granularity shown here.