How This Tool Works
The idea behind it
Because leveraged volatility and inverse ETFs (like UVXY) decay lower over time and constantly make new all-time lows, this tool ignores price ranges. Instead it asks: how far above its own all-time low is the ETF sitting right now?
Setting your range
You choose two levels, both expressed as a percentage above the all-time low.
- Lower level
- Upper level
The distance between them is your range.
By default, "Auto-detect spike" is turned on. When the tool loads, it centers the range on whatever spike percentage the ETF currently is at.
Turn it off if you want to enter a custom range for backtesting purposes.
Choosing your exit rules
Each side of the range needs an exit rule. You pick either "Close" or "Touch".
- "Upper exit". "Close" requires the day to end above the upper level. "Touch" only requires the intraday high to reach it.
- "Lower exit". "Close" requires a close below the lower level. "Touch" only requires the intraday low to reach it.
"Touch" triggers more often and earlier. "Close" is stricter.
What the tool measures
It reads through the entire daily history looking for episodes.
An episode begins on the first day the ETF closes inside your range after having been outside it. From there the tool moves forward one day at a time. Each day the close stays inside the range adds to the day count.
The episode ends the moment either side breaks under your chosen exit rule. Whichever side breaks first becomes the outcome, either UPPER or LOWER. The tool records the start date, end date, days in the range, the highest reading it reached along the way, and which side won. Then it keeps scanning for the next entry.
If the ETF is inside the range right now, that stretch is not included. It has no outcome yet, so it stays out of the odds and out of the log.
Reading the odds table
This is the part most people get wrong, so read it carefully.
The table is conditional. It is not a breakdown of when episodes resolved.
Each row, from Day 1 to Day 10, answers this: of all the episodes that lasted at least this many days, what share eventually broke the upper level first?
So Day 3 does not mean "episodes that ended on day 3." It means "of every episode that survived to day 3, here is how they eventually finished." Row 10 covers everything that lasted 10 days or longer.
The occurrence count shrinks as you move down the table, because fewer episodes last that long.
This is also why the row matching the current streak is highlighted. If the ETF has been in the range for 4 days, Day 4 is your row, because it is built only from past episodes that also reached at least day 4.
The banner at the top
Six quick readouts:
- Current percentage above the all-time low
- Whether that puts it below, inside, or above your range
- Days in the range so far
- Upper and lower odds pulled from your current row
- Average days it historically took to resolve each way
Upper breaks are shown in red, since a break upward means the spike is still running. Lower breaks show green.
The log
The full history of every episode, sortable by any column: start date, end date, days in the range, peak percentage above the all-time low, and which side broke first.
This is where you can study the raw record yourself.
Open the Spike Range Analyzer