The 52-week range position measures where an asset's current closing price sits relative to its absolute high and low prices over the trailing one-year period. Expressed on a standardized scale from 0 to 100, this metric provides an immediate readout of current price location.
range position = (close − 52-week low) ÷ (52-week high − 52-week low) × 100
A reading of 0 means the asset is trading precisely at its 52-week low.
A reading of 100 means the asset is trading precisely at its 52-week high.
The reading is just today's close measured against the past year's high and low. A stock halfway between them reads 50.
Numerical interpretation
In the example above, with a 52-week range spanning from $349.20 to $555.45, today's closing price of $387.74 yields a range position reading of 18.7. This means the stock sits in the bottom 20% of its annual price boundaries, much closer to its yearly low than its high. A stock trading at the exact midpoint of its yearly range would display a reading of 50.0.
Price location vs. price velocity
Core principle: range position describes location, not path or momentum. It contains zero information about how or how quickly the asset arrived at that level.
A stock that has steadily drifted lower over nine consecutive months can read 18.0.
A stock that suffered a sudden, severe gap-down yesterday can also read 18.0.
While the formula identifies where the asset sits today, the tool evaluates what has historically followed when this specific asset occupies that relative price location.
A raw range position reading only tells half the picture. Because different assets exhibit distinct structural baseline behaviors, a single numeric value can carry entirely different market meanings depending on the asset being evaluated.
Ticker
Raw Range Position
Relative Percentile Rank
Contextual Market Meaning
SPY
92.0
58th Percentile
Routine Baseline: SPY spends the vast majority of its history trading near annual highs.
AMD
93.5
92nd Percentile
Extreme Outlier: AMD rarely sustains levels this close to its 52-week ceiling.
Measured 22 July 2026.
Why asset characteristics matter
Despite displaying nearly identical raw range positions (about 92 to 93), the two assets occupy completely different statistical environments.
SPY (S&P 500 ETF): due to long-term secular equity growth, broad market indices naturally spend significant time near the top of their 52-week ranges. A reading of 92.0 sits near its median, representing a common, routine trading environment.
AMD (high-beta individual equity): high-volatility individual stocks experience wider price swings and spend far less time pinned at their annual highs. A reading of 93.5 represents a rare historical extremity.
The inverse case: spotting hidden extremes
Evaluating historical percentiles also uncovers rare market conditions at the bottom of an asset's range.
Example: Microsoft (MSFT)
A raw range position of 18.7 might appear unremarkable at first glance. However, cross-referencing MSFT's historical distribution reveals this reading sits at its 9th percentile. MSFT has historically spent 91% of its trading life higher in its range, making 18.7 a statistically rare oversold condition for this specific stock.
How comparable historical stretches are selected
Rather than comparing all stocks against a single fixed scale, the analytical engine ranks today's raw reading against the asset's own historical distribution:
The system converts today's raw 0 to 100 reading into an asset-specific percentile rank.
Backtests are run exclusively against historical periods where the asset occupied that same relative percentile.
This prevents a perpetually strong index from being matched against a volatile stock that only visits its highs during brief, temporary spikes.
Chapter 3
Directional First-Touch Analysis
In addition to evaluating fixed time horizons (for example 30-day or 60-day holding periods), the system runs a first-touch race. Evaluated from every historical match, this metric determines whether the asset reached a specified target gain before it hit an equivalent target loss.
Directional first-touch results: Microsoft (MSFT). Evaluated from a raw range position of 18.7, across 184 historical matching instances. Measured 22 July 2026.
Target distance (±%)
Up first (gain first)
Down first (loss first)
Directional edge
±3% move
59%
41%
+18% bullish lean
±5% move
66%
34%
+32% bullish lean
±10% move
67%
33%
+34% bullish lean
Path priority over ending price
First-touch rule: the evaluation stops the exact moment either threshold is touched, regardless of where the stock ultimately closes days or weeks later.
Path-dependent insight: unlike standard holding-period returns that measure final closing prices, this analysis isolates directional path priority.
Interpreting the asymmetric lean
Evaluating the asset from an unusually depressed 52-week position (18.7, its 9th percentile) reveals a clear pattern:
Small moves (±3%): the asset reached a +3% gain before a −3% loss 59% of the time, showing a modest upward bias.
Larger horizons (±10%): as the target distance expands to ±10%, the directional edge strengthens significantly, with MSFT reaching a +10% gain before a −10% loss in 2 out of 3 historical matches (67%).
Strategic takeaway
When an institutional asset reaches a statistically rare lower boundary, larger recovery rallies frequently outpace further downside breakdowns.
Chapter 4
Price Projections
The engine projects across three fixed horizons: the next trading day, one week (5 trading days) and one month (21 trading days). Every card shows the exact future date it refers to, so there is no ambiguity about which session is being measured.
Three measures on each card
Green / red odds: the split between comparable days that closed higher and those that closed lower over that horizon.
Avg green return: the average gain of only the comparable days that closed higher.
Avg red return: the average loss of only the comparable days that closed lower.
MSFT's read from low in its range:
Horizon
Target date
Odds
Avg green
Avg red
Next day
23 July 2026
52% / 48%
+1.45%
−1.64%
One week
29 July 2026
54% / 46%
+3.05%
−3.52%
One month
21 August 2026
64% / 36%
+6.52%
−7.28%
Measured on MSFT, 22 July 2026, from 184 comparable days.
Always read the averages next to the odds
The two average rows are one-sided: avg green averages only the up outcomes, avg red only the down outcomes. Never read them by themselves.
The month row shows why. The odds lean green at 64%, yet the average red (−7.28%) is larger than the average green (+6.52%). More of those months closed higher, but the ones that fell dropped harder. Looking only at the win rate would miss the size of the downside; looking only at the average loss would miss the bias toward closing up.
Chapter 5
The Three Charts
One Chart View toggle, three ways of looking at the same sample of comparable days: the Price Cone, the Bar Graph and the Chart Log.
1. Price Cone
The default. It projects forward 45 sessions from today's price, drawing the percentile bands of what the comparable days actually did, converted into prices.
Median line (50th percentile): the central outcome of the sample, not a target.
Cone width (10th to 90th): how much the comparable days disagreed. A narrow cone means consistent outcomes; a wide one means high variance.
2. Bar Graph
This asks a different question: how often did price travel a set distance, and how quickly? You choose the move size, and the chart answers in both directions at once. Green bars above the line show the share of comparable days that rose that far within a given number of days; red bars below show the share that fell that far.
By Touch vs By Close
Setting
What counts
Use it for
By Touch
Any intraday high or low that reached the level, even if price came back before the close
Path risk: stop-loss triggers or intraday margin
By Close
Only a daily close beyond the level
Settlement risk: holding-period targets or trend sustainability
Touch numbers are always equal to or higher than close numbers. A wide gap between the two flags heavy intraday movement that did not hold into the close.
3. Chart Log and the event register
The Chart Log shows the full price chart with every comparable day marked, so you can see the wider context each time the same setup appeared. Below it, the event register lists every comparable day with its date, its range position and its forward return.
Any column sorts, which makes it easy to find the largest gains and worst drawdowns in the sample. Those extremes often matter more than the average when you are sizing a position.
The front page runs the same analysis across every ticker at once, giving a market-wide view of price location without opening tickers one at a time.
Every ticker has a reading
There is no trigger here. Every stock sits somewhere in its own range every day, so every row carries a number. The question is never whether a ticker qualifies, only where in its band it happens to be. The table is a positioning map: it shows which names are compressed near their annual lows and which are pressing their highs.
What each row shows
Column
What it is
Ticker and current close
The symbol and its latest price
Range position (0 to 100)
Where the close sits between the 52-week low and high. Sorting it isolates the extremes: nearest lows at one end, pressing highs at the other
Projections
The next-day, one-week and one-month odds with avg green and avg red, side by side
Two cautions when scanning
Raw numbers need percentile context. Sorting by raw range position groups equal numbers together, but a 90 on a steady index like SPY is routine while a 90 on a high-beta name like AMD is rare. Remember Chapter 2 when you read the column.
Projections are asset-specific. Each row is built from that ticker's own comparable days, so two rows both showing 58% are each describing their own stock, not the same risk.