Research / Trading experiment
07/07/2026

QQQ Opening-Hour Momentum

Opening-range momentum: early-session direction reflects overnight information being priced in plus institutional order flow that persists through the day.

Conclusion: Rejected

Out-of-sample Sharpe was -2.38, versus 0.22 in-sample. A bootstrap test returned p = 0.996 (not significant).

Trade count is adequate (219 OOS trades), so this is a real rejection, but the short hourly history and fold-to-fold sign flips mean the honest read is 'no exploitable opening-range continuation on QQQ after costs.' Opening-range momentum, if it ever existed intraday, is not present in this instrument/timeframe once realistic costs are charged. No promotion, no paper trade.

Method

Rule / pseudocode

DATA adjusted observations for the stated instrument and horizon
RULE On QQQ hourly bars, the sign of the first regular-session hour's return predicts the sign of the return over the remainder of the session, giving a positive after-cost intraday continuation edge.
METHOD Instrument: QQQ
FIT estimate or select parameters on each training window only
TEST apply the frozen rule to the next unseen window after stated costs
REPORT return, Sharpe, drawdown, trade count, significance and fold stability
VERDICT prefer robustness and sufficient observations over the headline return

_Opening-range momentum: early-session direction reflects overnight information being priced in plus institutional order flow that persists through the day._

Out-of-sample equity curve

Growth of $1 over the held-out test data the strategy never saw while it was being built, after 10 bps round-trip costs.

Out-of-sample performance

OOS Sharpe
-2.38
Ann. return
-30%
Max drawdown
-28%
Win rate
43%
p-value
0.996
not significant
WF folds +
2/5
Measured on held-out data. A high Sharpe with a non-significant p-value means the result could still be luck — read them together.

Hypothesis

On QQQ hourly bars, the sign of the first regular-session hour's return predicts the sign of the return over the remainder of the session, giving a positive after-cost intraday continuation edge.

Method

Instrument: QQQ

Results

Out-of-sample Sharpe was -2.38, versus 0.22 in-sample. A bootstrap test returned p = 0.996 (not significant). Walk-forward Sharpe stayed positive in 2 of 5 folds. Worst out-of-sample drawdown was -27.69%.

Analysis

In-sample the rule looks like nothing: over 508 trading days the after-cost IS Sharpe is only 0.218 (total return +6.3%, win rate 51.2%, drawdown -13.6%). That is a coin-flip-plus-a-whisker, already below the 0.5 promotion threshold before any out-of-sample test — a weak prior that opening-hour direction carries through the session.

Out of sample the weak prior inverts hard: across 219 independent daily trades the after-cost OOS Sharpe is -2.38 with a -26.5% total return, a -27.7% drawdown and a 42.9% win rate. First-hour direction did not continue — the remainder of the session moved against it, so a continuation bet was consistently wrong over the most recent ~30% of the sample.

Walk-forward exposes extreme instability rather than a decayed-but-real edge: fold Sharpes are -0.84, +2.26, +0.80, -3.76, -0.85, an oos_consistency of 40% (2 of 5 folds positive) and a wildly negative worst fold. The single strong fold (+2.26) is swamped, and the sign of the edge flips fold to fold — the hallmark of noise, not structure.

The block-bootstrap significance test gives p = 0.996 on the OOS per-trade returns: the observed strongly-negative Sharpe sits deep in the left tail of the zero-edge null, i.e. there is no evidence of a positive continuation edge and the negative OOS result is itself within noise given the small (~2-year) hourly sample yfinance allows.

Verdict: REJECTED. Trade count is adequate (219 OOS trades), so this is a real rejection, but the short hourly history and fold-to-fold sign flips mean the honest read is 'no exploitable opening-range continuation on QQQ after costs.' Opening-range momentum, if it ever existed intraday, is not present in this instrument/timeframe once realistic costs are charged. No promotion, no paper trade.

Source

Originated from discussion on r/manual.

Evidence

Walk-forward Sharpe by fold

Each fold retrains on past data then tests on the next unseen window. Staying positive across folds is the real test of an edge.

---

_Generated by labs-algo-trading. Automated research — not financial advice. Backtests overfit; treat verdicts as hypotheses._