ES Futures Statistics 2026
Average daily range, first hour range, intraday volatility and volume for the E-mini S&P 500, month by month. Computed from CME data, updated monthly.
Last updated July 27, 2026 • 140 completed sessions, January 2 to July 24
I built this because I kept needing the numbers and kept not finding them. If you want to know what a normal ES day looks like this year, or whether the range you just traded was wide or ordinary, most of the internet gives you a vague answer from 2019.
So here it is, straight from CME data for the front-month contract. Every number below is computed the same way each month, and I add a row when the month closes.
2026 So Far
Across 140 trading days, ES has averaged 97.99 points of range on the full Globex session and 74.64 points during regular trading hours. At $50 a point that's about $4,900 and $3,730 per contract. The first hour alone averages 41.45 points, which is 55.5% of the entire RTH range. March was the wildest month at 137.57 points, May the calmest at 76.75.
Month by Month
ETH is the full Globex session. RTH is 9:30 AM to 4:15 PM ET, which is where ES actually does its business. All figures in index points.
| Month | Days | ETH range | RTH range | First hour | 1st hr % of RTH | Narrowest | Widest | Net change | Avg RTH volume |
|---|---|---|---|---|---|---|---|---|---|
| January | 20 | 72.91 | 57.24 | 34.69 | 60.6% | 30.25 | 123.25 | +67.50 | 1,164,436 |
| February | 19 | 104.12 | 83.99 | 56.16 | 66.9% | 36.00 | 150.75 | −86.00 | 1,294,769 |
| March | 22 | 137.57 | 93.33 | 49.51 | 53.1% | 44.25 | 177.50 | −357.50 | 1,344,835 |
| April | 21 | 91.04 | 65.08 | 30.46 | 46.8% | 32.25 | 130.25 | +679.25 | 1,192,831 |
| May | 20 | 76.75 | 59.08 | 33.58 | 56.8% | 32.00 | 84.75 | +344.00 | 1,154,374 |
| June | 21 | 114.86 | 95.56 | 48.87 | 51.1% | 36.50 | 243.75 | −111.00 | 1,218,052 |
| July (to 24th) | 17 | 82.13 | 64.76 | 36.24 | 55.9% | 38.25 | 114.25 | −29.75 | 1,009,115 |
| 2026 YTD | 140 | 97.99 | 74.64 | 41.45 | 55.5% | 30.25 | 243.75 | +506.50 | 1,202,476 |
A few things stand out to me. The spread between months is bigger than people assume: March days were nearly twice as wide as May days, so a stop that made sense in March was oversized by May. That's the argument for sizing off current range rather than a number you picked once and never revisited.
The other one is April. It printed the year's biggest gain (+679 points) on a below-average daily range, which is what a grinding trend month looks like. Big monthly moves and big daily ranges are not the same thing.
Volatility by Time of Day
This is the chart I'd show anyone who asks why I trade the morning. Each bar is the average range of a 15-minute candle in that half hour, across all 140 days.
The shape is the whole point. The opening half hour averages 21.6 points per 15-minute bar. By 2:30 PM that's down to 10.35. Then it climbs back to 12.9 in the 3:30 half hour as the close approaches, and volume in that block (79,172 contracts on average) is actually the highest of the entire session apart from the open itself.
So the midday lull is real and it's measurable. If you're taking the same size and the same targets at 1:00 PM as you do at 9:45, the market is giving you roughly half the movement to work with. I've written more about how I use this in my ES trading guide.
Initial Balance: What Happens After the First Hour
The initial balance is the range built in the first hour, 9:30 to 10:30 ET. Profile traders use it as the day's reference, so the useful question is how often the rest of the session breaks it, and by how much.
| Initial balance behaviour | 2026 |
|---|---|
| Average IB range | 41.45 pts |
| Session extends above the IB high | 63.6% |
| Session extends below the IB low | 52.9% |
| Extends both directions (neutral day) | 20.7% |
| Stays entirely inside the IB | 4.3% |
| Day's high was made in the IB | 36.4% |
| Day's low was made in the IB | 47.1% |
| Average extension beyond IB high | 24.66 pts |
| Average extension beyond IB low | 33.13 pts |
The number I'd tattoo on a beginner is that 4.3%. Roughly one day in twenty stays inside the first hour's range. If you're fading the IB edges as a default, you're taking the wrong side of a very lopsided statistic, and the average break runs another 25 to 33 points past the edge.
The other useful pairing is the high and low rows. The day's low gets set in the first hour 47% of the time and the high only 36%, which fits a year that spent most of its months grinding upward off morning lows. And when a day does extend both ways (20.7%), that's the neutral day I described in the market profile guide: both sides tried, neither finished the job.
How Often the Reference Levels Actually Get Hit
I mark the same handful of prices every morning. These are the odds each one gets touched during the cash session, which is the closest thing I have to a justification for the routine.
| Level or event | Hit rate |
|---|---|
| Cash session takes out the overnight high | 69.1% |
| Cash session takes out the overnight low | 61.2% |
| Session stays inside the overnight range entirely | 2.2% |
| Touches prior day's high | 57.6% |
| Touches prior day's low | 48.2% |
| Opens outside the prior day's range | 37.4% |
| Average distance from prior close to the open | 31.92 pts |
| Gap up returns to prior close same session | 52.7% |
| Gap down returns to prior close same session | 59.4% |
Two things here are worth more than the rest of the page.
First, only 2.2% of sessions stay inside the overnight range. The overnight high and low get taken out roughly two thirds of the time each, so those two lines are doing real work every single morning. That's why they go on my chart before anything else, and it's the data behind what I wrote in the premarket guide.
Second, the gap fill rate. Everyone repeats that gaps always fill. In 2026 an up gap returned to the prior close in the same session 52.7% of the time and a down gap 59.4%. Slightly better than a coin flip, and nothing like "always." Anyone shorting every gap up on that basis has been getting the worst of it about half the time, with no stop discipline to save them because the trade was never an edge to begin with.
When the Day's High and Low Get Made
For each of the 140 sessions I found the half hour that produced the RTH high and the one that produced the low.
| Time (ET) | Made the high | Made the low |
|---|---|---|
| 9:30 - 10:00 | 25.0% | 37.9% |
| 10:00 - 11:00 | 15.7% | 17.9% |
| 11:00 - 12:00 | 10.7% | 9.3% |
| 12:00 - 13:00 | 10.0% | 6.4% |
| 13:00 - 14:00 | 11.4% | 5.7% |
| 14:00 - 15:00 | 5.7% | 2.9% |
| 15:00 - 16:00 | 18.6% | 11.4% |
| 16:00 - 16:15 | 2.9% | 8.6% |
The distribution has two humps. The opening half hour alone produced 38% of the year's lows and 25% of its highs. Then it dries up through the middle of the day, with the 2:00 PM hour setting an extreme on fewer than one day in twenty, before the 3:00 PM hour picks up again and delivers 18.6% of the highs.
Read together with the volatility chart, that's the same story twice: the extremes and the movement both live at the edges of the session.
Rotations and Day Character
Rotation is a vague word, so here's a testable version of it: how many times does price close a 15-minute bar on the opposite side of the opening price from the bar before?
| Metric | 2026 |
|---|---|
| Average crossings of the opening price | 2.25 |
| Days crossing the open once or never | 54.3% |
| Days crossing the open 8 or more times | 3.6% |
| Most crossings in a single session | 22 |
More than half of all sessions crossed the opening price once or not at all. Price picked a side early and mostly stayed there. Genuine two-way chop, eight crossings or more, happened on 3.6% of days, though when it happens it really happens: one session managed 22.
This is the stat that surprised me most, because chop feels like it dominates when you're in it. It doesn't. It's just far more memorable than a day that went one direction and left you alone.
By Day of the Week
| Day | Sessions | ETH range | RTH range |
|---|---|---|---|
| Monday | 26 | 106.64 | 71.56 |
| Tuesday | 29 | 96.97 | 75.56 |
| Wednesday | 29 | 91.86 | 70.15 |
| Thursday | 29 | 98.63 | 81.46 |
| Friday | 27 | 96.63 | 74.13 |
Thursday has been the widest cash session this year at 81.46 points and Wednesday the narrowest at 70.15, though a 11 point spread across a few dozen sessions each is not something I'd bet real money on. The Monday number is more interesting: it has the widest full-session range by some distance (106.64) while its cash session is unremarkable. That gap is the Sunday evening reopen absorbing two days of weekend news, and it's a good reminder that the overnight session does real work before you sit down. I covered how to read that in the premarket guide.
How I Use These Numbers
Sizing stops against current range. When the average day is 137 points, an 8 point stop is noise and gets hit constantly. When the average day is 76, that same stop is reasonable. I look at the last month's average before deciding what a normal stop should cost me, which is the same logic I lay out in risk management.
Judging targets. If the first hour has already produced 60 points and the month is averaging 65 for the whole cash session, the easy move is behind me. That doesn't mean the day is over, but it does mean I stop expecting continuation and start expecting rotation.
Knowing when to stop trading. The volatility curve is why my session ends around 11:30. The market is still open after that, but it's paying about half as much for the same attention and the same risk.
Not fading things that rarely hold. The initial balance breaks on 95.7% of days and the overnight range breaks on 97.8% of them. So when price reaches one of those edges I'm looking for a continuation read first and a reversal read second, which is the opposite of how most people treat a level. The order flow at the edge still decides it, but the base rate tells me which outcome to expect while I'm waiting.
Methodology
If you're going to cite these numbers, here's exactly how they're built.
How the data is computed
- Source: CME trade data for the ES contract, aggregated into session, 30-minute and 15-minute bars.
- Contract: front month throughout, spliced at the volume crossover rather than on expiration day. In 2026 that means ESH6 to March 13, ESM6 from March 16 to June 12, and ESU6 from June 15.
- Sessions: ETH is the full Globex session. RTH is 9:30 AM to 4:15 PM ET, matching the ES day session that ends at the 4:15 halt. First hour is 9:30 to 10:30 ET.
- Time zone: all session boundaries are in US Eastern with the March 8 daylight saving change handled, so the RTH window is correct on both sides of it.
- Holidays and partial days: sessions trading under 300,000 contracts are excluded from daily averages, which removes shortened holiday sessions and any day still in progress. In 2026 that means Good Friday (April 3, 71,443 contracts) and the current session. July 3 doesn't appear at all because the market was closed for Independence Day.
- Net change: the sum of daily close-to-close moves within each contract, so the price gap between the old and new contract at each roll doesn't distort the monthly figure.
- Ranges: simple high minus low for the session in question, in index points. Multiply by $50 for dollars per ES contract, or $5 for MES.
- Initial balance: the high and low of 9:30 to 10:30 ET. An extension means any bar after 10:30 traded beyond that level. A day is counted as staying inside the IB only if neither side was exceeded for the rest of the session.
- Gap fill: measured from the RTH open against the prior session's RTH close. A fill means price traded back through that closing price at any point in the same cash session.
- Overnight levels: the high and low of the Globex session before 9:30 ET on the same trading date, tested against the cash session that follows.
- Rotations: the number of times consecutive 15-minute closes flip from one side of the RTH opening price to the other. Bars closing exactly at the open are ignored rather than counted as a flip.
One note on completeness. The session-level feed I pulled was missing March 27 entirely, which I caught from a 155 point gap between the March 26 close and the March 30 open. That day was recovered from the micro contract and the intraday bars, so March covers all 22 sessions. I mention it because it's the kind of hole that quietly corrupts a monthly average, and it's worth checking for in any dataset you're handed.
Questions About This Data
What is the average daily range of ES futures?
Across 140 trading days in 2026 through July 24, ES averaged 97.99 points for the full Globex session and 74.64 points for regular trading hours (9:30 AM to 4:15 PM ET). At $50 per point that's roughly $4,900 and $3,730 of range per contract. It varies a lot by month: March averaged 137.57 points on the full session while January averaged 72.91.
How much of the ES daily range happens in the first hour?
The 9:30 to 10:30 AM ET hour has averaged 41.45 points in 2026, which is 55.5% of the entire regular trading hours range. In the calmest month it was 46.8% and in the most active it was 66.9%. In other words, roughly half to two thirds of the day's movement is finished within sixty minutes of the open.
What time of day is ES most volatile?
The 9:30 to 10:00 AM ET half hour, by a wide margin. The average 15-minute bar in that window covered 21.6 points in 2026, compared with 10.35 points in the 2:30 PM half hour, which is the quietest of the session. Volatility declines steadily from the open until early afternoon, then picks back up into the 3:30 PM close.
Do ES gaps always fill?
No. In 2026 an ES gap up returned to the prior session's closing price during the same cash session 52.7% of the time, and a gap down did so 59.4% of the time. That's slightly better than a coin flip, not a rule. Fading every gap on the assumption it fills has been a losing approach roughly half the time this year.
How often does ES break out of the first hour range?
Almost always. Across 140 sessions in 2026, only 4.3% stayed entirely inside the initial balance, meaning the first hour's range from 9:30 to 10:30 ET. The session extended above the IB high on 63.6% of days and below the IB low on 52.9%, with 20.7% extending in both directions. The average break ran 24.66 points beyond the IB high or 33.13 points beyond the IB low.
Which day of the week has the widest ES range?
In 2026 so far, Thursday has the widest regular-hours range at 81.46 points and Wednesday the narrowest at 70.15. Monday has the widest full-session range at 106.64 points, which makes sense because the Sunday evening reopen has to price in everything that happened over the weekend.
Use This Data
All of it is free to use in your own research, blog, newsletter or video. The only thing I ask is a link back to this page so people can check the methodology for themselves.
Cite it
Jusell Trading Academy, "ES Futures Statistics 2026." Average daily range, initial balance and intraday volatility data for E-mini S&P 500 futures, updated monthly. https://juselltradingacademy.com/es-futures-statistics-2026
Embed the volatility chart
The chart from the section above, ready to drop into a post. It stays current as I update the data each month.
<iframe src="https://juselltradingacademy.com/es-volatility-chart-embed" title="ES futures volatility by time of day, 2026" width="100%" height="330" style="border:1px solid #33312b;border-radius:8px;max-width:780px" loading="lazy"></iframe>
<p>Source: <a href="https://juselltradingacademy.com/es-futures-statistics-2026">ES Futures Statistics 2026, Jusell Trading Academy</a></p>
Download the numbers
The monthly table as a CSV, including the methodology notes in the footer rows.
Want to learn to trade this market with someone watching your trades?
Book Your Intro Session ($20)Continue learning: How to Trade ES Futures • Premarket Futures Explained • Market Profile (TPO) Guide • Risk Management • Micro Futures Guide • All Free Resources