Strasmore Research
Market recaps wey dey break am down Matt ConnorBy Matt Connor · Updated 2026-10-18 · data as of October 18, 2026 · refreshed weekly

Highest IV Rank Stocks Right Now

See US stocks and ETFs wey get the highest IV rank, measured against each name own 52-week implied volatility range, with IV percentile beside am and method shown.

IV rank dey show where stock implied volatility dey sit inside im own 52-week range. E dey start from 0 for the range low reach 100 for the range high. Reading wey near the top mean say options market dey price more future movement into that name pass any other time for the past one year of trading sessions. Reading wey near the bottom mean say market dey price the least movement.

The board below rank US stocks and ETFs wey get the highest IV rank for the latest measured options session, dated 2026-10-15. E also show IV percentile beside am, because the two numbers dey answer the same question with different arithmetic.

Stocks wey get highest IV rank right now

QueryHighest IV rank, US underlyings wey pass screening, latest options session
tickeriv now pctiv rankiv percentileiv 52w low pctiv 52w high pctsession date
VLO54.510099.627.954.52026-10-15
MRK36.294.797.615.737.42026-10-15
EWZ52.29398.418.154.72026-10-15
KHC33.790.896.816.135.52026-10-15
ETN48.485.596.425.852.22026-10-15
KO22.884.694.812.524.72026-10-15
ABT34.583.694.818.637.62026-10-15
RIOT9883.384.940.1109.62026-10-15
RDDT83.782.679.425.695.92026-10-15
PBR49.882.49521.955.72026-10-15
SHOP7080.98140.5772026-10-15
BKNG4280.777.421.2472026-10-15
BP34.280.488.118.937.92026-10-15
WMB31.679.59518.4352026-10-15
TEM85.576.295.249.996.62026-10-15
The exact SQL behind every number
WITH per_session AS (
    SELECT underlying_symbol AS u,
           date AS d,
           quantileExact(0.5)(implied_volatility) AS iv,
           sum(volume) AS vol
    FROM global_markets.options_greeks
    WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
      AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
      AND abs(strike_price / underlying_close - 1) <= 0.05
      AND expiration_date BETWEEN date + 20 AND date + 60
      AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
    GROUP BY u, d
    HAVING count() >= 10
),
ranked AS (
    SELECT u, d, iv, vol,
           row_number() OVER w AS rn,
           first_value(iv) OVER w AS iv_latest,
           first_value(d) OVER w AS d_latest
    FROM per_session
    WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
    SELECT u,
           any(iv_latest) AS iv_cur,
           any(d_latest) AS last_d,
           count() AS sessions,
           min(iv) AS iv_lo,
           max(iv) AS iv_hi,
           countIf(iv < iv_latest) AS below_now,
           sumIf(vol, rn <= 20) AS vol_20d
    FROM ranked
    WHERE rn <= 252
    GROUP BY u
)
SELECT u AS ticker,
       round(100 * iv_cur, 1) AS iv_now_pct,
       round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
       round(100 * below_now / sessions, 1) AS iv_percentile,
       round(100 * iv_lo, 1) AS iv_52w_low_pct,
       round(100 * iv_hi, 1) AS iv_52w_high_pct,
       toString(last_d) AS session_date
FROM agg
WHERE sessions >= 200
  AND vol_20d >= 20000
  AND iv_hi > iv_lo
  AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY iv_rank DESC, vol_20d DESC, ticker
LIMIT 15
Run am yourself

Make we start with the top row. VLO close with at-the-money implied volatility of 54.5%, against 52-week range wey run from 27.9% reach 54.5%. That one put im IV rank for 100, and im IV percentile for 99.6.

The scale get one exact meaning for each end. Rank of 100 mean say the latest session implied volatility na the highest reading for anywhere inside the measured window. Rank of 0 mean say na the lowest. That number no talk say the stock volatile in absolute terms. E only compare the stock with itself.

This difference dey matter. Across the top rank decile of the whole screened universe, current implied volatility dey run from 33.7% reach 54.5%, with median of 52.2%. Quiet stock wey dey the top of its own quiet range go score the same way as violent stock wey dey the top of its violent range. If na the absolute level you want, instead of the relative one, the stocks wey get highest implied volatility board rank the same tape using raw IV.

IV rank vs IV percentile

