Strasmore Research
Learn am Matt ConnorBy Matt Connor · Updated 2026-08-21

High Implied Volatility Good? IV Meaning

High implied volatility no be good or bad by itself. See wetin 80% IV mean against market range, stock history, and realized moves for July 28, 2026.

Implied volatility (IV) na the annualized move wey option price dey imply for the stock underneath am. High reading no mean say the thing good or bad by itself. Na price be that, and price only get meaning when you compare am with something: the rest of the options market and the name’s own history. This page dey use the readings wey people dey search for — 80%, 30% and 20% — and measure each one against those benchmarks for one fixed session, July 28, 2026.

80% implied volatility high na?

Compared with the options market wey trade for one session, 80% dey among the top fifth of names, but e still dey far from the ceiling. The panel below arrange every screened US underlying wey get liquid near-the-money chain into volatility bands.

QueryWhere near-the-money implied volatility dey sit across the traded options market (July 28, 2026)
iv bandunderlyingsshare pctshare at or above pct
under 20%297.4100
20 to 30%7017.992.6
30 to 40%7619.474.7
40 to 60%8922.755.4
60 to 80%5313.532.7
80% and up7519.119.1
The exact SQL behind every number
WITH per_name AS (
    SELECT underlying_symbol AS u,
           100 * quantileExact(0.5)(implied_volatility) AS iv_pct
    FROM global_markets.options_greeks
    WHERE date = '2026-07-28'
      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 != 'SPCX'
    GROUP BY u
    HAVING sum(volume) >= 500 AND count() >= 10
),
banded AS (
    SELECT multiIf(iv_pct < 20, 'under 20%', iv_pct < 30, '20 to 30%', iv_pct < 40, '30 to 40%',
                   iv_pct < 60, '40 to 60%', iv_pct < 80, '60 to 80%', '80% and up') AS iv_band,
           min(iv_pct) AS lo,
           count() AS underlyings
    FROM per_name
    GROUP BY iv_band
)
SELECT iv_band,
       underlyings,
       round(100 * underlyings / (SELECT count() FROM per_name), 1) AS share_pct,
       round(100 * sum(underlyings) OVER (ORDER BY lo DESC) / (SELECT count() FROM per_name), 1) AS share_at_or_above_pct
FROM banded
ORDER BY lo
Run am yourself

Among the underlyings wey dem screen, 19.1% get near-the-money implied volatility of 80% or higher. Total number of names na 75. The widest band, 40 to 60%, contain 22.7% of the list. Only 7.4% of names print below 20%, and dem make up 29.

Two things dey clear from this pattern. Quote of 80% no common, but e no be something strange. E represent roughly one out of every five names for this screen. Quote of 20% — the kind wey fit look normal to person wey dey used to stock charts — rarer for the traded options tape than 80% quote. The screen cover underlyings wey get actively traded chain. This one push the distribution upward because quiet stocks get quiet options volume and dem no enter the count. Reading of 30%, another common search, dey inside 30 to 40% band together with 19.4% of the list. E dey near the middle of the traded universe.

This one answer the market-wide question. But e leave the question wey trader normally dey ask: whether 80% high for this stock.

The same IV number no be the same for two tickers

If session remain the same but ticker change, the number fit move across wide range of familiar names.

QueryAt-the-money implied volatility for eleven familiar tickers (July 28, 2026)
symbolatm iv pct
MSTR80.2
COIN78.9
PLTR67.8
TSLA47.3
NVDA43.9
MSFT43.3
AAPL29.3
QQQ26
JNJ24
KO20.9
SPY15.3
The exact SQL behind every number
SELECT underlying_symbol AS symbol,
       round(100 * quantileExact(0.5)(implied_volatility), 1) AS atm_iv_pct
FROM global_markets.options_greeks
WHERE date = '2026-07-28'
  AND underlying_symbol IN ('KO','JNJ','SPY','QQQ','AAPL','MSFT','NVDA','TSLA','PLTR','COIN','MSTR')
  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 symbol
ORDER BY atm_iv_pct DESC
Run am yourself

MSTR print 80.2%, while SPY print 15.3%. The gap pass four times across one screen of household tickers. Broad index fund dey combine the individual moves of all its members. So, the options price a much narrower distribution than any single member chain. the implied volatility explainer explain the mechanics fully.

