How often price reaches a wall
Are walls reached more often than other prices the same distance away? On SPY and QQQ, 2018–2024, at four times of day, slightly less often: a wall added no boost.
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 boost from walls showed up. At four times of day, SPY and QQQ walls, as rebuilt at that time, were reached slightly less often than a plain line the same distance from the price, wall or no wall. The gap was −1.08 percentage points at 09:36 (95% band −1.87 to −0.19), −1.54 at 10:30, −0.91 at 12:00 and −0.60 at 13:30 (band −1.30 to +0.14).
The call side carried it: 1.8 to 2.4 points below the plain rate at every time, every band below zero. The put side ran from −0.95 to +0.54, every band holding zero.
A band is the range the gap moves in when whole calendar months are redrawn. A point or so is small and the bands are not corrected for the many cells shown, so read this as a description of 2018–2024. Distance still decides how often a level is reached.
The gap between walls and a plain line, by time of day
SPY and QQQ · 2018-05 to 2024-12 · the wall in force at each time
The prices are recorded history. The walls are rebuilt after the fact from stored option data as the wall in force at a five-minute mark, so they can differ from the levels a live Prism by GEXfreak chart drew. No trades are involved.
This figure measures recorded prices and walls rebuilt at each five-minute mark from recorded data, not a record of what a live chart drew; no trade is placed and none is tested.
- Wall in force in the rebuild: white dot is the gap, bar is its 95% band
| Time | Walls counted | Reached | Plain rate | Gap, points | 95% band |
|---|---|---|---|---|---|
| 09:36 | 5,254 | 34.1% | 35.2% | −1.08 | −1.87 to −0.19 |
| 10:30 | 5,221 | 28.9% | 30.4% | −1.54 | −2.29 to −0.71 |
| 12:00 | 5,205 | 24.4% | 25.3% | −0.91 | −1.63 to −0.20 |
| 13:30 | 5,149 | 20.1% | 20.7% | −0.60 | −1.30 to +0.14 |
Table, method and data source
- Distance from the entry price, in ATRs: the average true range of the last 14 daily bars (each day's range from high to low, widened to include any gap from the previous close), as known at the open, prior sessions only.
- The entry price is the open of the first one-minute regular-hours bar at or after the decision clock. The wall is read at the decision clock, then held at that strike for the rest of the session.
- Reached = the regular-hours high (call side) or low (put side) from the entry bar to the close touched the wall at some moment. A side whose wall is at or through the entry price is counted as already crossed and left out of that side's rates.
- Plain rate = for the same sessions, the share whose high (low) after the entry reached a line the same distance from the entry, whether or not a wall was there. It is the exact expectation of the random-line comparison below.
- Random lines: for every session, 200 lines drawn at distances taken from the walls' own distances in the same distance band, scored the same way on that session's own high or low. The gap is the wall's reach rate minus the plain rate, in percentage points.
- The call and put wall of GEXfreak's research level model, rebuilt at each five-minute mark and read at the latest mark available one minute after it was built: the 09:35 rebuild at 09:36, the 10:25 rebuild at 10:30, the 11:55 rebuild at 12:00, the 13:25 rebuild at 13:30.
- The earlier evidence's wall: the nearest-expiry wall built from the prior session's option prices and open interest, usable from the 09:30 open and held all session. It is measured here from the same entry price at the same clock, so only the wall differs.
- Snapshot arm minus old arm, on the same sessions. Every band is the 2.5th to 97.5th percentile of 2000 resamples of whole calendar months, drawn once and shared by both arms and both symbols.
- The rebuilt walls are computed at each five-minute mark from that morning's open interest and the prior close's option prices, re-evaluated at the spot at the mark. They are a rebuild, not a record of what a live Prism by GEXfreak chart drew. Accuracy was checked on SPY only, from October 2025 to August 2026, against a true intraday map, after this window; QQQ accuracy and every 2018 to 2024 mark are unmeasured.
- The old wall and the rebuilt wall are different constructions: the old one is the nearest expiry only, the rebuilt one comes from the level model across its expiries. A difference between the two arms shows how much the evidence depends on which wall is used, not which wall price respects.
- A wall is read at its clock and held at that strike to the close. The rebuild can move a wall at later marks, and price can already be at or through a wall at the clock; those sides are counted as already crossed and left out. The two arms leave out different sessions this way, so compare each arm's gap with its own plain rate, not one arm's raw reach with the other's.
- The first rebuild is at 09:35 and is in force from 09:36, so there is no 09:30 clock and the open proxy starts at 09:36. Early-close sessions have no 13:30 entry.
- 74% of these sessions fall before 29 March 2023, when an option's price is its last trade of the day, with a modeled value where a contract had none. The store labels those sessions fallback and the rest native; both are shown separately.
- Bands describe how much a figure moves when whole calendar months are resampled. Many cells are shown and no adjustment is made for that.
- Reaching a level says nothing about whether price reacted there.
Data receipt: 12 sources, built 2026-09-29
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.
- SPY rebuilt levels at every five-minute mark (yearly files, 2018 to 2024) (7 files) ·
a8f3316c7a050109… - SPY nearest-expiry levels (one row per session, yearly files) (8 files) ·
79e54806a25c2dd2… - SPY daily prices, regular hours ·
b07df140c15ec92f… - SPY one-minute prices, regular hours (80 files) ·
f96f748da6205975… - QQQ rebuilt levels at every five-minute mark (yearly files, 2018 to 2024) (7 files) ·
e5b3b18463aafb81… - QQQ nearest-expiry levels (one row per session, yearly files) (8 files) ·
61635b7513cc309d… - QQQ daily prices, regular hours ·
98b03f4add721f50… - QQQ one-minute prices, regular hours (80 files) ·
6970e6880835fdf7… - Coverage and book-quality decisions the level reader applies (4 files) ·
86e87735ed7e0b49… - The earlier reach evidence (v1), reproduced exactly before this file was built ·
53ab4cc95012df93… - The rules, frozen before any figure was computed ·
8f687314cc92e30e… - The level reader every rebuilt wall comes through ·
ea82eeb097740870…
The odds by distance
The table starts at the 09:36 ET price, the earliest a rebuilt wall is in force, so it stands in for the open. It shows the share of 1,671 QQQ sessions and 1,670 SPY sessions whose high (or low) later touched a level this far from that price. Above the price on QQQ, a level half an ATR away was touched in 34% of sessions and a full ATR away in 6.3%; below it the far levels were touched more often, one ATR down in 11%. A level at the price is touched 100% of the time.
| ATRs | About this much of QQQ’s price | QQQ, above | SPY, above | QQQ, below | SPY, below |
|---|---|---|---|---|---|
| 0.10 | 0.16% | 84% | 86% | 83% | 84% |
| 0.25 | 0.39% | 63% | 61% | 62% | 62% |
| 0.50 | 0.78% | 34% | 33% | 36% | 36% |
| 0.75 | 1.17% | 15% | 15% | 20% | 21% |
| 1.00 | 1.56% | 6.3% | 6.0% | 11% | 12% |
| 1.50 | 2.34% | 0.8% | 1.6% | 3.4% | 3.7% |
| 2.00 | 3.12% | 0.1% | 0.3% | 0.9% | 1.3% |
Use it on your own chart
Six steps. The table above gives the plain rate for any level you draw, such as yesterday’s high or a round number, from the 09:36 price; the figure’s tables cover the later start times. A chart without wall data can do steps 1 to 5; the table does not say whether such levels attract price.
- 1. Get the ATR. On the daily chart of the same instrument, add ATR with length 14 and read yesterday’s value. In a sheet, a day’s true range is =MAX(high−low, ABS(high−prior close), ABS(low−prior close)) and the ATR is the AVERAGE of the last 14. Platforms smooth it differently, so yours can differ by 15% or more.
- 2. At 09:36 ET or later, turn each level into ATRs: =(level − price)/ATR. Above price the answer is positive (use the “above” columns); below it is negative (use its absolute value and the “below” columns). Recompute at your start time, not pre-market: between 0.25 and 0.75 ATRs a 0.15 ATR gap moves the odds by 11 to 17 points. Worked example: on Nov 1, 2024, (490.00 − 486.05) ÷ 6.51 = 0.61 ATRs.
- 3. Look up how often price got that far. Between two rows, draw a straight line: odds = lower + (upper − lower) × (your distance − lower distance) ÷ (upper distance − lower distance). At zero distance the odds are 100%; the last row is 2.00 ATRs. In a sheet, type the table into R1:S9 (R distance, S odds above; first row 0, 100%) and use =IF(x>=$R$9,$S$9,FORECAST(x,OFFSET($S$1,MATCH(x,$R$2:$R$9,1),0,2),OFFSET($R$1,MATCH(x,$R$2:$R$9,1),0,2))) with your distance in place of x.
- 4. Entering later? Use a later start time. Half an ATR above the price was touched in 34% of QQQ sessions from 09:36, 24% from 10:30, 16% from 12:00 and 9% from 13:30; the figure has the full table. “Grade a read three ways” has a 09:45 start, between the first two columns. No trade, stop or target is simulated here.
- 5. Write the odds next to each level. One ATR away was touched in 6.3% of sessions above the 09:36 price (about 1 session in 16) and 11% below. These odds count touching a level at any moment and ignore your stop. For your own ticker, rebuild them from daily bars: for each day, =(High−Open)/yesterday’s ATR, then =COUNTIF(range,">="&0.5)/COUNT(range) is the share of days that touched half an ATR above the open, close to this page’s 09:36 column.
- 6. Add “ATR distance” and “table odds” columns to your log. After 100 or more levels from different days, compare how often price touched them with the average table odds: the noise on a share p over n levels is =1.96*SQRT(p*(1-p)/n), about ±10 points at 100 levels near half and ±18 at 30, so 30 levels mean nothing yet.
Do walls change that?
First, one case. On the 279 QQQ sessions with a call wall 0.25–0.50 ATRs above the 09:36 price, price touched the wall on 49%. A plain line the same distance up was touched on 50% of those days: the plain rate, the number a wall has to beat. The gap is the first minus the second, in percentage points.
When a band holds zero, luck can explain the gap. All walls sat below the plain rate at every time, the band clear of zero at 09:36, 10:30 and 12:00. Call walls sat 1.8 to 2.4 points below it, every band clear of zero; put walls stayed within a point either way, every band holding zero. Nothing here shows walls pulling price toward them: for all walls together the highest band top is +0.14 points.
We cannot tell whether call walls hold price back or rebuilt call walls are simply noisy, so this page draws no trading conclusion from the gap.
| Time and walls | Walls counted | Reached | Plain rate | Gap, points (95% band) |
|---|---|---|---|---|
| 09:36, all walls | 5,254 | 34.1% | 35.2% | −1.08 (−1.87, −0.19) |
| 09:36, call walls | 2,547 | 34.9% | 36.8% | −1.85 (−3.03, −0.61) |
| 09:36, put walls | 2,707 | 33.4% | 33.8% | −0.36 (−1.42, +0.80) |
| 10:30, all walls | 5,221 | 28.9% | 30.4% | −1.54 (−2.29, −0.71) |
| 10:30, call walls | 2,541 | 30.1% | 32.3% | −2.15 (−3.29, −0.91) |
| 10:30, put walls | 2,680 | 27.7% | 28.7% | −0.95 (−1.88, +0.09) |
| 12:00, all walls | 5,205 | 24.4% | 25.3% | −0.91 (−1.63, −0.20) |
| 12:00, call walls | 2,514 | 24.8% | 27.2% | −2.40 (−3.55, −1.24) |
| 12:00, put walls | 2,691 | 24.0% | 23.5% | +0.49 (−0.49, +1.48) |
| 13:30, all walls | 5,149 | 20.1% | 20.7% | −0.60 (−1.30, +0.14) |
| 13:30, call walls | 2,493 | 20.4% | 22.2% | −1.81 (−2.95, −0.64) |
| 13:30, put walls | 2,656 | 19.7% | 19.2% | +0.54 (−0.44, +1.55) |
The same gap by era and month type
The fallback-price era holds 74% of these sessions. In the native-price era (883 sessions across the two funds, the thinnest cells) the rebuilt wall’s gap at the open was positive, +1.34 (band −0.33 to +2.95), where the earlier wall’s on the same sessions was −1.17. That difference, +2.51 (band +1.05 to +3.96), is one of 14 out of 180 rebuilt-minus-earlier comparisons whose band clears zero; about 9 would by chance alone. It is a watch item, not a finding. Quarterly and other months both sit below zero at every time.
| Time | Fallback-price era | Native-price era | Quarterly months | Other months |
|---|---|---|---|---|
| 09:36 | −1.96 (−2.83, −1.13) | +1.34 (−0.33, +2.95) | −1.28 (−2.75, +0.22) | −1.01 (−2.00, −0.02) |
| 10:30 | −2.28 (−3.04, −1.44) | +0.48 (−1.13, +2.07) | −2.02 (−3.17, −0.80) | −1.30 (−2.27, −0.25) |
| 12:00 | −1.30 (−2.12, −0.55) | 0.00 (−1.37, +1.44) | −1.19 (−2.18, −0.25) | −0.77 (−1.72, +0.18) |
| 13:30 | −0.73 (−1.55, +0.08) | −0.08 (−1.50, +1.43) | −0.85 (−1.93, +0.23) | −0.47 (−1.43, +0.48) |
Two real mornings
Two recorded QQQ mornings, each with a call wall between 0.50 and 0.75 ATRs above the 09:36 price: the latest session where the high reached the wall, and the latest where it did not. On Nov 1, 2024, QQQ was 486.05 at 09:36 with an ATR of 6.51. The wall in force in the rebuild was 490.00, $3.95 above, or 0.61 ATRs; a plain line that far up was touched on about 25% of sessions. The high after 09:36 was 490.75, so the wall was touched.
On Dec 30, 2024 the price was 514.39, the ATR 8.65 and the wall 520.00: $5.61 above, or 0.65 ATRs, about the same in ATRs though $1.66 farther in dollars. A plain line touched about 22%. The high was 519.36, $0.64 short, so the wall was not touched. Two mornings say nothing about walls in general.
What changed from the earlier version
The earlier version measured the nearest-expiry wall, built from the prior close and held all session, from the 09:30 open. This version uses the wall in force in the rebuild at each time. They are different constructions, not a correction: the two walls sat on the same strike in 35% to 44% of sessions, a median 0.32 to 0.54 ATRs apart.
Run through the new code, the earlier wall reproduced the published figures exactly (34 of 34 checks) before any rebuilt number was computed. Rebuilt minus earlier stayed between +0.11 and +0.75 points, every band holding zero. A difference has to reach about a band’s half-width, 0.7 to 0.8 points, before its band can clear zero.
Compare each wall with its own plain rate, never with the other wall’s raw reach: they leave out different sessions (walls already at or through the price at 09:36: 1,428 rebuilt, 2,012 earlier), so the rebuilt wall’s raw reach is higher, 34.1% against 32.9% at 09:36, and so is its plain rate, 35.2% against 34.0%. The rebuild has no 09:30 time, so the 09:30 result stays as the earlier version.
| Time | Earlier wall: walls counted | Earlier wall: gap | Rebuilt wall: walls counted | Rebuilt wall: gap | Rebuilt minus earlier |
|---|---|---|---|---|---|
| 09:36 | 4,670 | −1.19 (−1.98, −0.38) | 5,254 | −1.08 (−1.87, −0.19) | +0.11 (−0.62, +0.84) |
| 10:30 | 4,579 | −1.82 (−2.63, −0.97) | 5,221 | −1.54 (−2.29, −0.71) | +0.28 (−0.55, +1.13) |
| 12:00 | 4,478 | −1.66 (−2.40, −0.89) | 5,205 | −0.91 (−1.63, −0.20) | +0.75 (−0.03, +1.51) |
| 13:30 | 4,399 | −0.78 (−1.55, −0.03) | 5,149 | −0.60 (−1.30, +0.14) | +0.18 (−0.51, +0.92) |
| 09:30, as first published | 4,696 | −1.38 (no band) | – | – | – |
What this does not say
The prices are recorded history; the walls are a rebuild, each the wall in force in GEXfreak’s research model at that time, held at that strike to the close. It can differ from a live Prism by GEXfreak chart, so “no boost” here is weaker evidence than the same result on live walls. This page measures arrival: reaching a wall says nothing about whether price reacted there.
These levels are rebuilt at each five-minute mark; Prism by GEXfreak keeps no five-minute history of its levels. A tier-0 rebuild uses that morning’s open interest and the prior close’s option prices, re-evaluated at that mark’s market price. Only SPY has a true intraday map (from August 2025), used just to check accuracy. Within $1 of it, tier-0 matched the call wall 77.5% of the time, the put wall 83.3%, the daily flip 68.9%, the weekly flip 73.7% and the monthly flip 66.9%. QQQ and stock accuracy is unmeasured.
Through 28 March 2023 an option’s price is a stored last trade, or a modeled value where none traded (the fallback-premium era); after that date prices are native. 74% of these sessions fall in the first era.
It covers SPY and QQQ, 2018–2024; nothing later was read. A side whose wall was already at or through the price is left out, and the rebuild can move a wall after it is read. Early-close days have no 13:30 entry (15 sessions on each fund). The ATR is the daily 14-session figure at every time, so late-day distances are in a daily unit.
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.
- The Jackknife and the Bootstrap for General Stationary Observations — H. R. Künsch, The Annals of Statistics 17(3): 1217–1241. Published 1989. Checked .
- 17 CFR § 4.41: Advertising by commodity pool operators, commodity trading advisors, and the principals thereof — Code of Federal Regulations, Title 17 (Cornell Law School LII). Publication date not stated. Checked .
For the product’s calculation and data boundaries, read Prism’s methodology.
Check a level 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.