Both numbers dey place today’s implied volatility against the same 52-week history, but dem dey count am differently.

  • IV rank na (current IV minus the 52-week low) divided by (the 52-week high minus the low), and dem state am as percentage. E dey look only current value and the two extremes for the window.
  • IV percentile na the share of the last 252 sessions wey their implied volatility close below today’s own. E dey look every session for the window.

One violent session inside the year fit set ceiling wey range-based rank no go forget, while count-based percentile dey treat am as just one tick among 252. The panel below dey sort one side of that difference: IV percentile minus IV rank, biggest one first. Names wey get the opposite pattern, rank above percentile, na separate screen and dem no dey here.

QueryWhere IV percentile dey sit furthest above IV rank, latest session
tickeriv now pctiv rankiv percentilepercentile minus rankiv 52w high pct
COP35.829.591.762.266.1
NFLX46.934.295.661.489.9
PLTR62.32983.754.7112.1
T29.129.381.752.451.1
AMZN39.419.871.85299.4
MSFT31.624.569.845.365.8
AAPL272164.343.355.9
CVX293678.242.250.9
GOOG37.145.685.339.758.2
META43.545.484.939.568.6
DVN38.525.264.339.177.5
CIFR120.141.780.238.5181.5
The exact SQL behind every number
WITH per_session AS (
    SELECT underlying_symbol AS u,
           date AS d,
           quantileExact(0.5)(implied_volatility) AS iv,
           sum(volume) AS vol
    FROM global_markets.options_greeks
    WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
      AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
      AND abs(strike_price / underlying_close - 1) <= 0.05
      AND expiration_date BETWEEN date + 20 AND date + 60
      AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
    GROUP BY u, d
    HAVING count() >= 10
),
ranked AS (
    SELECT u, d, iv, vol,
           row_number() OVER w AS rn,
           first_value(iv) OVER w AS iv_latest,
           first_value(d) OVER w AS d_latest
    FROM per_session
    WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
    SELECT u,
           any(iv_latest) AS iv_cur,
           any(d_latest) AS last_d,
           count() AS sessions,
           min(iv) AS iv_lo,
           max(iv) AS iv_hi,
           countIf(iv < iv_latest) AS below_now,
           sumIf(vol, rn <= 20) AS vol_20d
    FROM ranked
    WHERE rn <= 252
    GROUP BY u
),
board AS (
    SELECT u,
           round(100 * iv_cur, 1) AS iv_now_pct,
           round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
           round(100 * below_now / sessions, 1) AS iv_percentile,
           round(100 * iv_hi, 1) AS iv_52w_high_pct
    FROM agg
    WHERE sessions >= 200
      AND vol_20d >= 20000
      AND iv_hi > iv_lo
      AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
)
SELECT u AS ticker,
       iv_now_pct,
       iv_rank,
       iv_percentile,
       round(iv_percentile - iv_rank, 1) AS percentile_minus_rank,
       iv_52w_high_pct
FROM board
ORDER BY percentile_minus_rank DESC, iv_now_pct DESC, ticker
LIMIT 12
Run am yourself

The biggest gap for that direction belong to COP: IV percentile of 91.7 against IV rank of 29.5, with spread of 62.2 points for the same session and same data. Current implied volatility there na 35.8%, and the 52-week high na 66.1%. Percentile dey count sessions, and most sessions for that name’s window dey quieter than the latest one. Rank dey measure distance from the extremes, and that 52-week high still dey above the latest reading. Same data, two answers.

None of the two numbers na the correct one. Rank answers how close the latest reading dey to the extremes. Percentile answers how unusual e be compared with the typical session.

Wetin high IV rank really look like

