IVR filter to add - add this so we can all become millionaires!
planned
S
Stefan R
IVR filter to add.
Having IV rank as an entry filter, especially for DCs on QQQ would be a significant improvement. Its far more accurate that VIX / VIX9D for QQQ.
Been able to filter out DC entries when IV rank is high has a profound improvement on the results!
Currently I have had to source IV data for the last 4 yrs and use it calculate my own IVR to obtain those dates when IVR > certain values and then plug those dates into OO to blacklist them. For longer dated DC's its more beneficial.
I've tested IVR with the standard 1yr lookback and custom 6 month lookback, 3 month lookback, 1 month look back, IV Percentile - the standard IVR (which is 1yr lookback) is the most reliable.
DC's for life!
D
Denny V
I’d like to expand this request to include four related metrics:
*
IV Rank
*
IV Percentile
*
IV Skew (IVS) Rank
*
IV Skew (IVS) Percentile
### Underlying-level IV
Calculate IV using ATM call and put IV:
IV = (ATM Call IV + ATM Put IV) / 2
If the underlying’s price falls between two strikes, interpolate between the immediately lower and upper strikes rather than selecting one arbitrarily:
Weight = (Underlying Price − Lower Strike) / (Upper Strike − Lower Strike)
Interpolated IV = Lower-Strike IV + Weight × (Upper-Strike IV − Lower-Strike IV)
Apply this separately to call and put IV before calculating IV.
### IV Skew alternatives
There are two possible approaches to calculating IV Skew.
Option 1: ATM Skew
ATM IV Skew = ATM Put IV − ATM Call IV
Use the same interpolated ATM call and put IV values calculated for Composite IV.
ATM Skew measures the put-versus-call IV difference directly around the current underlying price. It is simple to calculate and focuses on the options closest to where the underlying is currently trading.
However, equivalent puts and calls at the same strike and expiration should theoretically have very similar implied volatility because of put-call parity. Observing the live data, the IV is different, but the difference can be around 0.1% to 0.25%. Here, ATM Skew can be more sensitive to bid/ask spreads, quote timing, liquidity, and model differences. It may capture immediate near-money pricing imbalances, but not the complete shape of the volatility smile.
Option 2: 25-Delta Skew
25-Delta IV Skew = 25-Delta Put IV − 25-Delta Call IV
If an exact 25-delta option is unavailable, interpolate between the options immediately surrounding 25 delta.
The 25-delta calculation compares similarly positioned OTM puts and calls. It better captures the relative premium paid for downside protection versus upside participation and is generally a more direct measure of the volatility smile or tail-risk pricing.
Its disadvantage is that it requires delta matching and possibly interpolation, making it somewhat more complex.
With either definition, a positive and rising value means put IV is becoming more elevated relative to call IV. The selected calculation should remain consistent across the entire historical and live series used for Rank and Percentile.
D
Denny V
### Rolling lookback
For both backtesting and live Automations, each metric should use the value from the
current minute plus the previous 251 EOD values
, creating a rolling 252-value lookback -- as OP suggested.As each new minute arrives, it replaces the current-minute value (similar to RSI or SMA calculations).
### Rank and Percentile calculations
The same general formulas apply to both IV and the selected IV Skew calculation:
*
Rank:
((Current Value − 52-Week Low) / (52-Week High − 52-Week Low)) × 100
*
Percentile:
(Number of Lookback Values Below the Current Value / 252) × 100
Both produce a value between 0% and 100%.
### Why provide all four metrics?
*
IV Rank
shows where current option pricing sits between its 52-week low and high. It provides an intuitive measure of how expensive or inexpensive premium is relative to its annual range.*
IV Percentile
shows how often IV was below its current value. It measures the frequency of the present volatility environment and is less affected by isolated extreme values.*
IVS Rank
shows where the current downside-versus-upside volatility difference sits within its 52-week range. It indicates the strength of downside hedging demand relative to its historical extremes.*
IVS Percentile
shows how often historical skew was below its current value. It helps identify whether the current demand for downside protection is statistically common or unusual.These should primarily be available as
entry filters
. If practical, they would also be valuable as exit filters
, similar to how RSI can currently be used—for example, entering or exiting when IV Rank, IV Percentile, IVS Rank, or IVS Percentile moves above or below a selected threshold.D
Denny V
### Consistent 30-Day Tenor
To make IV Rank, IV Percentile, IVS Rank and IVS Percentile universal across strategies, the underlying IV and IV Skew calculations should use a
constant 30-calendar-day maturity
.“Current-minute value” refers to the latest intraday observation of this constant 30-day measure.
Define:
T1
= time to the nearest expiration below 30 daysT2
= time to the nearest expiration above 30 daysT*
= target maturity of 30 daysIV1
= implied volatility at T1IV2
= implied volatility at T2Therefore:
T1 < T* < T2
Convert the two IV values into total variance:
W1 = IV1 * IV1 * T1
W2 = IV2 * IV2 * T2
Calculate the interpolation weight:
Weight = (T* - T1) / (T2 - T1)
Interpolate total variance:
W* = (1 - Weight) * W1 + Weight * W2
Convert the interpolated variance back into constant-maturity IV:
30Day IV = square root of (W* / T*)
Days or years may be used for
T1
, T2
and T*
, provided the same unit is used consistently. Exact time to expiration, including hours and minutes, would be preferable to rounded integer DTE.Apply this interpolation separately to the relevant call and put IV values before calculating:
30Day IV = (30Day ATM Call IV + 30Day ATM Put IV) / 2
For 25-delta Skew:
30Day 25Δ IVS = 30Day 25Δ Put IV − 30Day 25Δ Call IV
If an exact ATM strike or 25-delta contract is unavailable within either expiration, first interpolate between the surrounding strikes or deltas.
The identical constant-maturity methodology should be used for the
current-minute observation and all previous 251 EOD observations
. This ensures that Rank and Percentile always compare equivalent 30-day measurements rather than a mixture of different expirations.If an expiration exists at exactly
T*
, use its IV directly without maturity interpolation.Brian Chia
updated the status to
planned
Jeff
Almost necessary for longer DTE trades
r
rusty.moorman@optionomega.com
Merged in a post:
IV Rank as a new filter
V
Víctor Pérez Esteve
I would love if IV Rank can be included in the backtest so we can use it instead of VIX
r
rusty.moorman@optionomega.com
updated the status to
under consideration
B
Big V
This would be so valuable. +1