ES Gaps Fill No More Often Than the Mirror Level Nobody Trades
We measured every opening gap on 3,642 ES regular sessions since 2014 against a control almost nobody runs: a mirror level the same distance from the open, on the other side, with no story attached. Gaps filled 52.6% of the time and the mirror was hit 51.0% — an edge of 1.6 percentage points at t = 1.38. On gaps of twenty points or more the two rates swap places, 29.3% against 30.9%, at t = −0.71 — a second null rather than a result in the other direction. What the famous fill rate tracks is how far the level sits from the open.
We measured every opening gap on the S&P 500 futures since 2014 against the control that decides the question: a mirror level the same distance from the open, on the other side, with nothing attached to it. Gaps were filled on 52.6% of sessions. The mirror was reached on 51.0%. The gap’s advantage over a price nobody tells a story about is 1.6 percentage points, at t = 1.38.
That is the whole finding, and it holds on twelve and a half years of our own ES tick archive — 3,642 regular sessions, five years further back than our NQ archive reaches. We ran the same three questions on the Nasdaq in July and reached the same verdict on a shorter window. What the S&P adds is a size ladder long enough to show that the gap’s advantage never grows with the gap.
The rule, and the control
- A session is 09:30 to 16:00 New York. The gap is the session open minus the previous session’s close.
- Filled = the prior close is touched at any point during the same session.
- Mirror hit = the level at open plus the gap distance, in the opposite direction, is touched during the same session.
- Both levels sit exactly the same distance from the open. Only one of them has a name.
- Sessions that opened at the prior close to the tick are excluded: 3,538 of the 3,642 opened away from it.
If “gaps get filled” describes a memory in the market — unfinished business at yesterday’s close — the gap level has to be reached more often than the mirror. If it describes nothing but the distance from the open, the two rates match.
They match
The chart pairs the two rates by gap size, with the session count at the base of each pair. Read it left to right: both bars fall together as the levels move away from the open. The first three pairs stay close. The last two separate, and they separate in opposite directions — the grey mirror bar is taller in the 20–40 point bucket, the blue gap bar beyond 40 points.

| Gap size | Sessions | Filled | Mirror hit | Edge | t | p |
|---|---|---|---|---|---|---|
| Any | 3,538 | 52.6% | 51.0% | +1.6pp | 1.38 | 0.17 |
| ≥ 5 points | 2,340 | 44.7% | 43.7% | +1.1pp | 0.74 | 0.46 |
| ≥ 20 points | 796 | 29.3% | 30.9% | −1.6pp | −0.71 | 0.48 |
The fill rate falls from 52.6% to 29.3% as the threshold rises. That is the number the courses quote in reverse, and it has an ordinary explanation. A twenty-point gap puts the prior close twenty points away, and far levels are reached less often than near ones. In the chart’s nearest bucket the prior close is touched on 68% of sessions; beyond forty points, on 22%. The mirror rate falls the same way, from 51.0% to 30.9%, because it sits the same distance out.
The big end of the ladder is where the claim should be at its strongest, and it is not. Across the 796 sessions that gapped twenty points or more, the edge is −1.6 percentage points at t = −0.71. That is a null, not evidence that gaps repel price.
The two buckets inside that band do not agree with each other either. Between 20 and 40 points the mirror is the taller bar, on 503 sessions. Beyond 40 points the gap is, 22% against 17%, on 293. The Nasdaq study found its own largest gaps — those wider than 40% of a daily range — filling 33% against 26% for the placebo. Our top ES bucket leans the same way as that one. Neither ES cell separates from its control, so after twelve years and 796 big gaps there is still nothing on the gap’s side of the ledger.
Direction after the gap
The second question is whether the gap tells you where the session goes. Gap-ups continued up on 52.6% of sessions. Gap-downs continued down on 42.8% — a real asymmetry, and the reason one of the four trades below is not negative.
The chart shows all four ways to trade a gap of five points or more, open to close, one contract, costs in. Three of the four lose. The dashed line is the baseline every one of them has to beat.