QueryThe top-ranked name implied volatility by week, with im 52-week high and low
53 rows (showing 20)
weekiv pctiv 52w high pctiv 52w low pct
2025-10-133754.527.9
2025-10-2033.454.527.9
2025-10-273454.527.9
2025-11-0333.254.527.9
2025-11-1030.854.527.9
2025-11-1733.554.527.9
2025-11-2432.754.527.9
2025-12-013254.527.9
2025-12-0832.854.527.9
2025-12-1532.654.527.9
2025-12-2230.454.527.9
2025-12-2933.254.527.9
2026-01-0535.854.527.9
2026-01-1235.654.527.9
2026-01-1935.554.527.9
2026-01-2636.354.527.9
2026-02-0236.654.527.9
2026-02-0936.854.527.9
2026-02-1638.254.527.9
2026-02-2338.154.527.9
The exact SQL behind every number
WITH per_session AS (
    SELECT underlying_symbol AS u,
           date AS d,
           quantileExact(0.5)(implied_volatility) AS iv,
           sum(volume) AS vol
    FROM global_markets.options_greeks
    WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
      AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
      AND abs(strike_price / underlying_close - 1) <= 0.05
      AND expiration_date BETWEEN date + 20 AND date + 60
      AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
    GROUP BY u, d
    HAVING count() >= 10
),
ranked AS (
    SELECT u, d, iv, vol,
           row_number() OVER w AS rn,
           first_value(iv) OVER w AS iv_latest,
           first_value(d) OVER w AS d_latest
    FROM per_session
    WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
    SELECT u,
           any(iv_latest) AS iv_cur,
           any(d_latest) AS last_d,
           count() AS sessions,
           min(iv) AS iv_lo,
           max(iv) AS iv_hi,
           sumIf(vol, rn <= 20) AS vol_20d
    FROM ranked
    WHERE rn <= 252
    GROUP BY u
),
leader AS (
    SELECT u, iv_lo, iv_hi
    FROM agg
    WHERE sessions >= 200
      AND vol_20d >= 20000
      AND iv_hi > iv_lo
      AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
    ORDER BY round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) DESC, vol_20d DESC, u
    LIMIT 1
)
SELECT toString(toMonday(r.d)) AS week,
       round(100 * quantileExact(0.5)(r.iv), 1) AS iv_pct,
       round(100 * any(l.iv_hi), 1) AS iv_52w_high_pct,
       round(100 * any(l.iv_lo), 1) AS iv_52w_low_pct
FROM ranked AS r
INNER JOIN leader AS l ON r.u = l.u
WHERE r.rn <= 252
GROUP BY week
HAVING uniqExact(r.d) >= 3
    OR max(r.d) = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY week
Run am yourself

Na the weekly movement of VLO, the board top name, with its 52-week high and low drawn as flat reference lines. Each point for that week na the median of the daily readings, so the line naturally dey inside the daily high-low band instead of touching either reference line. The measurement start the window at 37% and close the week with the latest session at 52.1%, against ceiling of 54.5% and floor of 27.9%. The one session wey the rank score na the daily reading of 54.5% for the board above. IV rank na this picture, nothing more: the latest reading placed against the edges of its own band, wherever that band dey.

The shape matter as much as the score. Name wey rise for months and name wey gap to the same level within one week fit print the same rank. For wetin high reading usually dey do after scheduled event, see IV crush wey dem measure on real earnings.

Where whole market dey sit for IV rank

QueryHow the screened universe dey spread across IV rank, latest session
iv rank bucketnamesnames cumulativemedian iv pctmedian gap to top pctlowest iv pcthighest iv pct
90-1004452.2033.754.5
80-9091348.4-3.822.898
70-80243747.7-4.519.9112.4
60-70256244.5-7.78.6117.7
50-60299152.40.215.180.5
40-504513639.9-12.39120.1
30-403417048.4-3.813104.3
20-303920940.9-11.36.592.7
10-202723639.8-12.412.581
0-10524138.3-13.934.756.5
The exact SQL behind every number
WITH per_session AS (
    SELECT underlying_symbol AS u,
           date AS d,
           quantileExact(0.5)(implied_volatility) AS iv,
           sum(volume) AS vol
    FROM global_markets.options_greeks
    WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
      AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
      AND abs(strike_price / underlying_close - 1) <= 0.05
      AND expiration_date BETWEEN date + 20 AND date + 60
      AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
    GROUP BY u, d
    HAVING count() >= 10
),
ranked AS (
    SELECT u, d, iv, vol,
           row_number() OVER w AS rn,
           first_value(iv) OVER w AS iv_latest,
           first_value(d) OVER w AS d_latest
    FROM per_session
    WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
    SELECT u,
           any(iv_latest) AS iv_cur,
           any(d_latest) AS last_d,
           count() AS sessions,
           min(iv) AS iv_lo,
           max(iv) AS iv_hi,
           sumIf(vol, rn <= 20) AS vol_20d
    FROM ranked
    WHERE rn <= 252
    GROUP BY u
),
screened AS (
    SELECT least(intDiv(toUInt16(floor(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo))), 10), 9) AS b,
           100 * iv_cur AS iv_now_pct
    FROM agg
    WHERE sessions >= 200
      AND vol_20d >= 20000
      AND iv_hi > iv_lo
      AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
),
buckets AS (
    SELECT b,
           count() AS names,
           round(quantileExact(0.5)(iv_now_pct), 1) AS median_iv_pct,
           round(min(iv_now_pct), 1) AS lowest_iv_pct,
           round(max(iv_now_pct), 1) AS highest_iv_pct
    FROM screened
    GROUP BY b
)
SELECT concat(toString(b * 10), '-', toString(b * 10 + 10)) AS iv_rank_bucket,
       names,
       sum(names) OVER (ORDER BY b DESC) AS names_cumulative,
       median_iv_pct,
       round(median_iv_pct - first_value(median_iv_pct) OVER (ORDER BY b DESC), 1) AS median_gap_to_top_pct,
       lowest_iv_pct,
       highest_iv_pct
