Strasmore Research
Learn Matt ConnorBy Matt Connor

Why Would Anyone Sell a Put Option?

Why would anyone sell a put option? The premium is payment for a real obligation. Where a high win rate hides a deep tail, and when selling is a bad idea.

Why would anyone sell a put option? The seller is paid cash up front, and that cash buys a real obligation: with the stock below the strike price at expiration, the seller buys 100 shares at that strike, whatever the market price has become. The premium is the entire motivation. A seller takes it either wanting the shares at that price anyway, or holding the view that the quoted premium is larger than the move the stock will actually deliver. Order mechanics live in buying and selling put options. What follows is the case for the trade, and the places it falls apart.

What is a put seller actually paid for?

A put is a contract giving its owner the right to sell 100 shares at a fixed price, the strike, up to a fixed date, the expiration. Buyers of puts want downside protection or a position in a decline. Every one of those contracts has a seller on the other side, collecting the premium for standing ready to buy the shares at the strike. The premium is the auction price of that obligation.

The ladder below pins one real chain: AAPL puts roughly a month from expiry, strikes in $5 steps from near the money down to about 15% below it, on one fixed past session so the figures never move.

QueryAAPL put premiums by strike, one pinned session about a month from expiry
strikeput_premiumabs_deltaiv_pctpremium_pct_of_spotpremium_per_contractcommitment_labelspot_labelsession_label
$2550.540.05330.18$54$25.5k$297.1Jun 17, 2026
$2600.670.0631.10.23$67$26k$297.1Jun 17, 2026
$2650.930.0829.80.31$93$26.5k$297.1Jun 17, 2026
$2701.20.1280.4$120$27k$297.1Jun 17, 2026
$2751.70.14270.57$170$27.5k$297.1Jun 17, 2026
$2802.310.1925.60.78$231$28k$297.1Jun 17, 2026
$2853.30.2524.71.11$330$28.5k$297.1Jun 17, 2026
$2904.850.3424.61.63$485$29k$297.1Jun 17, 2026
$2956.70.43242.26$670$29.5k$297.1Jun 17, 2026
The exact SQL behind every number
SELECT
    concat('$', toString(toUInt32(round(toFloat64(strike_price)))))                   AS strike,
    round(avg(toFloat64(option_close)), 2)                                            AS put_premium,
    round(avg(abs(delta)), 2)                                                         AS abs_delta,
    round(avg(implied_volatility) * 100, 1)                                           AS iv_pct,
    round(100 * avg(toFloat64(option_close)) / avg(toFloat64(underlying_close)), 2)    AS premium_pct_of_spot,
    concat('$', toString(toUInt32(round(avg(toFloat64(option_close)) * 100))))         AS premium_per_contract,
    concat('$', toString(round(toFloat64(strike_price) / 10, 1)), 'k')                 AS commitment_label,
    concat('$', toString(round(avg(toFloat64(underlying_close)), 2)))                  AS spot_label,
    formatDateTime(toDate('2026-06-17'), '%b %e, %Y')                                  AS session_label
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
  AND delta < 0
  AND date = '2026-06-17'
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 28 AND 35
  AND modulo(toFloat64(strike_price), 5) = 0
  AND toFloat64(strike_price) BETWEEN toFloat64(underlying_close) * 0.85
                                  AND toFloat64(underlying_close) * 1.005
GROUP BY strike_price
ORDER BY strike_price
Run this yourself

On Jun 17, 2026, with AAPL last trading at $297.1, the $295 strike put closed at $6.7 per share, or $670 for one contract of 100 shares. Read down the ladder and the pay shrinks with the cushion: the $255 strike paid $54, about 0.18% of the share price.

The abs_delta column prices that trade-off. Delta works here as the market's rough odds of the contract finishing in the money, and it reads 0.05 at the bottom strike against 0.43 at the top. A seller picking a row is picking how often the position will be right, and the premium column is what the market pays for each level of that choice.

The payoff: a capped gain against a deep loss

