TQTradingQuery

Day of week · MES

Is MES more volatile on Mondays than on Wednesdays

54

monday count

n=1072025-08-31 to 2026-09-07

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

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

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 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.

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