Gaps · MES
How often does a gap down on MES get filled the same day
57.7%
fill rate
n=1042025-08-31 to 2026-09-07
fill rate
57.7%
avg gap points
29.85
num filled
60
num not filled
44
Methodology
Computed by independently generating and running analysis code against real MES 1-minute bars from 2025-08-31 to 2026-09-07, 25 separate times in parallel, then taking the answer the largest group of independent attempts agreed on. The exact code is shown below.
Show the code
et = to_et(bars)
rth = rth_session(et)
rth = rth.copy()
rth['date'] = trading_date(rth)
daily = rth.groupby('date').agg(open=('open','first'),
high=('high','max'),
low=('low','min'),
close=('close','last'))
daily = daily.sort_index()
prev_close = daily['close'].shift(1)
daily['prev_close'] = prev_close
gap_down = daily[daily['open'] < daily['prev_close']].copy()
gap_down['filled'] = gap_down['high'] >= gap_down['prev_close']
n = len(gap_down)
if n > 0:
fill_rate = float(gap_down['filled'].mean())
avg_gap_size = float((gap_down['prev_close'] - gap_down['open']).mean())
else:
fill_rate = None
avg_gap_size = None
result = {
"sample_size": int(n),
"fill_rate": fill_rate,
"avg_gap_points": avg_gap_size,
"num_filled": int(gap_down['filled'].sum()) if n > 0 else 0,
"num_not_filled": int((~gap_down['filled']).sum()) if n > 0 else 0,
}
- Generated and independently re-derived 25 times, then checked for logical consistency, before being shown to you -- the figures above are the answer the largest number of those independent attempts agreed on. Still a generated, one-off calculation, treat it as a rough, one-off analysis rather than a permanent fixture.
Related
This is historical statistical information only. It is not investment advice, and past performance does not indicate future results. Trading involves risk of loss.