The practical result be say person no fit judge bare IV number by itself. A 40% quote fit be normal Tuesday for one of these tickers, but extreme for another. To judge am properly, you need reference range. The natural range na the ticker's own range.

IV rank dey show where the reading dey inside the stock own range

IV rank dey score where today implied volatility dey between the lowest and highest readings for the past 52 weeks: 0 for the bottom of the range, 100 for the top. You calculate am by taking current IV minus the 52-week low, then divide am by the 52-week high minus the low. IV percentile dey answer the same question by counting instead: na the share of sessions inside the period wey close below today reading.

QueryThe same reading against each name own 52-week implied volatility range (July 28, 2026)
tickeriv now pctiv 52w low pctiv 52w high pctiv rank
QQQ2613.32980.7
PLTR67.842.176.774.4
COIN78.937.293.574.1
KO20.912.524.768.7
MSFT43.38.960.466.8
JNJ2411.333.457.7
AAPL29.319.336.757.4
MSTR80.250.2127.638.8
NVDA43.932.761.738.5
TSLA47.33769.431.9
SPY15.311.625.925.7
The exact SQL behind every number
WITH per_session AS (
    SELECT underlying_symbol AS u,
           date AS d,
           100 * quantileExact(0.5)(implied_volatility) AS iv_pct
    FROM global_markets.options_greeks
    WHERE date BETWEEN '2025-07-28' AND '2026-07-28'
      AND underlying_symbol IN ('KO','JNJ','SPY','QQQ','AAPL','MSFT','NVDA','TSLA','PLTR','COIN','MSTR')
      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
)
SELECT u AS ticker,
       round(anyIf(iv_pct, d = '2026-07-28'), 1) AS iv_now_pct,
       round(min(iv_pct), 1) AS iv_52w_low_pct,
       round(max(iv_pct), 1) AS iv_52w_high_pct,
       round(100 * (anyIf(iv_pct, d = '2026-07-28') - min(iv_pct)) / (max(iv_pct) - min(iv_pct)), 1) AS iv_rank
FROM per_session
GROUP BY ticker
HAVING countIf(d = '2026-07-28') = 1 AND count() >= 200
ORDER BY iv_rank DESC
Run am yourself

Read the two rows for that panel together. MSTR get the highest implied volatility for the stocks wey screen show, at 80.2%. Its IV rank come to 38.8, below the midpoint of its own 52-week range, wey run from 50.2% to 127.6%. KO dey at 20.9%, roughly one-quarter of that level, with IV rank of 68.7.

When you compare each stock with itself, the calm consumer name get pricing for more movement than the volatile one. Na this be the point of IV rank when you dey look at one pair of rows. The absolute number compare the stock with the market. The rank compare the stock with its own past year. The live version of this screen across the full market na stocks board with the highest IV rank, while the version based on absolute levels na stocks board with the highest implied volatility.

One thing to note about the rank calculation. If one very volatile session happen inside the 52 weeks, e set a ceiling wey range-based rank no dey forget. Any stock wey get that kind session inside its window fit continue to score low for months. IV percentile treat that session as just one reading among 252. The two numbers dey differ most for stocks wey get one spike inside an otherwise quiet year.

Implied volatility versus realized volatility

The last comparison na the most direct one: wetin the options market price, beside wetin the stock actually do. Realized volatility dey annualize the standard deviation of a stock daily returns over a past period. For here, e cover the 30 trading sessions wey end July 28, 2026, together with the implied volatility wey dem quote on that date.

