TQTradingQuery

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.

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