FROM buckets
ORDER BY b DESC
Run am yourself

241 names clear the liquidity and history requirements for this session. When dem group am into rank deciles, 4 of dem dey inside 90-100 band, while 5 dey inside 0-10 band for the other end. Median current implied volatility na 52.2% for the top band, compared with 38.3% for 0-10 band at the bottom. The gap column measure every band against the median for the top band.

The two columns no dey move together. Rank place each name against its own 52-week range. So, group of names with low rank fit still get higher median IV level than the top band. Bands wey get only small number of names fit also get noisy medians. Read the gap column as comparison of levels, no be ranking of volatility.

Distribution na the context wey one reading need. Rank wey sound high no mean much by itself until you know how many other names dey carry am at the same time.

IV rank for the names wey most people dey follow

QueryIV rank and IV percentile for twelve widely held tickers, latest session
tickeriv now pctiv rankiv percentileiv 52w low pctiv 52w high pctsession date
COIN72.352.372.249.193.52026-10-15
AMD60.246.160.728.996.92026-10-15
META43.545.484.922.668.62026-10-15
QQQ20.445.340.913.3292026-10-15
PLTR62.32983.742.1112.12026-10-15
MSTR70.125.638.150.2127.62026-10-15
TSLA45.225.642.53769.42026-10-15
MSFT31.624.569.820.565.82026-10-15
NVDA36.822.523.829.661.72026-10-15
AAPL272164.319.355.92026-10-15
SPY13.720.32510.625.92026-10-15
AMZN39.419.871.824.699.42026-10-15
The exact SQL behind every number
WITH per_session AS (
    SELECT underlying_symbol AS u,
           date AS d,
           quantileExact(0.5)(implied_volatility) AS iv
    FROM global_markets.options_greeks
    WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
      AND underlying_symbol IN ('SPY','QQQ','AAPL','MSFT','AMZN','META','NVDA','AMD','TSLA','COIN','MSTR','PLTR')
      AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
      AND abs(strike_price / underlying_close - 1) <= 0.05
      AND expiration_date BETWEEN date + 20 AND date + 60
    GROUP BY u, d
    HAVING count() >= 10
),
ranked AS (
    SELECT u, d, iv,
           row_number() OVER w AS rn,
           first_value(iv) OVER w AS iv_latest,
           first_value(d) OVER w AS d_latest
    FROM per_session
    WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
    SELECT u,
           any(iv_latest) AS iv_cur,
           any(d_latest) AS last_d,
           count() AS sessions,
           min(iv) AS iv_lo,
           max(iv) AS iv_hi,
           countIf(iv < iv_latest) AS below_now
    FROM ranked
    WHERE rn <= 252
    GROUP BY u
)
SELECT u AS ticker,
       round(100 * iv_cur, 1) AS iv_now_pct,
       round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
       round(100 * below_now / sessions, 1) AS iv_percentile,
       round(100 * iv_lo, 1) AS iv_52w_low_pct,
       round(100 * iv_hi, 1) AS iv_52w_high_pct,
       toString(last_d) AS session_date
FROM agg
WHERE sessions >= 200
  AND iv_hi > iv_lo
  AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY iv_rank DESC, ticker
Run am yourself

Na the same measurement for twelve tickers wey many people hold. COIN get the highest IV rank for the group at 52.3, based on current implied volatility of 72.3%. AMZN dey the other end of the list, with rank of 19.8 and implied volatility of 39.4%. Notice how rank and percentile columns fit dey far apart inside one row. Na the same range-versus-count arithmetic wey divergence panel dey measure.

