Day of week · MES
Is MES more volatile on Mondays than on Wednesdays
54
monday count
monday count
54
wednesday count
53
monday avg range %
82.8%
wednesday avg range %
93.4%
monday std range %
46.7%
wednesday std range %
37.0%
diff monday minus wednesday
-0.11
more volatile day
Wednesday
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
bars_et = to_et(bars)
rth = rth_session(bars_et)
rth = rth.copy()
rth['date'] = trading_date(rth)
rth['dow'] = rth.index.dayofweek # Monday=0, Wednesday=2
daily = rth.groupby('date').agg(high=('high','max'), low=('low','min'), open=('open','first'), close=('close','last'), dow=('dow','first'))
daily['range_pct'] = (daily['high'] - daily['low']) / daily['open'] * 100
mon = daily[daily['dow']==0]['range_pct'].dropna()
wed = daily[daily['dow']==2]['range_pct'].dropna()
mon_mean = float(mon.mean()) if len(mon) > 0 else None
wed_mean = float(wed.mean()) if len(wed) > 0 else None
mon_std = float(mon.std()) if len(mon) > 1 else None
wed_std = float(wed.std()) if len(wed) > 1 else None
diff = None
if mon_mean is not None and wed_mean is not None:
diff = mon_mean - wed_mean
more_volatile = None
if diff is not None:
more_volatile = "Monday" if diff > 0 else ("Wednesday" if diff < 0 else "Equal")
result = {
"sample_size": int(len(mon) + len(wed)),
"monday_count": int(len(mon)),
"wednesday_count": int(len(wed)),
"monday_avg_range_pct": mon_mean,
"wednesday_avg_range_pct": wed_mean,
"monday_std_range_pct": mon_std,
"wednesday_std_range_pct": wed_std,
"diff_monday_minus_wednesday": diff,
"more_volatile_day": more_volatile,
}
- 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.
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.