Written out, the shape is plain.

  • The best case is fixed. The stock holds above the strike, the contract expires worthless, the seller keeps the premium. There is nothing above that number.
  • Break-even sits at the strike minus the premium received.
  • Below break-even the loss grows dollar for dollar with the decline, stopping only at a share price of zero. It is bounded, and the bound is the whole strike value minus the premium.
  • The capital at stake is set by the strike, never by the premium.

Take the $295 line again. The seller receives $670 and accepts a commitment of $29.5k of stock. Maximum gain, the premium. Maximum loss, that commitment less the premium. A hundred to one between the two sides is ordinary here, which sets the bar: the win rate has to be high for the position to make sense at all.

Why a high win rate is not a positive expectation

A put struck well below the market expires worthless most of the time. That is a statement about how often, and on its own it says nothing about the size of the damage on the occasions it does not. The panel below measures that second half for AAPL, in overlapping 21-session windows, close to a trading month, from January 2021 forward.

QueryAAPL in 21-session windows since 2021: how often a cushion held, and the cost when it did not
strike_cushionexpired_worthless_pctavg_loss_when_itm_pctavg_loss_all_windows_pctworst_window_pctsample
2% below spot68.24.991.5922.21418 windows
5% below spot77.33.360.7619.21418 windows
10% below spot95.12.730.1314.21418 windows
15% below spot99.43.420.029.21418 windows
The exact SQL behind every number
SELECT
    concat(toString(cushion_pct), '% below spot')                                      AS strike_cushion,
    round(100 * countIf(move_pct > -1 * cushion_pct) / count(), 1)                     AS expired_worthless_pct,
    round(avgIf(-1 * (move_pct + cushion_pct), move_pct <= -1 * cushion_pct), 2)       AS avg_loss_when_itm_pct,
    round(avg(if(move_pct <= -1 * cushion_pct, -1 * (move_pct + cushion_pct), 0)), 2)  AS avg_loss_all_windows_pct,
    round(-1 * min(move_pct) - cushion_pct, 2)                                         AS worst_window_pct,
    concat(toString(count()), ' windows')                                              AS sample
FROM
(
    SELECT (end_px / start_px - 1) * 100 AS move_pct
    FROM
    (
        SELECT
            close_px                                                                                 AS start_px,
            leadInFrame(close_px, 21) OVER (ORDER BY date ROWS BETWEEN CURRENT ROW AND 21 FOLLOWING) AS end_px
        FROM
        (
            SELECT
                date,
                max(toFloat64(close)) AS close_px
            FROM global_markets.stocks_daily_aggs
            WHERE ticker = 'AAPL'
              AND date BETWEEN '2021-01-04' AND '2026-09-25'
            GROUP BY date
        ) AS daily
    ) AS shifted
    WHERE end_px > 0
) AS windows
CROSS JOIN
(
    SELECT arrayJoin([2, 5, 10, 15]) AS cushion_pct
) AS cushions
GROUP BY cushion_pct
HAVING countIf(move_pct <= -1 * cushion_pct) > 0
ORDER BY cushion_pct
Run this yourself

At a cushion of 2% below spot, the stock finished above the strike in 68.2% of windows. At 15% below spot the figure rises to 99.4%, a win rate that flatters any description of a strategy. The remaining columns are the other half of the arithmetic. Among the windows that did breach that deepest cushion, the average breach ran 3.42% of the starting share price, and the worst single window reached 9.2%. Averaged across every window, breached or not, the cost comes to 0.02% of the share price.

That last number is the one a premium has to beat. Set it beside the 0.18% the deepest strike paid in the first panel, at a comparable cushion over a comparable month, and the two claims come apart cleanly. The win rate is a frequency. The expectation is the pay measured against the average cost. Neither one implies the other. Treat the comparison as an order of magnitude rather than a backtest: one chain on one day against five years of outcomes, with overlapping windows that are nowhere near independent trials. A sample drawn across a deeper decline would carry a heavier average cost at the same cushion.

Does the premium overstate the move it prices?

Implied volatility is the movement priced into an option, quoted as an annualized percentage. Realized volatility is the movement the daily closes then printed, on the same scale. The gap between the two is the second motivation for selling, and it is what short volatility means: paid for movement at one price, then watching a different amount of it arrive.