| Trade | Average per session |
|---|---|
| Fade the gap up (sell the open) | −$37.23 |
| Follow the gap up (buy the open) | −$21.77 |
| Fade the gap down (buy the open) | +$32.05 |
| Follow the gap down (sell the open) | −$91.05 |
| Every session, open to close, long | −$6.61 |
One cell of four is positive, and it is worth about two-thirds of an ES point per session. Now look at the pairs. Fading and following a gap up sum to −$59.00 between them, and the two ways to trade a gap down sum to the same figure. That is exactly two round trips. Take both sides of the same session and all you are left holding is the cost of having done it, which is what a coin flip pays. There is no directional information being split between the two cells, only the toll.
The baseline deserves its own sentence, because it is the most useful number in this article for anyone building day-session rules on ES. The average ES regular session, bought at the open and sold at the close, is −$6.61 after costs. The S&P went up a great deal over these twelve and a half years. None of that drift lives in the 09:30-to-16:00 window. A day-session strategy on ES starts from below zero, not from a rising tide, and any long-biased rule that looks mildly profitable has to clear costs on its own merits.
Gaps are predictable in size, not in sign
The third question is whether the gap itself can be forecast from the session before it. Over 3,537 session pairs, the correlation between the previous open-to-close move and the gap that follows is −0.025. That is zero with a rounding error. Yesterday’s direction says nothing about tonight’s.
The magnitude is a different matter. The correlation between the previous session’s range and the absolute size of the gap is +0.317. Volatility clusters across the overnight break as reliably as it does inside the session. You can know that a wide gap is likely tomorrow. You cannot know its sign, and a magnitude forecast without a sign is a position-sizing input, not a trade.
The version people actually trade
Nobody trades the open blind. The practitioner rule is to wait: let the gap fill, then take whatever direction the session is running once the unfinished business is done. We tested exactly that on every session where the fill happened.
| Wait for the fill, then take the day’s direction | |
|---|---|
| Trades | 1,047 |
| Win rate | 46.4% |
| Average | −$90.26 |
| Median | −$42.00 |
| Total, one contract | −$94,499 |
| Profit factor | 0.841 |
| Sharpe | −0.49 |
| Max drawdown | $122,066.50 |
| Best trade | $7,445.50 |
| Worst trade | −$23,642 |
| t | −1.74 (p = 0.08) |
A profit factor of 0.841 with a 46.4% win rate is not a strategy that needs tuning. It is a coin flip paying a toll. The median trade at −$42.00 sits below the average round-trip cost, and the drawdown of $122,066.50 is larger than the total loss, which means the equity curve does not simply bleed — it rides up and hands it back. The t of −1.74 is the one figure here that flirts with significance, and it points at the losing side.
What we changed
Nothing, because we were not trading it. The value of running this on ES rather than NQ is in the two things the longer archive settled:
- The big-gap bucket is still not decided, and we will stop implying otherwise. The Nasdaq study found its largest gaps filling 33% against 26% for the placebo. Our largest ES bucket leans the same way and does not reach significance, and the band just below it leans against. Two indices, three buckets, no agreement worth trading.
- The day-session baseline is now a number we use. −$6.61 per session, long, after costs. It is the control line for every intraday ES rule we test from here, and it is why a strategy that “makes money most days” on the S&P needs to be shown against it rather than against zero.
The archive this ran on is for sale: ES ticks back to 2014 with the real aggressor side on every print, in the historical data packages.
Methodology: ES regular-session bars (09:30–16:00 New York) built from our own tick archive, 3 January 2014 to 10 September 2026, 3,642 sessions, of which 3,538 opened away from the prior close. Gap = session open minus prior session close. A gap counts as filled when the session trades back through the prior close at any point. The mirror counts as hit when the session trades through a price set the same distance out from the open, on the far side. Edges are differences in touch rates with t-statistics on the paired session series. Direction and strategy results are open-to-close on one contract, costed at $4.50 commission plus two ticks of slippage per round trip, which on ES is $29.50. Predictability correlations use 3,537 consecutive session pairs.
Frequently asked questions
Do S&P 500 futures gaps really get filled?
Not more often than a level with no story on it. Across 3,538 ES sessions that opened away from the prior close, the gap was filled in the same session 52.6% of the time and a mirror level the same distance on the other side of the open was reached 51.0% of the time. The 1.6 percentage point difference carries t = 1.38 and p = 0.17, which is not a result.
Do big gaps fill more reliably than small ones?
No — they fill less often, because the level sits further from the open. On the 796 sessions that gapped twenty points or more, 29.3% filled against 30.9% of mirror levels, an edge of −1.6 percentage points at t = −0.71. That is a null, not the gap losing to its control. Inside that band the two size buckets point opposite ways, so nothing holds at either end of the ladder.
Can you trade the direction after a gap?
Three of the four ways to do it lose money. Gap-ups continued up on 52.6% of sessions and gap-downs continued down on only 42.8%, and after $29.50 a round trip the four cells pay −$37.23, −$21.77, +$32.05 and −$91.05 per session. The one positive cell, buying after a gap down, is worth about two-thirds of an ES point.
Are gaps predictable before they happen?
Magnitude yes, direction no. Over 3,537 session pairs the correlation between the previous open-to-close move and the gap that follows is −0.025, while the correlation between the previous session's range and the absolute gap is +0.317. Volatility clusters overnight; direction does not.
Does waiting for the gap to fill and then trading the day's direction work?
No. That rule produced 1,047 trades with a 46.4% win rate, an average of −$90.26 and −$94,499 in total on one contract, at a profit factor of 0.841 and t = −1.74. The worst run drew down $122,066.50 along the way.