The VOL ETF Zone Analyzer measures historical price behavior when a leveraged volatility ETF enters a range defined by an upper and lower boundary. Both bounds are set as a percentage above the ETF's running all-time low. By tracking every past instance where the ETF landed within that band, the tool projects which boundary it is statistically more likely to break first, and how those odds evolve the longer it remains inside.
1. The Core Concept
Leveraged and inverse volatility ETFs reset their exposure daily, which grinds them toward new record lows over time. A raw dollar price therefore means nothing on its own: $24 on UVXY described a very different market in 2019 than it does after the reverse splits since. What travels across eras is the distance above the running low.
The VOL ETF Zone Analyzer tracks what happens after the ETF closes inside a custom range defined by a Lower Bound and an Upper Bound (for example, between 20% and 40% above the low). It evaluates two main questions:
Resolution Direction: Once the ETF is inside the zone, does it break out above the Upper Bound or fall below the Lower Bound first?
Duration Effect: How do the breakout probabilities shift as the ETF spends more consecutive days inside the zone?
2. Defining the Zone & Measurement Units
Zone boundaries are always expressed as a percentage above the running all-time low, never dollar prices, VIX index points, or percentage moves from the prior close.
Active Zone Condition: Lower Bound ≤ Reading ≤ Upper Bound
Example Zone [20%, 40%]: Reading = +30.0% ⇒ Inside Active Zone
The dashed lines are the two bounds and the shaded band between them is the zone. A reading of +30.0% lands inside a 20% to 40% band, which is what starts an episode.
Upper Bound (40%): The upper threshold, representing a spike extending well clear of the low.
Lower Bound (20%): The lower threshold, representing a drift back down toward the low.
Running All-Time Low: The lowest low printed up to that session. It steps down whenever a new record low prints and never steps back up, so every reading is measured against the floor as it stood at the time.
Active Episode: Triggered on the first daily close that lands inside the boundary pair. An episode remains active until a daily close officially breaks above the Upper Bound or drops below the Lower Bound.
An episode represents a continuous sequence of daily trading sessions where the ETF closes inside the defined range, running uninterrupted from initial entry until a selected exit rule is triggered.
An episode runs from the first close inside the band to the session that breaks one of the two bounds. Everything in between counts as the same episode.
1. Entry Logic
A new episode begins on the first session where the ETF closes inside the zone bounds following a prior session that closed outside the zone.
Continuation: Remaining inside the band for multiple consecutive sessions counts as a single ongoing episode.
Re-entry: Exiting the zone and subsequently returning inside at a later date creates a new, separate episode with its own fresh counter.
2. Exit Rules: Close vs. Touch
You can configure how each boundary handles an exit independently in the side panel. By default, both boundaries use Close mode.
Boundary
Selected Exit Mode
Trigger Condition
Upper Bound
Close
The daily Close reading sits above the upper level.
Upper Bound
Touch
The daily High reading reaches or exceeds the upper level intraday.
Lower Bound
Close
The daily Close reading sits below the lower level.
Lower Bound
Touch
The daily Low reading reaches or drops below the lower level intraday.
Every one of those readings is the same percentage-above-the-low measure, so a Touch exit reads the session's intraday high or low converted to that scale rather than a dollar price.
Same-Day Tie-Breaker
If a single session satisfies both exit criteria simultaneously, the system processes the Upper Bound resolution first.
Once the historical engine completes and classifies every historical episode as an UPPER or LOWER exit, it calculates conditional probabilities based on duration, specifically measuring how the odds shift as the ETF remains inside the zone for multiple consecutive days.
1. Conditional Odds Calculation
The system evaluates survival probability by filtering for episodes that persisted for at least N days before resolving:
Upper Exit Odds (Day N) = Episodes lasting ≥ N days that exited UPPER / Total episodes lasting ≥ N days
The total number of sample occurrences drops as N increases, because fewer historical episodes manage to remain inside the zone for extended durations without breaking out. The Day 10+ tier pools all episodes lasting 10 days or longer to maintain sample density. On a fast-moving ETF the decay is steep: UVXY's 20% to 40% band has 240 completed episodes at Day 1 but only 3 that ever reached ten days, so the far tiers describe a handful of stays rather than a pattern.
2. Reading the Probability Matrix
Duration Tier
Sample Occurrences
Upper Exit Odds
Lower Exit Odds
Analytical Interpretation
Day 1
All completed episodes (240)
36.3%
63.8%
Unconditional starting odds upon entering the zone.
Day 3
Episodes lasting ≥ 3 days (55)
34.5%
65.5%
Trajectory odds for episodes surviving into a third session.
Day 5
Episodes lasting ≥ 5 days (27)
22.2%
77.8%
Conditional odds once a stay has become unusually long for this ETF.
On UVXY's 20% to 40% band the upper odds fall the longer the ETF stays put, from 36.3% on day one to 22.2% by day five. A rising line would point the other way.
3. Real-Time Tracking Application
When the ETF is active inside the zone today, the system automatically highlights the row corresponding to the current session count.
Execution Rule
If the ETF has closed inside the zone for 5 consecutive sessions, evaluate the Day 5 conditional odds row rather than the baseline Day 1 figure, as survival bias alters the forward distribution.
The top of the Analyzer dashboard provides real-time state tracking and active parameter configuration for whichever ETF is selected.
A stay of four days pulls the Day 4 row, so the odds shown are the ones conditional on having already lasted that long rather than the day-one baseline.
1. Dynamic Banner Readouts
Inside Zone: Displays active consecutive days spent inside the band, applying the matching Day N conditional probabilities (for example, a Day 4 stay uses Day 4 row odds instead of the Day 1 baseline).
Outside Zone: Displays Outside Zone status and previews Day 1 baseline odds for the next incoming zone entry.
Ticker Switching: Every reading, the odds table and the log rebuild against the selected ETF's own record, so UVXY and BOIL are each ranked against themselves rather than a shared scale.
2. Auto-Detect Parameter Rules
When Auto-Detect Zone is toggled on, the engine dynamically centers a 20-point band around the current reading, rounded to whole percentage points:
Turning off Auto-Detect unlocks fixed historical testing across custom boundaries (for example, a static 20% to 40% regime test), allowing lower bounds down to a floor of 5%.
The Episode Log sits directly below the chart, providing a row-by-row audit trail of every past episode that matched your exact zone parameters.
The Columns
Column Header
Definition
Analytical Value
Start
Date when the ETF first closed inside the zone.
Pinpoints initial entry timing across market regimes.
End
Date when an exit rule officially fired.
Identifies exact historical resolution sessions.
Days in Zone
Total consecutive trading days spent inside.
Measures the duration and persistence of the stay.
Peak % from ATL
Highest intraday reading printed during the stay.
Shows how far the spike extended before the exit fired.
Resolution
Whether the UPPER or LOWER bound won.
Visualizes exit direction under active Close/Touch rules.
Reading Peak % from ATL
The peak reads intraday highs, so it can sit well above the upper bound even on an episode that resolved LOWER. On UVXY's 20% to 40% band the largest reading in the record reached 79.4% above the low, during a five-day stay in late March 2025.
Changing a bound, an exit mode or the ticker re-runs the full history, so the odds table and the log below it always describe the settings currently on screen.