Last half hour’s share of the day: no change detected
SPY and QQQ, 2018 to 2019 against 2023 to 2024: no change detected in the last half hour’s share of the day’s price movement, and a test that could only see a change of about a fifth of that share or more.
G By GEXfreak 12 min readPublished Updated
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 10 sections
The short answer
No, not that we could detect. SPY’s last half hour (15:30 to 15:59 Eastern) carried 10.26% of the day’s price movement in 2018 to 2019 and 9.83% in 2023 to 2024, and QQQ’s carried 7.62% and 7.01% (movement means each minute’s price change squared and added up, so big moves count most).
The test could only have seen a change of about a fifth of the share or more, so a smaller change could be there unseen.
The price source may differ between the two periods (see Limits), so a change between them, had we found one, could not be called market behaviour.
What to do with this
Before you accept a claim that late-day moves are getting bigger, ask for the share by year and the smallest change its test could see. Here the last half hour’s yearly share ran from 8.67% to 13.80% in SPY (QQQ 6.44% to 10.78%); neighbouring years typically differed by 2.20 percentage points in SPY (1.03 in QQQ) and by as much as 3.15 (2019 to 2020) and 3.07 (2020 to 2021), against 0.43 and 0.61 between the two periods.
Judge a move on your chart by the half hour it came in: the same move says less in a half hour where moves are typically bigger. In 2023 to 2024 SPY’s typical move was 1.34 times an average half hour’s in the first half hour, 1.13 in the last and 0.81 at 13:30, its quietest (each is the square root of the half hour’s share over an even 7.69%). QQQ’s last half hour is below an even spread (7.01%, 0.95 times).
Use the spreadsheet below to see where your own stock’s day moves, or to check your typing against the 30-minute figures for SPY and QQQ from this page’s study. It cannot test whether late-day moves are getting bigger: a log of 20 to 100 sessions can only show a gap from the study’s average of 7.0 points or more in SPY (4.6 in QQQ), against the study’s own 2.11 (1.51).
REAL HISTORICAL DATA
The last half hour’s share of the day’s movement
SPY and QQQ · one-minute prices · May 2018 to December 2024
This figure measures recorded prices; no trade is placed or simulated.
1. The share, year by year
Each dot is one year’s average share of the day’s movement in the window you pick; the line is its 95% range. The shaded years are the two periods compared, with each period’s average as a dashed line. A hollow dot marks 2018, which has only May to December. Descriptive: a single year’s range is not a finding.
SPY: last half hour (15:30 to 15:59)
QQQ: last half hour (15:30 to 15:59)
2. The change between the two periods, six tests
Dot: the change. Thick line: its 95% range. Thin line: a wider range that allows for the six tests run together. Dashed band: the smallest change the test could have seen, four times in five, at that bar; a change inside the band could be there and unseen. The window you picked in panel 1 is drawn in full.
Change
Smallest change the test could see
The numbers
The six tests. Shares are the average share of the day’s movement. Change is 2023 to 2024 minus 2018 to 2019, in percentage points. The adjusted range allows for the six tests run together. Smallest change the test could see: what it would have caught four times in five, at the stricter six-test bar and at the ordinary one-test bar. Raw p is how often chance alone gives a change this large; adjusted p allows for the six tests, and under 0.05 would count as detected.
Test
Sessions, 2018–19 / 2023–24
Share 2018–19
Share 2023–24
Change (points)
95% range
Adjusted range
Smallest change the test could see, six-test bar
Smallest change the test could see, one-test bar
Raw p / adjusted p
SPY last half hour
414 / 495
10.26%
9.83%
−0.43
−1.49 to +0.63
−1.87 to +1.00
2.11
1.64
0.43 / 0.51
SPY first half hour
414 / 495
15.58%
13.76%
−1.82
−3.41 to −0.27
−3.99 to +0.27
3.13
2.43
0.02 / 0.12
SPY last ten minutes
414 / 495
4.76%
5.21%
+0.45
−0.33 to +1.21
−0.61 to +1.47
1.54
1.19
0.25 / 0.38
QQQ last half hour
415 / 496
7.62%
7.01%
−0.61
−1.37 to +0.15
−1.63 to +0.41
1.51
1.17
0.12 / 0.23
QQQ first half hour
415 / 496
20.70%
18.80%
−1.90
−3.75 to −0.12
−4.40 to +0.48
3.60
2.80
0.04 / 0.12
QQQ last ten minutes
415 / 496
3.70%
3.58%
−0.12
−0.61 to +0.36
−0.79 to +0.52
0.96
0.75
0.64 / 0.64
3. Where the day’s movement sits
The share of the day’s movement in each of the thirteen half hours. Outline bar and first number: 2018 to 2019. Solid bar and second number: 2023 to 2024. A description of where the movement was, with no claim about why.
2018 to 2019
2023 to 2024
Share of the day’s movement in each half hour, both ETFs, one-minute measure. Each share column adds to 100%, up to rounding. The last two columns give a half hour’s typical move as a multiple of an average half hour’s: the square root of its 2023–24 share over the even share, 7.69%.
Half hour
SPY 2018–19
SPY 2023–24
QQQ 2018–19
QQQ 2023–24
SPY 2023–24 typical move, times average
QQQ 2023–24 typical move, times average
09:30 to 09:59
15.58%
13.76%
20.70%
18.80%
1.34
1.56
10:00 to 10:29
11.46%
12.88%
12.84%
14.29%
1.29
1.36
10:30 to 10:59
9.67%
9.27%
9.93%
10.13%
1.10
1.15
11:00 to 11:29
7.90%
7.40%
7.99%
7.60%
0.98
0.99
11:30 to 11:59
6.96%
6.10%
6.64%
6.09%
0.89
0.89
12:00 to 12:29
5.60%
5.38%
5.37%
5.26%
0.84
0.83
12:30 to 12:59
4.77%
5.10%
4.58%
4.72%
0.81
0.78
13:00 to 13:29
4.70%
5.95%
4.39%
5.32%
0.88
0.83
13:30 to 13:59
4.43%
5.09%
4.11%
4.52%
0.81
0.77
14:00 to 14:29
6.19%
6.63%
5.54%
5.68%
0.93
0.86
14:30 to 14:59
6.06%
6.22%
5.21%
5.26%
0.90
0.83
15:00 to 15:29
6.43%
6.41%
5.09%
5.33%
0.91
0.83
15:30 to 15:59
10.26%
9.83%
7.62%
7.01%
1.13
0.95
Every year, other views, method and data source
Every year’s average share of the day’s movement in each window, with its 95% range from resampling whole months. 2018 covers May to December only. Descriptive: 2020 to 2022 are in no test, and a single year’s range is not a finding.
Market and year
Sessions
Last half hour
First half hour
Last ten minutes
SPY 2018 (thin)
166
9.67% (8.96 to 10.38)
14.03% (12.13 to 15.83)
4.16% (3.87 to 4.49)
SPY 2019
248
10.65% (9.90 to 11.59)
16.62% (15.14 to 18.37)
5.16% (4.52 to 5.92)
SPY 2020
247
13.80% (12.33 to 15.39)
15.46% (14.37 to 16.66)
6.87% (5.73 to 8.21)
SPY 2021
250
11.47% (10.50 to 12.49)
18.12% (16.36 to 19.77)
6.13% (5.38 to 6.92)
SPY 2022
250
9.36% (8.26 to 10.48)
16.09% (15.20 to 17.06)
4.31% (3.73 to 4.90)
SPY 2023
246
8.67% (7.80 to 9.53)
14.08% (12.99 to 15.36)
4.33% (3.71 to 4.98)
SPY 2024
249
10.97% (9.83 to 12.16)
13.44% (12.46 to 14.59)
6.08% (5.38 to 6.80)
QQQ 2018 (thin)
166
7.06% (6.17 to 8.03)
19.92% (17.34 to 22.51)
3.34% (2.87 to 3.80)
QQQ 2019
249
7.99% (7.49 to 8.61)
21.23% (19.46 to 23.36)
3.94% (3.54 to 4.45)
QQQ 2020
247
10.78% (9.41 to 12.34)
19.87% (18.12 to 21.63)
5.28% (4.27 to 6.45)
QQQ 2021
251
7.72% (7.03 to 8.39)
22.86% (21.11 to 24.62)
4.07% (3.54 to 4.61)
QQQ 2022
250
7.37% (6.50 to 8.23)
19.96% (18.87 to 21.19)
3.33% (2.91 to 3.74)
QQQ 2023
247
6.44% (5.78 to 7.08)
19.11% (17.68 to 20.62)
3.18% (2.78 to 3.57)
QQQ 2024
249
7.57% (6.89 to 8.32)
18.50% (17.76 to 19.36)
3.99% (3.62 to 4.42)
The last half hour’s change in points, in the main test and under four other views, with 95% ranges. A range that includes zero did not detect a change.
View
SPY
QQQ
Main test
−0.43 (−1.49 to +0.63)
−0.61 (−1.37 to +0.15)
Five-minute returns instead of one-minute
−0.17 (−1.49 to +1.21)
−0.58 (−1.66 to +0.52)
Absolute moves instead of squared moves
−0.32 (−0.79 to +0.14)
−0.29 (−0.69 to +0.10)
Without third Fridays, Fed days, Russell rebalance days and month-ends
−0.57 (−1.60 to +0.48)
−0.80 (−1.55 to −0.02)
May to December only, both periods
−0.63 (−1.94 to +0.70)
−0.63 (−1.61 to +0.36)
Percent of the session's squared one-minute returns (the share of the day's movement); differences in percentage points.
Ranges resample whole calendar months with replacement (100,000 draws for the six tests, 20,000 for the year-by-year ranges and other views). A second p-value shuffles which months belong to which period, 100,000 times; it agrees with the first.
Data receipt: 15 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 plan, fingerprinted before the results were opened · 557dab68d63c75eb…
Study plan, written form · dc4a1e78c149e14b…
Study session calendar: which sessions are used, their era and their calendar labels · bd46b7c9d33f2992…
Study calendar summary · 45bf4c711b2a9dff…
Study calculation code · 6d83bad07fa7a64b…
Study results, one run · d1b37cad3a82c46e…
Study report · 3fdce682badca7df…
Study statistics code (copied, hash-checked) · 31659b465ad0e8e8…
Study loader code (copied, hash-checked) · 273041836a4c3c1e…
Check that the p-value method has enough random draws (copied, hash-checked) · 9334c9a62268ca18…
Study log rows: plan fixed, run started, run finished · 6e3eda674b6fc405…
Study test count and correction · 47a7ed61841d1a31…
Independent recomputation of the six tests (kept by the study's audit) · 1d906f2c4891cf52…
General information, not individualized advice. GEXfreak setups, alerts and desk notes do not consider your positions, account or objectives, and every trading decision is yours.
How we tested
We used recorded one-minute prices for SPY and QQQ, regular hours only (09:30 to 15:59 Eastern, 390 bars a day), from May 2018 to December 2024. The two periods are the earliest part of that data and its latest two years; 2020 to 2022 are in no test and shown year by year. Early closes, days with missing minutes and 24 January 2023 (dropped by a rule set before any price was opened) were left out, leaving 1,656 SPY and 1,659 QQQ sessions, 414 and 495 of SPY’s in the two periods.
For each session we took each window’s share of the day’s movement and compared its average in the two periods, SPY and QQQ separately. To see how far chance alone could move the gap, we redrew whole calendar months at random 100,000 times, and shuffled which months belong to which period 100,000 times as a second check. “Detected” needs an adjusted p under 0.05 across six tests (SPY and QQQ, each in the first half hour, the last half hour and the last ten minutes). The windows, periods and tests were written down before the results were opened, though the periods were chosen after earlier tests.
Check it yourself
You can measure the 30-minute version in a spreadsheet, from a 30-minute chart with regular hours only. One sheet, row 1 for headings, thirteen data rows for each session:
The log’s columns: what to write and where it comes from
Column
What to write
Where it comes from
A
Date
The session’s date, on all thirteen rows
B
Bar start: 09:30, 10:00 and so on to 15:30
Typed once per bar as text (format the column as Text first, or step 5 finds nothing)
C
Close of that 30-minute bar
Your 30-minute chart. For the 15:30 bar use the 15:59 minute’s close, not the closing-auction price
D
Price before the bar
Typed: the session’s 09:30 open on its first row, then the row above’s C. Each new session starts again from that day’s open, never the close above, or the overnight gap gets in
E
Return, in percent
Formula on C and D
F
Return squared
Formula on E
G
Share of the day’s movement
Formula on F
The steps
Worked lines use SPY on 2 January 2024, a recorded session, with its prices to the cent.
1. Open a 30-minute chart of one symbol, regular hours only, and for each of a session’s 13 bars write the date in A and the bar’s start in B. Worked: 2 January 2024, bars from 09:30 to 15:30.
2. In C write each bar’s close; in D type the session’s 09:30 open on its first row, then =C2, =C3 and so on down. Worked: the first row has D 472.16 and C 472.27; the 15:30 bar has D 470.91 and C 472.60.
3. In E write =LN(C2/D2)*100 and in F write =E2^2, copied down. Worked, 15:30 bar: LN(472.60/470.91)*100 is +0.3582, squared 0.1283.
4. In G write =F2/SUMIFS(F:F,A:A,A2), the bar’s share of that day’s movement. Worked: the day’s F adds up to 0.2551, so the 15:30 bar’s share is 0.1283 ÷ 0.2551, 50.30% from the unrounded values.
5. Log more sessions the same way (SPY or QQQ from 2023 or 2024 if you want to check against the study), then read =AVERAGEIFS(G:G,B:B,"15:30") for the last half hour. Worked: the study’s 30-minute version gives SPY 10.81% in 2018 to 2019 and 10.53% in 2023 to 2024, QQQ 7.94% and 7.59%, which run 0.32 to 0.70 percentage points above the study’s one-minute figures for the same periods.
The worked session
SPY on 2 January 2024, a recorded session, in 30-minute bars. Shown to the decimals given, so a column can miss its total by a hundredth or so. The study’s one-minute measure puts the 15:30 bar at 12.45%, not 50.30%: it squares each minute and adds, where the 30-minute version squares the bar’s net move, so on one session the two can differ a lot.
Bar start
D
C
E
F
G
09:30
472.16
472.27
+0.0233
0.0005
0.21%
10:00
472.27
471.76
−0.1080
0.0117
4.58%
10:30
471.76
471.68
−0.0170
0.0003
0.11%
11:00
471.68
472.33
+0.1388
0.0193
7.55%
11:30
472.33
473.19
+0.1798
0.0323
12.67%
12:00
473.19
472.98
−0.0444
0.0020
0.77%
12:30
472.98
472.65
−0.0687
0.0047
1.85%
13:00
472.65
472.66
+0.0022
0.0000
0.00%
13:30
472.66
472.15
−0.1081
0.0117
4.58%
14:00
472.15
471.88
−0.0572
0.0033
1.28%
14:30
471.88
470.93
−0.2026
0.0411
16.09%
15:00
470.93
470.91
−0.0032
0.0000
0.00%
15:30
470.91
472.60
+0.3582
0.1283
50.30%
Day
0.2551
100%
What a small log can say
A log fills slowly: each session is thirteen prices, and the last half hour’s share swings a lot from session to session (its typical distance from the average across SPY sessions in 2023 to 2024 is about 15 points), so a short log’s average is mostly noise.
Averages of every run of 20, 50 and 100 consecutive 2023 to 2024 sessions wander by about 3.8, 3.0 and 2.5 points in SPY. A gap of 2.8 times that wander is the smallest an ordinary one-test check catches four times in five, and the table gives it. Your gap is your average minus the study’s 30-minute figure; a smaller gap than the table shows is “cannot tell”.
The table is for SPY and QQQ: for another stock, dividing its session spread by the square root of the sessions gives too small a gap (SPY at 100 sessions: 4.3 points against 7.0), because neighbouring sessions resemble each other.
The smallest gap a log could see, four times in five, at 20, 50 and 100 sessions, on the 30-minute version
Sessions logged
About how long
SPY: smallest gap (points)
QQQ: smallest gap (points)
What it lets you say
20
1 month
10.7
7.6
Bigger than SPY’s whole 30-minute share (10.53%), so a drop could never show.
50
2 months
8.5
5.8
A gap of 81% of SPY’s share would show. Too coarse to check the study.
100
5 months
7.0
4.6
A gap of 67% of SPY’s share would show. The study’s two periods differ by 4%, so no log this short can check it.
Limits
No change detected is not “no change”. At the six-test bar the test could only have seen about 2.11 points in SPY’s last half hour and 1.51 in QQQ’s (21% and 20% of the 2018 to 2019 share), and at the ordinary one-test bar 1.64 and 1.17; a smaller change could be there unseen. The last half hour also missed the ordinary bar (raw p 0.43 in SPY, 0.12 in QQQ).
Prices: the files do not say where they come from, so a change of source between the periods cannot be ruled out. It would touch the change we measured, and we cannot say which way it would push the share. Two warning signs: a check of trading volume flagged a jump in early 2020, which a re-check ties to the March 2020 volume surge and reads as probably not a new source, though the flag was not cleared; and the share of minutes in which the price did not change at all fell by more than half between the periods (SPY’s last half hour 3.50% to 1.65%, QQQ’s 4.44% to 1.61%), which is unexplained. Until it is explained, an era difference cannot be called market behaviour.
Earlier tests: this is one of at least 40 tests run on these SPY and QQQ prices, this study’s six included, with no allowance across them, and the periods were chosen after the earlier ones, so an occasional lucky detection is expected. The first half hour’s raw p-values (0.02 for SPY and 0.04 for QQQ) become 0.12 once the six tests are allowed for, so that change is not confirmed.
Coverage: two large ETFs that move closely together, so their agreement is not two independent confirmations, and two periods: 2023 (8.67%) and 2024 (10.97%) straddle the 2018 to 2019 average, so pooling hides a jump. The last half hour ends at 15:59, so the closing auction is not measured. Nothing after 2024 was read, and no cause, direction or level was studied.
Share, not size: a share that holds could sit on a bigger or smaller day, and because the parts add to 100%, a fall in the first half hour’s share goes with a rise elsewhere.
Noise: one-minute moves include the bid-ask bounce (prices hopping between the buying and selling quote) and price rounding. SPY’s price rose, so one cent fell from 0.0035% to 0.0021% of its price and rounding weighs less. Five-minute returns mute both and give −0.17 for SPY and −0.58 for QQQ.
Other views (five-minute returns, absolute moves, no event days such as third Fridays, Fed days, Russell index rebalance days and month-ends, and May to December alone) each give a slightly smaller share later, by under a point. Comparing 2023 to 2024 with 2018 to 2019, every estimate of the change leans slightly down, never up (−0.17 to −0.80 percentage points), but a fall that small is within what luck can produce. Seven of those eight ranges include zero; the exception is QQQ without event days (−0.80, range −1.55 to −0.02), which carries no allowance for the tests run together.
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.