Day of week · MNQ
Is MNQ's average daily range on Fridays different from the rest of the week
49
friday count
n=2582025-08-30 to 2026-09-06
friday count
49
rest count
209
friday avg range
380.63
rest avg range
363.99
diff friday minus rest
16.64
% diff
4.57
friday std
207.82
rest std
196.26
t stat approx
0.51
Methodology
Computed by independently generating and running analysis code against real MNQ 1-minute bars from 2025-08-30 to 2026-09-06, 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['trading_date'] = trading_date(rth)
daily = rth.groupby('trading_date').agg(high=('high','max'), low=('low','min'))
daily['range'] = daily['high'] - daily['low']
daily['dow'] = pd.to_datetime(daily.index).dayofweek # Friday = 4
fri = daily[daily['dow'] == 4]['range']
rest = daily[daily['dow'] != 4]['range']
n_fri = len(fri)
n_rest = len(rest)
if n_fri > 0 and n_rest > 0:
fri_mean = float(fri.mean())
rest_mean = float(rest.mean())
diff = fri_mean - rest_mean
pct_diff = float(diff / rest_mean * 100) if rest_mean != 0 else None
fri_std = float(fri.std()) if n_fri > 1 else 0.0
rest_std = float(rest.std()) if n_rest > 1 else 0.0
se = np.sqrt((fri_std**2)/n_fri + (rest_std**2)/n_rest) if n_fri > 0 and n_rest > 0 else None
t_stat = float(diff / se) if se and se > 0 else None
result = {
"sample_size": int(n_fri + n_rest),
"friday_count": int(n_fri),
"rest_count": int(n_rest),
"friday_avg_range": fri_mean,
"rest_avg_range": rest_mean,
"diff_friday_minus_rest": diff,
"pct_diff": pct_diff,
"friday_std": fri_std,
"rest_std": rest_std,
"t_stat_approx": t_stat,
}
else:
result = {
"sample_size": int(n_fri + n_rest),
"friday_count": int(n_fri),
"rest_count": int(n_rest),
"friday_avg_range": None,
"rest_avg_range": None,
"diff_friday_minus_rest": None,
"pct_diff": None,
"friday_std": None,
"rest_std": None,
"t_stat_approx": None,
}
- 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
- MNQ: How often does a 5-minute opening range breakout on MNQ continue in the same direction for the rest of the session
- MNQ: How does MNQ react when price touches the prior day's high -- does it break through or bounce
- MES: Is MES more volatile on Mondays than on Wednesdays
- MYM: How does MYM's average volume differ across days of the week
This is historical statistical information only. It is not investment advice, and past performance does not indicate future results. Trading involves risk of loss.