TQTradingQuery

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

Analysis code was generated by an AI model up to 25 times, run in a sandbox against real MES 1-minute bars from 2025-08-31 to 2026-09-07, and reviewed automatically. Attempts that computed the same set of measures were grouped, and the figures shown are the median of the largest group. Agreement between attempts lowers the chance of a one-off coding slip; it does not prove the code matches the question, so 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 by an AI model up to 25 times, run in a sandbox, and reviewed automatically; the figures above are the median of the largest group of attempts that computed the same measures. Agreement between attempts lowers the chance of a one-off coding slip -- it does not prove the code matches the question, so check the definition and code. A one-off calculation, not a permanent fixture.

This is historical statistical information only. It is not investment advice, and past performance does not indicate future results. Trading involves risk of loss.