Each of these names get im own IV page: NVDA implied volatility, TSLA implied volatility, AAPL implied volatility, and AMD implied volatility. Each page get full session history and term structure. To understand the idea behind every score for this page, start with wetin implied volatility mean.

How dem dey measure am

Every number for here come from one source: the daily options greeks file. E get one stored row for each contract for each session, and e cover US-listed equity and ETF options.

  • One IV for each name for each session. Na the median implied volatility of that name’s near-the-money contracts. This mean strikes wey dey within 5% of the closing stock price and wey expire between 20 and 60 calendar days. Dem use median instead of average so one contract wey get wrong price no fit shift the reading.
  • Session only count when at least 10 contracts pass those filters. Dem drop thin sessions instead of publishing dem.
  • Only converged solves. Dem solve implied volatility from the option price, and the file show whether the solve converge. Dem exclude rows wey no converge, plus readings below 2% or above 500%. When solve no converge, na numerical failure be that, no be market price.
  • The window na the last 252 sessions available for that name inside 380-calendar-day lookback. Name need at least 200 measured sessions before e fit show anywhere for this page.
  • IV rank na (current minus window minimum) divide by (window maximum minus window minimum), then multiply by 100. IV percentile na the number of window sessions wey get implied volatility strictly below the current session own, divide by the total number of sessions.
  • Liquidity floor. Name must trade at least 20,000 option contracts across the last 20 measured sessions before e enter the screened universe. The household-name panel dey apply the session floor, history floor and the same latest-session filter, but e no apply volume floor because dem name the twelve tickers directly instead of screening dem.
  • Dem exclude leveraged, inverse and volatility-futures funds from the screen through explicit list. Fund wey dey built to move three times its index go carry three times the implied volatility by design, and e fit push real single names out. Products wey hold VIX futures instead of shares dey the same list because their implied volatility dey describe futures curve, no be company.
  • The weekly path panel dey plot medians, no be single sessions. Each point na the median of that week’s daily readings for the top-ranked name. Na why the plotted line must stay inside the daily high and low band. Dem drop weeks wey get fewer than three measured sessions, except the week wey contain the latest session. That one always dey plot, even if na only one day.
  • Wetin the file no contain. Same-day-expiry (0DTE) contracts and cash-settled index options no dey inside this dataset, so 0DTE volatility spike no go enter these numbers. SPY and QQQ dey appear as ordinary ETFs. The warehouse no get open interest field anywhere, so every liquidity threshold above na traded contract volume, no be open interest.
  • The date stamp na the actual session. The greeks file dey settle a few sessions after the equity tape, so each board carry the date of the session wey e use. Every row for every board come from that one session. The weekly path panel na the deliberate exception: e dey draw one year of history behind the top-ranked name. These no be live quotes.

FAQ

IV rank na wetin?

IV rank dey show where a stock current implied volatility dey inside im own 52-week range. E dey range from 0 for the low reach 100 for the high. Formula na current IV minus 52-week low, divide by 52-week high minus the low. E dey compare one name with im own history, no be with other stocks. Na why two names wey get very different volatility fit still get the same rank.

Which IV rank good for selling options?

No rank dey make selling automatically correct, and this page no dey give any. High rank mean say option premiums dey near the highest level wey that name charge for the past year. Low rank mean say dem dey near the bottom. Sellers generally prefer high readings, while buyers prefer low ones. But both sides still carry the risk say the stock move fit differ from the move wey the price don already reflect.

IV rank and IV percentile, wetin be the difference?

IV rank dey use only today implied volatility plus the two extremes of the 52-week range. IV percentile dey count how many of the last 252 sessions close below today reading. One extreme session fit stretch the range and pull rank down, while e barely move percentile. Then both measures fit disagree by tens of points for the same name, as the panel above dey show.

Where I fit check IV rank free?

This page na free IV rank checker. E dey refresh according to schedule against the full US options tape, and e dey publish the exact SQL behind every cell. Individual names get standing pages. The volatility skew page explain how implied volatility dey vary across strikes for one expiry.


Every panel here dey store im own query. Open one to audit the measurement from start to finish, or run the same IV rank screen across any window and any universe for the Strasmore terminal.

#options#implied volatility#iv rank#volatility#market data