Strasmore Research
Learn Matt ConnorBy Matt Connor · data as of September 25, 2026 · refreshed weekly

Stocks With the Highest Option Premiums

Which stocks have the highest option premiums? A dollar ranking is a share price ranking. Rank by percent of strike instead, with the liquidity filters.

Stocks with the highest option premiums are, in dollar terms, almost always just the stocks with the highest share prices. A $600 stock and a $30 stock at identical implied volatility quote very different dollar amounts for the same 30 day call, so a ranking in dollars sorts by share price and says nothing about which options are richly priced. The measure that compares them fairly is premium as a percent of strike at a fixed tenor, and the rule of 16 gets you close to it from an implied volatility number alone.

Why a dollar premium ranking is a share price ranking

An option premium is the price of the contract itself. Quotes are per share, and one standard US equity option covers 100 shares, so a call quoted at $4.20 changes hands for $420. That per share quote scales with the price of whatever the option is written on. Hold implied volatility constant (the market's annualized estimate of how much the underlying will move) along with the time left to expiry, double the share price, and the dollar premium roughly doubles with it.

The first panel ranks liquid US underlyings by exactly that dollar figure. It keeps calls with 25 to 35 days left, a fixed tenor so no name wins on time alone, struck within 2.5% of the underlying price, with a converged volatility solution and real volume behind the bucket.

QueryNear the money 30 day calls ranked by dollar premium
symbolunderlying_pricecall_premium_usdpremium_pct_of_strikeasof_pretty
META73445.216.16Sep 23, 2026
TSLA380.1320.055.28Sep 23, 2026
QQQ740.817.112.32Sep 23, 2026
MSFT500.3116.193.25Sep 23, 2026
SPY767.3213.461.77Sep 23, 2026
GOOGL339.05123.54Sep 23, 2026
PLTR191.111.185.86Sep 23, 2026
AAPL336.869.192.74Sep 23, 2026
NVDA225.078.743.9Sep 23, 2026
SLV58.072.464.24Sep 23, 2026
DVN48.192.314.83Sep 23, 2026
BAC56.141.833.29Sep 23, 2026
The exact SQL behind every number
SELECT
    underlying_symbol                                                       AS symbol,
    round(toFloat64(any(underlying_close)), 2)                              AS underlying_price,
    round(avg(toFloat64(option_close)), 2)                                  AS call_premium_usd,
    round(100 * avg(toFloat64(option_close) / toFloat64(strike_price)), 2)  AS premium_pct_of_strike,
    formatDateTime(max(date), '%b %e, %Y')                                  AS asof_pretty
FROM global_markets.options_greeks
WHERE date = (SELECT max(date) FROM global_markets.options_greeks WHERE date >= today() - 30)
  AND option_type IN ('call', 'C')
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 25 AND 35
  AND toFloat64(underlying_close) >= 5
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.025
  AND underlying_symbol NOT IN ('SPCX')
GROUP BY underlying_symbol
HAVING sum(volume) >= 1000 AND count() >= 3
ORDER BY call_premium_usd DESC
LIMIT 12
Run this yourself

As of Sep 23, 2026, the top row quotes $45.21 per share against an underlying trading at $734. The last of the twelve quotes $1.83 per share at $56.14. Now read the third column. The leader pays 6.16% of its strike. Sorting by dollars puts the priciest underlyings on top and leaves the percent of strike column to land wherever it lands, which is why this ranking is the wrong tool for the question almost everyone is actually asking.

Premium as a percent of strike, the number that compares

Divide the premium by the strike price and multiply by 100 and you get a figure that travels across share prices. A $4.20 call struck at $100 and a $25.20 call struck at $600 both read 4.2% of strike. For a covered call writer, someone who sells a call against 100 shares they already own, that percentage is the gross yield on the position over the life of the option, before assignment and before fees. The full arithmetic, including what happens when the stock finishes above the strike, sits in how to calculate covered call returns.

Same universe, same tenor, same day. One different sort:

QueryThe same calls ranked by premium as a percent of strike
symbolpremium_pct_of_strikeiv_pctunderlying_price
META6.1652.8734
PLTR5.8649.8191.1
TSLA5.2844.4380.13
DVN4.8338.348.19
SLV4.2436.658.07
NVDA3.931.8225.07
GOOGL3.5430.4339.05
BAC3.2925.556.14
MSFT3.2526.1500.31
AAPL2.7422.5336.86
QQQ2.3218.1740.8
XLF1.8416.754.66
The exact SQL behind every number
SELECT
    underlying_symbol                                                       AS symbol,
    round(100 * avg(toFloat64(option_close) / toFloat64(strike_price)), 2)  AS premium_pct_of_strike,
    round(100 * avg(implied_volatility), 1)                                 AS iv_pct,
    round(toFloat64(any(underlying_close)), 2)                              AS underlying_price
FROM global_markets.options_greeks
WHERE date = (SELECT max(date) FROM global_markets.options_greeks WHERE date >= today() - 30)
  AND option_type IN ('call', 'C')
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 25 AND 35
  AND toFloat64(underlying_close) >= 5
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.025
  AND underlying_symbol NOT IN ('SPCX')
GROUP BY underlying_symbol
HAVING sum(volume) >= 1000 AND count() >= 3
ORDER BY premium_pct_of_strike DESC
LIMIT 12
Run this yourself

The top of this ranking pays 6.16% of strike on an underlying trading at $734, with implied volatility at 52.8%. Against that, the dollar leader from the panel above pays 6.16% of strike. Compare the two symbol columns and the lists reshuffle: high priced shares dominate one, high volatility names dominate the other, and 12 rows is enough to see it. If you want to run this cut yourself with your own tenor and moneyness window, the covered call screener post has the query in full.

The rule of 16: from an IV number to a premium

Implied volatility is quoted as an annualized percentage. There are about 252 trading days in a year, and the square root of 252 is just under 16, so dividing an annual IV by 16 gives the one standard deviation move the market is pricing for a single session. An IV of 32% implies a daily move of roughly 2%. That is the rule of 16.

The same square root handles longer windows. A move over any horizon scales with the square root of the fraction of a year it covers, and an at the money option costs roughly 0.4 times IV times that square root, expressed as a share of the strike. Take a hypothetical name at 32% IV with 30 days to run: the square root of 30/365 is about 0.287, and 0.4 x 0.32 x 0.287 works out near 3.7% of strike. That one line converts any IV number into a premium estimate without a pricing model.

The panel below checks the shortcut against real quotes across tenor buckets.

QueryPremium as a percent of strike by tenor, against the square root of time estimate
dte_bucketpremium_pct_of_strikesqrt_time_estimate_pct
07-14d2.652.6
15-30d4.374.29
31-60d6.856.64
61-120d9.438.99
121-365d14.2913.36
The exact SQL behind every number
SELECT
    multiIf(days_to_expiry <= 14, '07-14d',
            days_to_expiry <= 30, '15-30d',
            days_to_expiry <= 60, '31-60d',
            days_to_expiry <= 120, '61-120d',
            '121-365d')                                                        AS dte_bucket,
    round(100 * avg(toFloat64(option_close) / toFloat64(strike_price)), 2)     AS premium_pct_of_strike,
    round(100 * avg(0.4 * implied_volatility * sqrt(days_to_expiry / 365)), 2) AS sqrt_time_estimate_pct
FROM global_markets.options_greeks
WHERE date = (SELECT max(date) FROM global_markets.options_greeks WHERE date >= today() - 30)
  AND option_type IN ('call', 'C')
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 7 AND 365
  AND toFloat64(underlying_close) >= 5
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
  AND underlying_symbol NOT IN ('SPCX')
GROUP BY dte_bucket
ORDER BY min(days_to_expiry)
Run this yourself

In the 07-14d bucket the average near the money call costs 2.65% of strike, against a shortcut estimate of 2.6%. Out at 121-365d the same calls cost 14.29% against an estimate of 13.36%. The shape of that curve is the lesson. Premium does not double when the tenor doubles, it grows with the square root of time, which is why a year of monthly calls collects several times what a single twelve month call collects at the same volatility, with a fresh assignment decision every month.

Two filters that decide whether the premium is collectable

A quoted premium is not a collected premium. Two filters close most of the gap between them.

The first is the bid ask spread, the distance between the best price a buyer will pay and the best price a seller will take. A call quoted 1.00 bid and 1.20 ask has a midpoint of 1.10. Sell at the bid and you collect 1.00, giving up about 9% of the mid on the way in. On a contract quoted 1.05 bid and 1.07 ask, that friction runs under 2%. Wide markets cluster exactly where percent of strike premiums are fattest, and liquid versus volatile options walks through why the two traits keep showing up together.

The second is open interest, the number of contracts still outstanding on a given strike and expiry. Low open interest means few resting orders to trade against and a wider market when you want out early. The panel below uses contracts traded on the day, a related but distinct measure, and it runs the same percent of strike ranking after dropping the liquidity floor from 1,000 contracts to 100.

QueryPercent of strike leaders at a 100 contract floor, with the flow behind them
symbolpremium_pct_of_strikecontract_volume
SOXL12.78112
MRNA9.84309
CRWV9.23653
BE8.81312
BMNR8.72153
ARM8.52204
SNDK8.49453
WDC8.4128
RKLB8.08182
ACMR7.98138
HOOD7.97248
MRVL7.69125
The exact SQL behind every number
SELECT
    underlying_symbol                                                       AS symbol,
    round(100 * avg(toFloat64(option_close) / toFloat64(strike_price)), 2)  AS premium_pct_of_strike,
    toUInt64(sum(volume))                                                   AS contract_volume
FROM global_markets.options_greeks
WHERE date = (SELECT max(date) FROM global_markets.options_greeks WHERE date >= today() - 30)
  AND option_type IN ('call', 'C')
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 25 AND 35
  AND toFloat64(underlying_close) >= 5
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.025
  AND underlying_symbol NOT IN ('SPCX')
GROUP BY underlying_symbol
HAVING sum(volume) >= 100 AND count() >= 3
ORDER BY premium_pct_of_strike DESC
LIMIT 12
Run this yourself

With the floor at 100 contracts the ranking tops out at 12.78% of strike, against 6.16% on the liquid screen. The volume series underneath shows what you would be trading into: 112 contracts across the entire near the money bucket at the top of the list, compared with 125 at the bottom of it. A percent of strike figure with no flow behind it describes a quote, not a fill.

How this screen reads next to IV and IV rank

A percent of strike screen answers what an option pays right now. An implied volatility screen answers how much movement is priced into a name relative to every other name, which is the cut in the highest implied volatility stocks. IV rank answers a third question: where a name's current IV sits inside its own trailing year, which separates a stock that is always volatile from one that only just became volatile. That distinction lives in the IV rank screen. Run together the three read as one workflow rather than three versions of the same page.

Data notes and filters

Every panel prices from the most recent daily option record available, with contracts kept only where the implied volatility solution converged and where the contract actually traded that day. Near the money means a strike within 2.5% of the underlying close (2% for the tenor curve). The fixed tenor screens use 25 to 35 calendar days to expiry. Contract volume is contracts traded on the day and is not the same thing as open interest, which counts positions still outstanding. Averages are taken across the qualifying strikes for each underlying, so a symbol with several near the money lines is represented by the average of them rather than a single contract.

FAQ

Which stocks have the highest option premiums?

In dollars, the highest option premiums sit on the highest priced underlyings, since premium is quoted per share and one contract covers 100 of them. Ranked as a percent of strike at a fixed tenor, the leaders are the highest implied volatility names instead, and the panels on this page list both cuts from current data.

How do I compare option premiums between a $600 stock and a $30 stock?

Divide the premium by the strike price and hold the tenor fixed. A $25.20 call struck at $600 and a $4.20 call struck at $100 both cost 4.2% of strike, so they are priced at comparable volatility even though the dollar amounts differ by six times.

What is the rule of 16?

Implied volatility is annualized, and the square root of the roughly 252 trading days in a year is close to 16. Dividing an annual IV by 16 gives the one day move the market is pricing, so 32% IV implies about a 2% daily move.

Does a high option premium mean the option is overpriced?

No. A high premium as a percent of strike means high implied volatility, which is a forecast of movement, not a verdict on value. Whether the price turns out generous depends on how much the underlying actually moves before expiry, which nobody knows in advance.

Why is the premium I collect smaller than the one on the screen?

Screens usually quote a midpoint or a closing price, while a seller trades at the bid. On a contract quoted 1.00 bid and 1.20 ask, selling at the bid gives up about 9% of the mid before any fees, and thin open interest widens that gap further.


Every panel above carries the SQL that produced it. Open one, change the tenor, the moneyness window or the liquidity floor, and run the screen on your own terms on the Strasmore terminal.