QueryAAPL: implied volatility quoted on one-month puts, against the volatility the next month printed
32 rows (showing 20)
monthimplied_vol_pctrealized_vol_pct_next_monthvol_spread
Jan 202423.512.311.1
Feb 202419.625.3-5.7
Mar 20242123.5-2.5
Apr 202427.124.32.9
May 202421.533.2-11.7
Jun 20242224.7-2.7
Jul 202426.723.13.6
Aug 202424.823.51.4
Sep 202424.2213.1
Oct 202426.315.111.2
Nov 202419.616.33.3
Dec 202418.430.6-12.2
Jan 202527.826.11.7
Feb 202523.230.9-7.7
Mar 202528.977.5-48.6
Apr 202541.8338.9
May 202530.318.312.1
Jun 202527.214.412.9
Jul 202529.928.71.2
Aug 202525.728.5-2.8
The exact SQL behind every number
SELECT
    formatDateTime(i.m, '%b %Y')              AS month,
    round(i.implied_vol, 1)                   AS implied_vol_pct,
    round(r.realized_vol, 1)                  AS realized_vol_pct_next_month,
    round(i.implied_vol - r.realized_vol, 1)  AS vol_spread
FROM
(
    SELECT
        toStartOfMonth(date)                AS m,
        addMonths(toStartOfMonth(date), 1)  AS next_m,
        avg(implied_volatility) * 100       AS implied_vol
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND delta < 0
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry BETWEEN 20 AND 45
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
      AND date BETWEEN '2024-01-01' AND '2026-08-31'
    GROUP BY m, next_m
) AS i
INNER JOIN
(
    SELECT
        toStartOfMonth(d)                                      AS m,
        stddevSamp(log(close_px / prev_px)) * sqrt(252) * 100   AS realized_vol
    FROM
    (
        SELECT
            date                                                               AS d,
            close_px,
            lagInFrame(close_px, 1) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_px
        FROM
        (
            SELECT
                date,
                max(toFloat64(close)) AS close_px
            FROM global_markets.stocks_daily_aggs
            WHERE ticker = 'AAPL'
              AND date BETWEEN '2023-12-01' AND '2026-09-26'
            GROUP BY date
        ) AS daily
    ) AS lagged
    WHERE prev_px > 0
    GROUP BY m
    HAVING count() >= 15
) AS r ON r.m = i.next_m
ORDER BY i.m
Run this yourself

Each row carries the average implied volatility on near-the-money AAPL puts quoted inside that month, roughly a month from expiry, against the annualized volatility of the daily closes in the month that followed. In Jan 2024 the implied reading was 23.5% against 12.3% realized. Where the implied line sits above the realized line, sellers of that month's puts were paid for more movement than the following weeks delivered. Where it sits below, they were short something cheaper than what arrived. The vol_spread column prints that gap month by month. Volatility arrives in clusters, and the negative rows tend to land together rather than spaced evenly, which makes a run of quiet months a poor guide to the next one.

Why one put pays far more than another

Same cushion, same month to expiry, very different pay. The panel takes one week of real chains across seven liquid names, at strikes about 5% below the market.

QueryOne week of real chains: put premium and implied volatility at strikes about 5% below the market
symboliv_pctpremium_pct_of_strikepremium_per_contract
TSLA44.33.17$1217
NVDA37.32.48$495
MSFT30.71.7$631
JNJ25.10.99$219
AAPL23.60.94$266
KO20.70.72$55
SPY18.90.54$388
The exact SQL behind every number
SELECT
    underlying_symbol                                                          AS symbol,
    round(avg(implied_volatility) * 100, 1)                                    AS iv_pct,
    round(100 * avg(toFloat64(option_close) / toFloat64(strike_price)), 2)     AS premium_pct_of_strike,
    concat('$', toString(toUInt32(round(avg(toFloat64(option_close)) * 100)))) AS premium_per_contract
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'KO', 'JNJ', 'AAPL', 'MSFT', 'NVDA', 'TSLA')
  AND delta < 0
  AND iv_converged = 1
  AND volume > 0
  AND date BETWEEN '2026-06-15' AND '2026-06-19'
  AND days_to_expiry BETWEEN 25 AND 40
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 0.95) < 0.02
GROUP BY underlying_symbol
ORDER BY premium_pct_of_strike DESC
Run this yourself

