Help us double down on what's working, instead of guessing. Takes 5 seconds, totally optional.
ivrank · 6 min read
IV Rank Scanner: Free Python Example and Live Data Workflow
Calculate IV rank and percentile from consistent daily IV observations, inspect a synthetic sample, and choose the correct live volatility or screener workflow. Coverage, timestamps, filters and access explained.
Open the IV dashboard for its selected watchlist, ATM IV and IV percentile. It does not expose a calculated IV-rank column or cover the whole 6,000+ symbol API universe. Signed-out results are delayed snapshots when available. Inspect each returned source timestamp before comparing names.
From an IV Rank Screen to a Research Candidate
High rank means IV is high relative to that symbol's own range; whether selling it pays is the research question. Run each candidate through five checks before it becomes a trade idea:
One extreme day can set the 52-week high and squash every later rank.
Your lookback setting
After selecting candidates, use the 50-strategy research and trade ledgers to examine how structure and execution costs change outcomes. Its 2020-2025 ETF sample is not a backtest of today's high-IV stock list. To automate a broader filter, follow the IV rank screener API guide.
Why does IV rank matter more than raw IV?
AAPL at 30% IV and TSLA at 30% IV are completely different situations. AAPL's 52-week IV range might be 15%-35%, putting 30% near the top. TSLA's range might be 25%-80%, putting 30% near the bottom. Same raw number, opposite conclusions.
Symbol
IV today
52-week IV range
IV rank
Read
AAPL
30%
15% to 35%
(30 − 15) / (35 − 15) = 75
High within its own range; not proof of overpricing.
TSLA
30%
25% to 80%
(30 − 25) / (80 − 25) = 9
Low within its own range; not proof of underpricing.
IV rank solves this by normalizing: it tells you where current IV sits as a percentage of the annual range (0-100). IV percentile goes further - it tells you what percentage of trading days had lower IV than today. Both give you the context that raw IV lacks.
Metric
Definition
Good for
Blind spot
Raw IV
Annualized expected move priced by the options.
Sizing the expected move in dollars.
No context: 30% is high for one name and low for another.
IV rank
Where today's IV sits between the 52-week low and high, 0 to 100.
Fast cross-symbol comparison.
One extreme day resets the range and compresses every later reading.
IV percentile
Share of lookback days with IV below today's.
How unusual today is, robust to a single spike.
Says nothing about how far above the typical level IV sits.
VRP (IV minus realized)
Implied vol less realized vol over the same window.
A backward-looking implied/realized comparison.
Backward-looking realized vol; an event can make it stale.
An elevated rank is a screening condition, not evidence that selling options has positive expected value. Earnings, liquidity, future realized movement, spreads and the entry/exit rule matter. The earnings IV-crush guide explains why event timing can change the comparison.
Key Insight
IV rank > 50 means current IV is in the upper half of its annual range. Many premium sellers use this as their minimum threshold for entering short vol positions.
Sample provenance: hypothetical AAPL, TSLA and NVDA series, generated for this example on October 16, 2026. Each has 252 weekday-dated observations ending October 15, 2026. These are synthetic values, not exchange data or a valid market calendar. Replace them with your licensed, consistently sampled IV series for actual research.
# The full script validates dates, duplicates, finite IV and history length.
iv_rank = 100 * (current_iv - min(history)) / (max(history) - min(history))
prior = history[:-1]
iv_percentile = 100 * sum(iv < current_iv for iv in prior) / len(prior)
passes = iv_rank >= 50 and iv_percentile >= 70
In this example, rank uses 252 observations including today, and percentile compares today with the 251 strictly prior observations. Ties do not count as lower. Vendors can use different windows and tie rules; do not assume their percentile equals this calculation.
Coverage, Timestamp and Exclusion Rules
Check
Rule in this sample
Why
Universe
Only symbols actually present in the CSV
It is not a market-wide scanner.
Observation time
Every symbol must end on the dataset's latest date
Old observations must not compete with new ones.
History
Require 252 observations; zero range is unavailable
Short history and division by zero must not become a rank of zero.
IV definition
Use one daily time, tenor, ATM method and percentage unit
Changing the measurement changes the ranking.
Candidate filter
Rank at least 50 AND percentile at least 70
These are explicit demonstration thresholds, not optimized trading rules.
The output retains excluded symbols with a reason. Inspect gaps and the calendar span: 252 observations approximate a trading year only when the daily sampling and exchange calendar are consistent. Sorting ATM IV alone finds high raw IV; it does not compute IV rank.
Choose the Correct Live Workflow
Workflow
Access and inputs
What you can inspect
Local calculation
Free script plus your own consistent daily IV CSV
Rank, percentile, sample count, observation date and exclusions
Current symbol volatility
/v1/volatility/{symbol}, Growth and above
Documented implied/realized metrics; archive consistent observations for your rank series
Server-side multi-symbol filters
POST /v1/screener, Growth and above; eligible universe varies by tier
IV dashboard; request allowance and symbol access still apply
Selected watchlist's ATM IV and IV percentile, with each response timestamp
Growth provides 2,500 daily requests. One daily volatility request for each of 50 symbols would use 50 requests before retries or other work; compare that schedule with your current allowance. The broad API symbol catalogue, the browser watchlist and the server-side screener universe are separate coverage sets.
Turn a Screen Into a Research Question
Check earnings timing, spreads and contract liquidity, then examine the proposed structure's executable risk and costs. IV minus past realized volatility is not a forecast of future variance. High rank alone cannot establish overpricing or tell you to sell premium.
Use the API screener guide for automation and the strategy research and ledgers for methodology. Their ETF study is not a backtest of today's stock candidates. Evaluate the saved CSV before scheduling repeated API calls or sending alerts.
The downloadable local calculation and synthetic sample are free and need no API key. Current volatility and server-side screener API workflows require Growth and above. A browser watchlist does not promise full-universe Free API access.
IV rank locates current IV within a high-low range. IV percentile counts how many historical observations had lower IV. The example uses 252 observations for the range and 251 prior observations for percentile, excluding ties.
No. Raw IV is a volatility level. Rank needs a consistent historical range for each symbol; percentile needs the historical distribution. The downloadable script calculates both.
The browser dashboard uses a selected watchlist and displays ATM IV, IV percentile, realized-volatility context and related metrics. It does not expose a calculated IV-rank column. Inspect each returned source time; signed-out snapshots are delayed when available.
No. High rank is a screening condition. Event risk, future realized movement, liquidity, costs, position structure and the tested entry/exit rule determine the economic outcome.
The highest IV stocks change every day, driven by earnings, macro events, and sector rotation. A scanner that runs automatically - pulling real IV data, filtering for elevated premium, and alerting you before the open - is the foundation of any systematic premium selling workflow. Build it once, run it forever.