QueryImplied volatility beside the movement wey each stock actually deliver for the previous 30 sessions
tickerimplied vol pctrealized vol 30d pctiv minus realized
COIN78.963.815
PLTR67.858.69.2
MSFT43.334.19.2
NVDA43.938.85
SPY15.312.42.9
QQQ2625.40.5
AAPL29.332.4-3.1
JNJ2429.1-5
MSTR80.286.3-6.1
KO20.928.4-7.5
TSLA47.367.7-20.4
The exact SQL behind every number
WITH daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(close, window_start) AS px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('KO','JNJ','SPY','QQQ','AAPL','MSFT','NVDA','TSLA','PLTR','COIN','MSTR')
      AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2026-05-20') AND toDate('2026-07-28')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, d
),
rets AS (
    SELECT ticker, d,
           log(px / any(px) OVER (PARTITION BY ticker ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)) AS r
    FROM daily
),
realized AS (
    SELECT ticker, 100 * stddevSamp(r) * sqrt(252) AS rv
    FROM rets
    WHERE r IS NOT NULL AND d > toDate('2026-06-12')
    GROUP BY ticker
    HAVING count() >= 20
),
implied AS (
    SELECT underlying_symbol AS ticker,
           100 * quantileExact(0.5)(implied_volatility) AS iv
    FROM global_markets.options_greeks
    WHERE date = '2026-07-28'
      AND underlying_symbol IN ('KO','JNJ','SPY','QQQ','AAPL','MSFT','NVDA','TSLA','PLTR','COIN','MSTR')
      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 ticker
)
SELECT implied.ticker AS ticker,
       round(implied.iv, 1) AS implied_vol_pct,
       round(realized.rv, 1) AS realized_vol_30d_pct,
       round(implied.iv - realized.rv, 1) AS iv_minus_realized
FROM implied INNER JOIN realized ON implied.ticker = realized.ticker
ORDER BY iv_minus_realized DESC
Run am yourself

The spread move from 15 points on COIN reach -20.4 points on TSLA. Options price pass the trailing realized movement for part of the list, and price below am for the rest. Na the normal outcome for this measurement, no be anomaly.

The row wey deserve extra attention na MSTR. Its implied volatility of 80.2% na the highest absolute reading for the panel, and the stock don deliver 86.3% for the previous 30 sessions. An 80% quote for stock wey dey move at that speed no be the same thing as an 80% quote for stock wey just dey move sideways. Implied volatility dey look forward across the option remaining life, while realized volatility dey look backward across fixed window. The two no must agree.

Wetin high reading dey change for contract level

High implied volatility dey raise the premium for every strike wey dey inside the chain. Buyer go pay more for the same contract; seller go collect more for writing am. Both sides dey read those numbers from the chain itself. For every row, implied volatility figure dey beside bid, ask and volume, as this column-by-column walkthrough dey show. Vega dey measure this sensitivity: na the dollar change for option price when implied volatility move one point. As example, if contract get vega of 0.10, e fit gain about $10 per contract when IV rise one point, and e fit give back about the same amount when IV fall one point. This vega page explain how to size am.

Scheduled events dey cause many high readings. Implied volatility dey rise as earnings date dey near, then e dey drop sharply once the result come out. This pattern na IV crush. Buyer wey hold the contract through that drop fit see position value fall even when the stock move for the direction wey dem expect. Na because the volatility premium wey buyer pay for the event don already expire. High reading no automatically mean say the setup good or bad. E mean say the reading na cost for one side of the contract and receipt for the other side.

FAQ

80% implied volatility dey high?

For US underlyings wey get actively traded option chains on July 28, 2026, 19.1% carry near-the-money implied volatility of 80% or more. Na high absolute reading, and e common for the traded tape. Whether e high for particular stock depend on that name own 52-week range, na wetin IV rank dey measure.

30% IV dey high?

For the same session, 30% reading enter 30 to 40% band, wey hold 19.4% of the names wey screening cover. E near the middle of the distribution. For broad index fund, that same 30% go dey near the top of normal year. For single stock wey get high volatility, e go dey near the bottom.

Wetin 20% implied volatility mean?

E mean say options market dey price annualized move of about 20% for the underlying. As rough estimate, that one convert to around 2.8% for one month (20 divided by the square root of 12). Only 7.4% of the underlyings wey screening cover print below 20% on July 28, 2026.

High implied volatility good or bad?

Neither one by itself. Na the price of optionality. E affect each side of the contract differently: e cost buyer more, give seller richer premium, and create bigger dollar swings for both sides. The comparisons wey give the number meaning na the market-wide distribution, the name own 52-week range, and the movement wey the stock recently deliver.

Wetin be the difference between IV rank and IV percentile?

IV rank place today reading between the 52-week low and high. So, one extreme session fit set the ceiling for one year. IV percentile count the share of sessions inside that period wey close below today reading. That one give one spike the weight of one session. The two fit differ sharply for a name wey get one unusual week.


Every figure above na stored query from the options tape for July 28, 2026. You fit open the SQL under any panel, or run the same screens for Strasmore terminal.

#options#implied volatility#iv rank#volatility#vega