Month-end’s last 15 minutes: bigger, direction unclear
SPY and QQQ, 78 month-ends, May 2018 to December 2024: the last 15 minutes before the closing cross moved farther than on ordinary days, and the test could not tell which way.
In plain words: nobody placed a trade and no trade is simulated on this page. It measures recorded prices, so a result here is not a trading result and no profit is implied.
In this article 8 sections
The short answer
The last quarter hour of a month-end session moved farther than usual, and this study could not tell which way. Before the closing cross (the auction that sets the official close), SPY’s middle month-end window moved 0.18% of its price against 0.12% on ordinary days of the same month, about 1.5 times as far. QQQ agrees.
Up and down came out even, 39 months each. The test could only have seen a lean about as large as the average window move, so “not detected” does not mean “no lean”.
Part of the size gap comes from Fridays and a few other special days. With those set aside the gap is about half, and too few months remain to tell it from zero.
What to do with this:
- The typical month-end window travels farther, but the gap is small in dollars. SPY’s middle (median) window was 18 basis points (bp, hundredths of a percent) against 12 bp on ordinary days, a gap of about 6.5 bp, or $0.38 at the recorded 15:45 price on 31 December 2024 ($586.27). The plain average is 27 bp against 15, pulled up by one day, 28 February 2020 (280 bp).
- These are net changes from 15:45 to 16:00. The swing inside the window was larger, and this page gives no number for it. The study also did not look at whether a level holds, so it says nothing about what price did at a Prism wall, flip or expected-move edge.
- Treat direction as unknown: the study could not have seen a lean below 24 to 27 bp (allowing for its 8 tests), so “not detected” is not “no lean”.
- In a back-test, report month-end sessions apart from ordinary days: Fridays and a few special days (listed under Limits) carry part of the gap.
The last 15 minutes of month-end against ordinary days
SPY and QQQ · 78 month-ends · May 2018 to December 2024
Nothing on this figure is a trade: it measures recorded prices.
1. The eight gaps, month-end minus ordinary days
Each dot is the average gap over 78 months; the line is its 95% range. The shaded band on the direction rows is the smallest lean the test would have caught four times in five, at the bar set by the 8 tests run together.
- Detected after correction
- No difference detected
- Smallest lean caught 4 times in 5
2. The same gap year by year, against ordinary days
Months in each year are printed under the year. Whiskers are 95% ranges. Descriptive only: no test was run on a single year, and each has 8 to 12 months.
Size gap (ATR)
Direction gap (ATR)
- SPY
- QQQ
3. One month, day by day
The same 15 minutes on the month-end day and on its ordinary days. Open any of the 78 months; it opens on the latest.
The numbers
| Test | Months above / below | Chance level | Average gap (ATR) | 95% range (ATR) | Average gap (bp) | p | Adjusted p | Result |
|---|---|---|---|---|---|---|---|---|
| SPY size vs ordinary days | 51 / 27 | 41% | +0.097 | +0.052 to +0.145 | +11.8 | under 0.0002 | under 0.0002 | detected |
| SPY size vs neighbour days | 52 / 26 | 43% | +0.087 | +0.050 to +0.124 | +10.4 | under 0.0002 | under 0.0002 | detected |
| SPY direction vs ordinary days | 41 / 37 | 51% | −0.004 | −0.061 to +0.056 | +0.4 | 0.72 | 0.83 | no difference detected |
| SPY direction vs neighbour days | 32 / 46 | 48% | −0.018 | −0.081 to +0.050 | −1.8 | 0.23 | 0.37 | no difference detected |
| QQQ size vs ordinary days | 50 / 28 | 43% | +0.078 | +0.041 to +0.118 | +13.6 | under 0.0002 | under 0.0002 | detected |
| QQQ size vs neighbour days | 52 / 26 | 45% | +0.065 | +0.035 to +0.096 | +11.5 | under 0.0002 | under 0.0002 | detected |
| QQQ direction vs ordinary days | 40 / 38 | 51% | +0.006 | −0.039 to +0.053 | +1.6 | 0.90 | 0.90 | no difference detected |
| QQQ direction vs neighbour days | 36 / 42 | 49% | −0.002 | −0.055 to +0.053 | −0.8 | 0.64 | 0.83 | no difference detected |
Every month-end, by year, method and data source
| Month-end | Tags | Ordinary days used | SPY size | SPY direction | SPY ordinary-day size | QQQ size | QQQ direction | QQQ ordinary-day size |
|---|---|---|---|---|---|---|---|---|
| Thu, May 31, 2018 | May or November | May 10, May 17, May 24 | 8.3 | −8.3 | 5.9 | 5.3 | −5.3 | 6.3 |
| Fri, Jun 29, 2018 | Friday | Jun 8, Jun 22 | 36.4 | −36.4 | 11.2 | 37.8 | −37.8 | 14.3 |
| Tue, Jul 31, 2018 | none | Jul 10, Jul 17, Jul 24 | 2.8 | −2.8 | 9.8 | 5.7 | −5.7 | 12.1 |
| Fri, Aug 31, 2018 | Friday | Aug 10, Aug 24 | 4.1 | +4.1 | 2.3 | 4.8 | +4.8 | 3.0 |
| Fri, Sep 28, 2018 | Friday | Sep 7, Sep 14 | 6.5 | +6.5 | 3.1 | 8.2 | +8.2 | 4.0 |
| Wed, Oct 31, 2018 | none | Oct 10, Oct 17, Oct 24 | 26.5 | −26.5 | 49.2 | 30.0 | −30.0 | 65.8 |
| Fri, Nov 30, 2018 | Friday, May or November | Nov 9 | 5.2 | −5.2 | 30.1 | 13.0 | +13.0 | 26.2 |
| Mon, Dec 31, 2018 | none | Dec 10, Dec 17 | 27.3 | +27.3 | 34.3 | 30.6 | +30.6 | 42.0 |
| Thu, Jan 31, 2019 | none | Jan 10, Jan 17, Jan 24 | 18.2 | +18.2 | 8.9 | 23.2 | +23.2 | 9.1 |
| Thu, Feb 28, 2019 | none | Feb 7, Feb 14, Feb 21 | 8.1 | −8.1 | 21.1 | 5.8 | −5.8 | 19.5 |
| Fri, Mar 29, 2019 | Friday | Mar 8, Mar 22 | 7.8 | +7.8 | 16.6 | 8.3 | +8.3 | 15.0 |
| Tue, Apr 30, 2019 | none | Apr 9, Apr 16, Apr 23 | 10.2 | +10.2 | 7.7 | 11.8 | +11.8 | 9.9 |
| Fri, May 31, 2019 | Friday, May or November | May 10, May 24 | 2.5 | −2.5 | 12.0 | 5.7 | −5.7 | 10.1 |
| Fri, Jun 28, 2019 | Friday, Russell day | Jun 7, Jun 14 | 20.3 | +20.3 | 11.9 | 22.3 | +22.3 | 11.9 |
| Wed, Jul 31, 2019 | Fed day | Jul 10, Jul 17, Jul 24 | 48.2 | −48.2 | 6.8 | 45.3 | −45.3 | 10.0 |
| Fri, Aug 30, 2019 | Friday | Aug 9, Aug 23 | 5.8 | +5.8 | 20.3 | 17.0 | +17.0 | 24.5 |
| Mon, Sep 30, 2019 | none | Sep 9, Sep 16, Sep 23 | 8.4 | −8.4 | 6.1 | 3.7 | +3.7 | 9.0 |
| Thu, Oct 31, 2019 | none | Oct 10, Oct 17, Oct 24 | 19.2 | +19.2 | 5.6 | 18.6 | +18.6 | 7.0 |
| Tue, Dec 31, 2019 | none | Dec 10, Dec 17 | 7.5 | +7.5 | 4.5 | 6.1 | +6.1 | 3.7 |
| Fri, Jan 31, 2020 | Friday | Jan 10, Jan 24 | 1.9 | +1.9 | 14.5 | 0.7 | −0.7 | 14.5 |
| Fri, Feb 28, 2020 | Friday | Feb 7, Feb 14 | 279.8 | +279.8 | 11.8 | 282.6 | +282.6 | 9.9 |
| Tue, Mar 31, 2020 | none | Mar 10, Mar 17, Mar 24 | 21.7 | −21.7 | 73.5 | 15.2 | −15.2 | 59.9 |
| Thu, Apr 30, 2020 | none | Apr 9, Apr 16, Apr 23 | 12.1 | +12.1 | 15.6 | 30.7 | +30.7 | 18.8 |
| Fri, May 29, 2020 | Friday, May or November | May 8, May 22 | 7.9 | +7.9 | 7.9 | 7.3 | +7.3 | 7.0 |
| Tue, Jun 30, 2020 | none | Jun 9, Jun 16, Jun 23 | 8.9 | +8.9 | 32.4 | 20.7 | +20.7 | 30.5 |
| Fri, Jul 31, 2020 | Friday | Jul 10, Jul 24 | 54.8 | +54.8 | 13.7 | 51.0 | +51.0 | 14.4 |
| Mon, Aug 31, 2020 | none | Aug 10, Aug 17, Aug 24 | 37.9 | −37.9 | 11.1 | 39.8 | −39.8 | 16.6 |
| Wed, Sep 30, 2020 | none | Sep 9, Sep 16, Sep 23 | 9.3 | +9.3 | 32.9 | 6.4 | +6.4 | 32.2 |
| Fri, Oct 30, 2020 | Friday | Oct 9, Oct 23 | 56.1 | +56.1 | 11.7 | 51.8 | +51.8 | 16.2 |
| Mon, Nov 30, 2020 | May or November | Nov 9, Nov 16, Nov 23 | 14.4 | +14.4 | 45.4 | 13.0 | +13.0 | 49.3 |
| Thu, Dec 31, 2020 | none | Dec 10, Dec 17 | 15.3 | +15.3 | 7.0 | 18.5 | +18.5 | 16.5 |
| Fri, Jan 29, 2021 | Friday | Jan 8, Jan 22 | 27.5 | −27.5 | 19.4 | 37.0 | −37.0 | 21.5 |
| Fri, Feb 26, 2021 | Friday | Feb 5, Feb 12 | 76.5 | −76.5 | 14.5 | 86.4 | −86.4 | 17.6 |
| Wed, Mar 31, 2021 | none | Mar 10, Mar 17, Mar 24 | 11.8 | −11.8 | 18.4 | 20.3 | −20.3 | 21.0 |
| Fri, Apr 30, 2021 | Friday | Apr 9, Apr 23 | 14.3 | +14.3 | 19.4 | 12.7 | +12.7 | 21.5 |
| Fri, May 28, 2021 | Friday, May or November | May 7, May 14 | 12.6 | −12.6 | 4.1 | 17.9 | −17.9 | 6.0 |
| Wed, Jun 30, 2021 | none | Jun 9, Jun 16, Jun 23 | 6.3 | −6.3 | 10.8 | 9.3 | −9.3 | 9.4 |
| Fri, Jul 30, 2021 | Friday | Jul 9, Jul 23 | 9.1 | +9.1 | 3.1 | 5.8 | +5.8 | 4.9 |
| Tue, Aug 31, 2021 | none | Aug 10, Aug 17, Aug 24 | 2.4 | −2.4 | 10.5 | 0.5 | −0.5 | 9.8 |
| Thu, Sep 30, 2021 | none | Sep 9, Sep 16, Sep 23 | 50.3 | −50.3 | 15.8 | 45.8 | −45.8 | 13.0 |
| Fri, Oct 29, 2021 | Friday | Oct 8, Oct 22 | 14.2 | +14.2 | 2.3 | 26.2 | +26.2 | 2.9 |
| Tue, Nov 30, 2021 | May or November | Nov 9, Nov 16, Nov 23 | 28.2 | −28.2 | 6.2 | 3.8 | −3.8 | 6.1 |
| Fri, Dec 31, 2021 | Friday | Dec 10 | 31.6 | −31.6 | 15.1 | 30.6 | −30.6 | 20.6 |
| Mon, Jan 31, 2022 | none | Jan 10, Jan 24 | 37.3 | +37.3 | 77.3 | 51.5 | +51.5 | 88.3 |
| Mon, Feb 28, 2022 | none | Feb 7, Feb 14 | 69.3 | +69.3 | 10.7 | 92.2 | +92.2 | 11.2 |
| Thu, Mar 31, 2022 | none | Mar 10, Mar 17, Mar 24 | 57.7 | −57.7 | 18.3 | 56.0 | −56.0 | 17.3 |
| Fri, Apr 29, 2022 | Friday | Apr 8, Apr 22 | 49.0 | −49.0 | 44.8 | 58.1 | −58.1 | 47.3 |
| Tue, May 31, 2022 | May or November | May 10, May 17, May 24 | 23.9 | −23.9 | 10.2 | 38.1 | −38.1 | 8.5 |
| Thu, Jun 30, 2022 | none | Jun 9, Jun 16, Jun 23 | 11.9 | +11.9 | 30.2 | 4.3 | −4.3 | 33.8 |
| Fri, Jul 29, 2022 | Friday | Jul 8, Jul 22 | 15.6 | −15.6 | 23.2 | 18.8 | −18.8 | 15.5 |
| Wed, Aug 31, 2022 | none | Aug 10, Aug 17, Aug 24 | 59.2 | −59.2 | 11.0 | 73.3 | −73.3 | 13.4 |
| Fri, Sep 30, 2022 | Friday | Sep 9, Sep 23 | 67.3 | −67.3 | 12.1 | 75.4 | −75.4 | 9.5 |
| Mon, Oct 31, 2022 | none | Oct 10, Oct 17, Oct 24 | 27.4 | −27.4 | 15.8 | 23.2 | −23.2 | 16.8 |
| Wed, Nov 30, 2022 | May or November | Nov 9, Nov 16, Nov 23 | 41.8 | +41.8 | 5.0 | 61.4 | +61.4 | 8.7 |
| Fri, Dec 30, 2022 | Friday | Dec 9, Dec 23 | 34.6 | +34.6 | 20.3 | 57.2 | +57.2 | 23.2 |
| Tue, Jan 31, 2023 | none | Jan 10, Jan 17, Jan 24 | 41.0 | +41.0 | 14.3 | 45.3 | +45.3 | 22.6 |
| Tue, Feb 28, 2023 | none | Feb 7, Feb 14, Feb 21 | 18.6 | −18.6 | 13.5 | 20.9 | −20.9 | 15.5 |
| Fri, Mar 31, 2023 | Friday | Mar 10, Mar 24 | 30.1 | +30.1 | 18.4 | 27.2 | +27.2 | 19.7 |
| Fri, Apr 28, 2023 | Friday | Apr 14 | 16.6 | +16.6 | 2.9 | 19.8 | +19.8 | 2.8 |
| Wed, May 31, 2023 | May or November | May 10, May 17, May 24 | 26.6 | −26.6 | 10.2 | 29.8 | −29.8 | 7.0 |
| Fri, Jun 30, 2023 | Friday | Jun 9, Jun 23 | 14.4 | −14.4 | 6.8 | 15.9 | −15.9 | 8.4 |
| Mon, Jul 31, 2023 | none | Jul 10, Jul 17, Jul 24 | 29.0 | +29.0 | 11.0 | 28.2 | +28.2 | 13.1 |
| Thu, Aug 31, 2023 | none | Aug 10, Aug 17, Aug 24 | 27.5 | −27.5 | 13.8 | 34.8 | −34.8 | 12.4 |
| Fri, Sep 29, 2023 | Friday | Sep 8, Sep 22 | 8.0 | +8.0 | 12.2 | 6.0 | +6.0 | 18.2 |
| Tue, Oct 31, 2023 | none | Oct 10, Oct 17, Oct 24 | 5.0 | +5.0 | 14.9 | 4.0 | +4.0 | 14.6 |
| Thu, Nov 30, 2023 | May or November | Nov 9, Nov 16 | 20.6 | +20.6 | 6.6 | 32.9 | +32.9 | 5.6 |
| Fri, Dec 29, 2023 | Friday | Dec 8, Dec 22 | 0.8 | +0.8 | 7.1 | 1.7 | −1.7 | 4.8 |
| Wed, Jan 31, 2024 | Fed day | Jan 10, Jan 17, Jan 24 | 12.4 | −12.4 | 15.4 | 8.6 | −8.6 | 17.6 |
| Thu, Feb 29, 2024 | none | Feb 8, Feb 15, Feb 22 | 8.7 | −8.7 | 5.8 | 6.6 | +6.6 | 7.6 |
| Thu, Mar 28, 2024 | none | Mar 7, Mar 14, Mar 21 | 18.3 | −18.3 | 19.4 | 16.3 | −16.3 | 21.1 |
| Tue, Apr 30, 2024 | none | Apr 9, Apr 16, Apr 23 | 49.7 | −49.7 | 14.4 | 68.6 | −68.6 | 17.9 |
| Fri, May 31, 2024 | Friday, May or November | May 10, May 24 | 67.6 | +67.6 | 5.4 | 64.6 | +64.6 | 4.5 |
| Fri, Jun 28, 2024 | Friday, Russell day | Jun 7, Jun 14 | 14.9 | −14.9 | 12.0 | 33.5 | −33.5 | 12.7 |
| Wed, Jul 31, 2024 | Fed day | Jul 10, Jul 17, Jul 24 | 27.9 | −27.9 | 13.6 | 22.2 | −22.2 | 20.5 |
| Fri, Aug 30, 2024 | Friday | Aug 9, Aug 23 | 34.5 | +34.5 | 9.5 | 43.9 | +43.9 | 11.2 |
| Mon, Sep 30, 2024 | none | Sep 9, Sep 16, Sep 23 | 36.2 | +36.2 | 5.9 | 44.7 | +44.7 | 9.6 |
| Thu, Oct 31, 2024 | none | Oct 10, Oct 17, Oct 24 | 40.5 | −40.5 | 5.6 | 35.8 | −35.8 | 7.0 |
| Tue, Dec 31, 2024 | none | Dec 10, Dec 17 | 4.4 | −4.4 | 3.1 | 21.5 | −21.5 | 5.9 |
| Year | Months | SPY size | QQQ size | SPY direction | QQQ direction |
|---|---|---|---|---|---|
| 2018 | 8 | −0.023 (−0.120 to +0.075) | −0.025 (−0.099 to +0.042) | −0.012 (−0.116 to +0.077) | +0.022 (−0.047 to +0.089) |
| 2019 | 11 | +0.076 (−0.032 to +0.216) | +0.047 (−0.020 to +0.130) | +0.004 (−0.172 to +0.146) | +0.024 (−0.093 to +0.121) |
| 2020 | 12 | +0.138 (−0.050 to +0.404) | +0.101 (−0.042 to +0.317) | +0.161 (−0.062 to +0.445) | +0.134 (−0.031 to +0.355) |
| 2021 | 12 | +0.096 (+0.009 to +0.200) | +0.067 (+0.003 to +0.142) | −0.120 (−0.272 to +0.012) | −0.089 (−0.204 to +0.013) |
| 2022 | 12 | +0.079 (−0.033 to +0.182) | +0.096 (+0.007 to +0.181) | −0.054 (−0.192 to +0.085) | −0.036 (−0.154 to +0.092) |
| 2023 | 12 | +0.085 (+0.025 to +0.142) | +0.071 (+0.016 to +0.125) | +0.044 (−0.050 to +0.135) | +0.022 (−0.053 to +0.095) |
| 2024 | 11 | +0.194 (+0.066 to +0.354) | +0.155 (+0.051 to +0.274) | −0.058 (−0.251 to +0.182) | −0.033 (−0.196 to +0.152) |
- Ranges in the eight-test table resample runs of 3 months in a row, 50,000 times; the by-year and by-group ranges resample single months, 20,000 times. The size tests also clear a stricter bar, 0.05 ÷ 34 = 0.0015, which counts all 34 tests from the 4 calendar studies of this kind that we ran, of which this study is 8 (the largest size p was 0.00009).
- Basis points are descriptive and unadjusted. For SPY direction against ordinary days the basis-point gap has the opposite sign from the ATR gap: ATR scales each month's move by that month's ATR and basis points by price, so an average near zero can differ in sign.
Data receipt: 16 sources, built 2026-09-28
Each source is fingerprinted with SHA-256, so a changed file changes the fingerprint. A single file shows its own hash; a source of several files shows one hash of their names and hashes.
- Study event and control calendar (160 rows) ·
e6b7302ba144f7d9… - Study plan, fingerprinted in the study run record ·
27e8c8ab6a6bdb05… - Study results, one run ·
5c6ce2c645a07339… - Study report ·
6b0552ed3ed3cad5… - Study plan, written form ·
5e4a8eb74bf17222… - Study runner ·
e2311288dc9c86e5… - Study statistics code (copied, hash-checked) ·
0248db292e36b303… - Shared resampling code (copied, hash-checked) ·
8d04765f345d535d… - Shared p-value capacity check (copied, hash-checked) ·
9334c9a62268ca18… - Study test count and record of looks ·
7cad25d4eba64134… - Study log of looks (one run on the outcomes) ·
6603011473dccf1a… - Research program log rows read (test counts when the plans were fixed) ·
bb97c484fc8072fb… - SPY daily prices, regular hours ·
b07df140c15ec92f… - SPY one-minute prices, regular hours (80 files) ·
f96f748da6205975… - QQQ daily prices, regular hours ·
98b03f4add721f50… - QQQ one-minute prices, regular hours (80 files) ·
6970e6880835fdf7…
How we tested
The events are the last regular session of each month, May 2018 to December 2024: 80 months, less 29 November 2019 and 29 November 2024, which closed at 13:00 and have no full last 15 minutes, leaves 78 for each of SPY and QQQ. Prices are recorded one-minute bars.
Each month-end is compared with the average of its ordinary days, one to three a month, and separately with the session before and after it. Within each month we shuffled which day counts as the month-end 100,000 times to see how often chance alone matches the real gap, and allowed for the 8 tests run together (two ETFs, size and direction, two comparisons).
Check it yourself
A log of your own cannot confirm this study for years (see the table under What a small log can say), so treat the study as your reference. Steps 1 to 4 give one month-end’s window size in bp, to set beside the 18 and 12 above; do them that evening, while the month’s earlier weeks are still on your chart. Steps 5 and 6 keep a log.
One sheet, one row per session, a month-end row first and then its ordinary days:
| Column | What to write | Where it comes from |
|---|---|---|
| A | Date | The session’s date |
| B | Role: ME or ORD | ME for the month-end, ORD for one of its ordinary days (steps 1 and 2) |
| C | Month, such as 2024-12 | Formula on the date, the same on every row of one month-end |
| D | Price at 15:45 | Your one-minute chart: close of the bar ending 15:45 ET |
| E | Price at 16:00 | Same chart: close of the last regular bar, not the official closing price |
| F | Size, bp | Formula on D and E |
| G | Direction, bp | Formula on D and E |
| H | Size gap, bp | Formula, month-end rows only |
| I | Direction gap, bp | Formula, month-end rows only |
The steps
Worked lines use SPY in 2024-12, a recorded month-end, with its recorded bar closes to the cent.
- 1. Pick the last regular session of a month, not a 13:00 half day. Type its date in A, ME in B and, in C, =TEXT(A2,"yyyy-mm"). Worked: 31 December 2024, a Tuesday, so C is 2024-12.
- 2. Add its ordinary days below it, ORD in B: the same weekday in the other weeks of that month, skipping the first three sessions, the third Friday (monthly options expiry) and any 13:00 half day. Use the ones still on your chart, at least one. Worked: that month’s Tuesdays were the 3rd (in the first three sessions, skipped), the 10th (used), the 17th (used), the 24th (a 13:00 half day, skipped) and the 31st (the month-end itself).
- 3. Read D and E in Eastern time. D is the close of the bar ending 15:45 (some platforms stamp it 15:44) and E the close of the last regular bar (stamped 15:59). Worked: row 2 is 31 December 2024 (ME): D 586.27, E 586.01; row 3 is 10 December 2024 (ORD): D 602.70, E 602.87; row 4 is 17 December 2024 (ORD): D 604.03, E 604.24.
- 4. Fill F with =ABS(E2-D2)/D2*10000 and G with =(E2-D2)/D2*10000, copied down. Worked: row 2 F 4.43, G −4.43; row 3 F 2.82, G +2.82; row 4 F 3.48, G +3.48.
- 5. On the month-end row only, H is =F2-AVERAGEIFS(F:F,C:C,C2,B:B,"ORD") and I is =G2-AVERAGEIFS(G:G,C:C,C2,B:B,"ORD"). Worked: H is 4.43 minus the average of 2.82 and 3.48, +1.28 bp; I is −4.43 minus the average of +2.82 and +3.48, −7.58 bp. The figure’s month view uses ATR, where this month-end was not the bigger one (recorded ATR $7.59 against $4.12 and $3.46), so bp and ATR can disagree on one month.
- 6. After each month-end read =AVERAGE(H:H), your size gap, and =3.8*STDEV(H:H)/SQRT(COUNT(H:H)), the smallest size gap your log could see four times in five (STDEV is the spread of the gaps; 3.8 is the study’s multiple for one test, 4.8 for its 8 tests). The same two formulas on I do it for direction. Worked with the study’s 78 SPY month-ends: STDEV of H was 37.0 bp, so 3.8 × 37.0 ÷ √78 = 15.9 bp; for I, 45.0 bp gives 19.4 bp.
What a small log can say
A log fills slowly: one month-end is one event, and SPY, QQQ and every stock on the same day are one event, not many. The table gives the smallest gap a log of each length could see four times in five, scaled from the spread of the study’s SPY gaps (yours will differ; step 6 recomputes it). One very large day, 28 February 2020, widens that spread (22.7 bp without it against 37.0), so the size bars are cautious. The lean column allows for one test only; the study’s bar, with 8, was 24 to 27 bp.
| Months logged | About how long | Smallest size gap seen (bp) | Smallest lean seen (bp) | What it lets you say |
|---|---|---|---|---|
| 20 | 1.7 years | 31.5 | 38.2 | Nothing about this ticker yet. It can only see a size gap bigger than the whole average window move, so read every result as “cannot tell” and keep the study as your reference. |
| 50 | 4.2 years | 19.9 | 24.2 | A size gap larger than this would show. The study’s is smaller, so a log this long cannot check it. Direction is still unknown. |
| 100 | 8.3 years | 14.1 | 17.1 | Close to the study’s size gap: a log this long can start to check it for this ticker, not settle it. A lean below this could still hide, so keep direction as unknown. |
Limits
No difference detected in the 15 minutes before the closing cross is not “no difference”. The direction tests could only have seen a lean of about 24 to 27 bp, larger than the whole size gap, so a smaller lean could be there unseen. The counterweight: all four direction 95% ranges sit between −0.081 and +0.056 ATR, so a lean as large as SPY’s size gap (+0.097 ATR) is outside every one. The 95% ranges describe these months, not later ones.
- Coverage: the window stops before the closing cross, so the study cannot say what the auction itself did. It covers two large ETFs and 78 month-ends; no trade, cost, wall or flip is involved. The four size tests are one finding measured four ways. On the two left-out 13:00 month-ends SPY’s last 15 minutes moved +0.011 ATR on 29 November 2019 and −0.138 ATR on 29 November 2024. In 3 of the 78 months only one ordinary day was available to compare with.
- Calendar: the size gap is not shown to come from the date. A Friday month-end can carry extras the match does not remove, such as option expiries and index reviews, and this study did not measure which. 32 of the 78 month-ends are Fridays, 12 fall in May or November (the MSCI index review months: the month, not the day of the change), 3 were Fed decision days (31 July 2019, 31 January 2024 and 31 July 2024) and 2 were Russell reconstitution days, the yearly rebalance of the Russell indexes (28 June 2019 and 28 June 2024). Fridays are not the whole story: other weekdays still show a positive gap. With all of those set aside 36 month-ends remain and the gap is about half, with a range that reaches zero: on that few months the study cannot tell the calendar from luck. Quarter-end months carry the smaller gap, but the ranges overlap, so the data neither supports nor rules out quarter-end rebalancing.
- Method: the bars for a smaller log assume monthly gaps roughly bell-shaped, and one very large day widens their spread. The “smallest lean caught 4 times in 5” bars come from a simulation read from the study, not re-run here. Reading your own log after every month-end and stopping when a gap looks large finds luck; read it at the sizes in the table.
- Timing: the study’s plan was set before its results were opened, but the only record of that order is the study’s own log, not the shared record of all our studies.
| Group | Months | SPY size gap | QQQ size gap |
|---|---|---|---|
| All month-ends | 78 | +0.097 (+0.052 to +0.145) | +0.078 (+0.041 to +0.118) |
| Fridays | 32 | +0.135 (+0.043 to +0.249) | +0.115 (+0.044 to +0.206) |
| Other weekdays | 46 | +0.071 (+0.018 to +0.125) | +0.052 (+0.012 to +0.092) |
| None of Friday, May or November, Fed day, Russell day | 36 | +0.050 (−0.006 to +0.107) | +0.041 (−0.001 to +0.085) |
| Quarter-end months | 27 | +0.042 (−0.004 to +0.091) | +0.042 (+0.003 to +0.082) |
| Other months | 51 | +0.126 (+0.055 to +0.208) | +0.097 (+0.042 to +0.160) |
Sources and editorial notes
Read the primary references and editorial policy
Published by GEXfreak. Prism by GEXfreak is the chart product these guides describe. Every figure comes from recorded market history: prices, option open interest and recorded sessions. Where a figure shows trade results, the trades are back-tested, not placed. This is product education, not independent investment research.
Each figure lists its data sources and their SHA-256 fingerprints under “Table, method and data source”. The references below explain the statistics and the disclosure wording used on this page. They do not endorse GEXfreak or these studies.
- Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing — Y. Benjamini and Y. Hochberg, Journal of the Royal Statistical Society: Series B 57(1): 289–300 (Oxford Academic). Published 1995. Checked .
- Confidence Limits for the Mean — NIST/SEMATECH e-Handbook of Statistical Methods. Publication date not stated. Checked .
For the product’s calculation and data boundaries, read Prism’s methodology.
See the last 15 minutes on your own chart.
Membership is required for live SPY, QQQ and IWM books. The figures on this page are recorded history, not a live book.
Create an account to save your layout; review current access conditions on the pricing page.