The rules
The most fully specified published test (MyPivots, S&P 500 E-mini futures, 15 January 2002 to 20 February 2004): on every session whose regular-hours open differs from the prior close, trade against (fade) the gap at the opening price, buying after a gap down and selling short after a gap up. The target is the prior session's close; there is no stop (fixed and gap-percentage stops were tested and generally did not help on its daily bars, though the author warns against trading it without one); an unfilled trade exits at the regular-hours close. Commission is 1/8 point a trade, $6.25 a contract for the round trip. The academic tests (Fung, Mok and Lam 2000; Grant, Wolf and Yu 2005) measure the reversal through the day after opening moves beyond a fixed threshold, which Stubinger and Schneider describe as 0.20%.
- Universe
- SPY
- Bars
- 1-minute
- Position size
- 97% of equity in SPY, long or short. Published: one E-mini contract a trade.
- Rebalance
- Every session whose gap is still open when the first minute closes, from 09:31 until the gap fills or the close. Published: every session with a gap, from the open.
What the research found
Fung, Mok and Lam (2000; S&P 500 futures, 1993 to 1996, and Hang Seng futures) found intraday reversals after large opening price changes, larger after larger gaps; their abstract says the reversals can be traded after costs but the profits may not be very significant, and Liu's 2016 review says the after-cost profitable strategies were in Hang Seng futures, where the reversal was more significant. Grant, Wolf and Yu (2005; S&P 500 futures, 1987 to 2002) found highly significant reversals, stronger after up-gaps and much less significant after charging an estimate of trading costs. MyPivots tested the trade on E-mini futures from 15 January 2002 to 20 February 2004 on daily bars, assuming fills at the open and, when a gap filled, at the target even if only touched, with a 1/8-point commission: 514 trades, 77% winners, 356.5 points gross and 292.25 net, or 0.57 points a trade. 76% of gaps filled. MyPivots' monthly table, whose study months add up to about the gross result, runs on to January 2007; the 35 months after the study add 103 points, about 0.14 points a trade before commission and under 0.02 after, against 0.69 and 0.57 in the study, by Orbital's arithmetic. Later evidence is weak or contrary. Zawadowski, Andor and Kertesz (2006) call Fung, Mok and Lam's conclusions not robust, with too little index-futures data to study large moves. Stubinger and Schneider's S&P 500 event study (1998-2015) found the average move from the open peaking at +0.0463% about 90 minutes after down-gaps and -0.0316% about 105 minutes after up-gaps, significant only at the loose 10% level and only for most of the first 115 minutes, and turning against the fade by the close (+0.0236% after up-gaps, -0.0052% after down-gaps). Plastun, Sibande, Gupta and Wohar (2020; daily US index data, 1928-2018) found prices on gap days tending to keep moving the gap's way. CXO Advisory (April 2025; SPY, 1993 to March 2025) found a correlation of 0.01, close to none, between the gap and the open-to-close return. Gao, Han, Li and Zhou (2018) find SPY's return from the prior close to 10:00, gap included, predicting the last half-hour's return in the same direction. MyPivots' net 0.57 points a trade is about 0.05% to 0.07% of the index level then, by Orbital's arithmetic, against the library's 0.10% round trip (0.05% when the target fills, since a target fill pays no slippage, the assumed cost of filling worse than the quoted price).
Results
| Measure | Orbital test | SPY, same days |
|---|---|---|
| Window | Oct 30, 2023 to Oct 30, 2026 | Oct 30, 2023 to Oct 30, 2026 |
| Total return | −33.77% | +88.60% |
| CAGR | −12.83% | +23.54% |
| Sharpe | −2.18 | 1.22 |
| Discounted Sharpe | −6.22 | — |
| Max drawdown | −34.4% | −18.7% |
| Win rate | 57.3% | — |
| Profit factor | 1.07 | — |
| Trades | 716 | — |
Hypothetical: a backtest with modeled costs, not traded with real money.
Hypothetical growth of $10,000
R15 Opening-Gap Fill · −33.8% vs SPY +88.6%
Rebuild it in Orbital
Paste this into Orbital Chat. The Strategy Developer builds the workflow and asks before it runs any backtest.
Build a program on 1-minute bars for SPY, using the session clock. Keep the prior session's close, taken as the open of its 16:00 closing-print minute, or on early-close days the close of its 13:00 minute, or the close of its last bar if that minute did not print. When the session's first bar, the 09:30 bar, closes: if it opened below the prior close and also closed below it, buy SPY with 97% of equity; if it opened above the prior close and also closed above it, sell SPY short with 97% of equity; otherwise take no trade that session. Set a profit target at the prior close and no stop. If the target is not reached, close the position when the bar before the closing-print minute closes (15:59, or 12:59 on early-close days). Use a margin account so it can sell short. Backtest the last 3 years with $100,000.
Is it real?
- Strategies tested together
- 10
- Beta to SPY
- 0.01
- Alpha vs SPY
- −17.8% a year
- Costs paid
- $40,805, 580% of the gain before costs
- Data
- 1m decisions on 1-minute bars, 754 sessions
- Fills
- Next open at market, sized at the fill
Read this before you trust it
SPY stands in for the S&P 500 futures of the studies. The entry fills at the 09:31 open, one minute after the open. Days whose first minute already closed back at or through the prior close are skipped: the published trade had already reached its target, so the build gives up some of the rule's quickest wins, and Orbital refuses a target on the wrong side of the entry. The prior close is the open of the 16:00 closing-print minute, or after an early-close day the 13:00 minute's close, since that day's closing auction is usually that minute's last trade; a trade whose target is not reached exits at the closing-print minute's open rather than in the closing auction. The target fills at its price or a better open; the entry and the close-out pay 0.05% slippage. Up-gap shorts need a margin account. 97% of equity, leaving room for costs.
Sources