TSLA carried the widest premium of the group, 3.17% of the strike, alongside implied volatility of 44.3%. SPY paid 0.54% with implied volatility of 18.9%. The two columns rise and fall together across the panel. A fat premium is the price of a wide expected move, which makes it a bigger obligation quoted at a fair price rather than a better deal.

Two reasons anyone sells a put option

Cash secured: assignment is the plan

A cash-secured put sets the full strike value aside in cash. The seller is content to own the shares at the strike, and the premium works as a discount on that entry: assignment at the $295 strike, with $670 already collected, leaves an effective cost per share of the strike less the premium. The cost is what that cash cannot do elsewhere for the life of the contract, and the upside above the strike, along with every dividend until the shares arrive, belongs to someone else. Covered call versus cash secured put sets the two sides of that choice next to each other, and the wheel strategy covers the pattern that treats assignment as the intended outcome.

Naked: a leveraged short volatility position

A naked put posts margin instead of the full strike. The dollar loss in a decline is identical. The posted capital is a fraction of it, which makes the same move several times larger measured against the account, and the requirement grows as the stock falls, which is the part that tends to force a decision at the worst moment. What brokers require, and what happens when the requirement outruns the account, is in margin for selling naked options. For where short puts sit against the rest of the options book, how risky options trading is ranks the structures.

When selling a put option is a bad idea

  • The strike was picked for the premium rather than for a price at which owning the shares is acceptable. A cash-secured put on a name the seller does not want leaves an assignment to be unwound at whatever the market offers.
  • Size follows the premium instead of the commitment. One contract commits a hundred times the strike, and that is the number position size answers to.
  • The premium is unusually wide and the seller has not looked for what the market is pricing inside the contract's life, such as an earnings date or a pending legal decision.
  • Assignment would arrive somewhere with no room for it, including a retirement account with its own permission rules. Trading options inside an IRA covers those limits.

FAQ

Can a put I sold be assigned before expiration?

Yes. US equity options are American style, exercisable on any business day until expiry, and the seller has no say in the timing. Early assignment tends to show up on deep in-the-money contracts with little time value left. When short options get assigned early goes through the patterns, and partial assignment of short options covers getting only part of a multi-contract position.

Do I collect the dividend on a put I sold?

No. A short put is not a share position, and no dividend reaches the seller. Dividends work the other way on exercise timing: the ex-date price drop lands in the put holder's favour, and waiting keeps it, which makes early exercise of a put less likely ahead of a payment.

What happens if the stock drops hard right after I sell the put?

The loss shows up as a mark to market long before expiration settles anything. The contract can be bought back at its new, higher price, or rolled out in time; how to roll an option position walks through that. In a margin account the requirement rises alongside the move, which is often what sets the deadline.

What if the stock finishes right at the strike?

That is pin risk: a short put sitting at the money into the close may or may not be assigned, and the seller usually finds out over the weekend. Pin risk at options expiration covers the exposure, and what happens if an option expires in the money covers the settlement path.

Is selling a put safer than buying the shares?

It is a different payoff with much of the same downside. A short put struck below the market has a lower break-even than shares bought today, and it gives up all upside above the strike along with the dividends. Below the strike, the exposure tracks the stock itself.

Data notes and method

AAPL has not split since 2020, and the closes in the window from January 2021 need no split adjustment; the record is in AAPL stock split history. The 21-session windows overlap, sharing most of their days, which makes them a description of this sample rather than a set of independent trials. Put contracts are the negative-delta rows in the greeks table. Implied volatility comes from contracts that converged and traded that day, near the money, 20 to 45 days from expiry, averaged by month. Realized volatility is the sample standard deviation of daily log returns inside the following month, annualized by the square root of 252. Option premiums are daily closing marks on contracts that traded, never quotes.


Every panel here carries the SQL that produced it underneath. To run the same ladder on another ticker or another week, ask it in plain English on the Strasmore terminal.