Risk Reversal Options: Sell a Put, Buy a Call
A risk reversal sells an out-of-the-money put to fund an out-of-the-money call. One AAPL chain priced at 25 delta, its payoff and the skew spread desks quote.
A risk reversal is an options trade that sells an out-of-the-money put and buys an out-of-the-money call on the same stock for the same expiration. The premium from the short put pays for most or all of the long call, so the position often costs close to nothing up front and starts to move like the stock once the price passes either strike. On trading desks the same two words also name a number: the implied-volatility gap between the 25-delta put and the 25-delta call, the gap that decides whether the put side can fund the call side at all.
What is a risk reversal in options?
Out of the money means the strike sits away from the current stock price: a put with a strike below it, a call with a strike above it. A bullish risk reversal sells that put (you collect a premium and take on the obligation to buy shares at the put strike if assigned) and buys that call (you pay a premium for the right to buy shares at the call strike). The bearish version mirrors it: sell an out-of-the-money call, buy an out-of-the-money put. This page walks the bullish version; flip every sign for the bearish one.
Delta picks the strikes. Delta is how much an option's price moves for a one-dollar move in the stock, and traders also read it as a rough probability of the option finishing in the money. A 25-delta put and a 25-delta call sit a similar distance from the stock in probability terms, roughly a one-in-four chance each, even though the dollar distances differ. "Price it at 25 delta" is the standard construction, and it is the one priced below.
How is a risk reversal different from a collar or a synthetic long?
A synthetic long uses one strike for both legs, usually at the money. Sell the put and buy the call at the same strike and the position tracks the stock nearly tick for tick from the first dollar in either direction. A risk reversal opens a gap between the two strikes. Inside that gap both options expire worthless, and only outside it does the position move like stock.
A collar is a risk reversal laid over shares you already own, with the legs flipped: long put below, short call above. The collar gives up upside to finance downside protection. The bullish risk reversal does the reverse, giving up downside protection (through the short put) to finance upside participation. The way a collar's greeks drift as the stock moves applies here in mirror image: the short put's delta grows as the stock falls toward it, and the long call's delta grows as the stock rises toward it.
Pricing one real chain at 25 delta
Here is the out-of-the-money strip of the AAPL chain for the August 21, 2026 expiration as it stood at the close on July 20, 2026, roughly a month before expiration. Puts sit below the stock price and calls above it; only strikes with a converged implied volatility and at least one trade that day are listed.
| strike | side | delta_abs | iv_pct | premium |
|---|---|---|---|---|
| $285 | put | 0.089 | 35.95 | 1.49 |
| $290 | put | 0.113 | 35.01 | 1.93 |
| $295 | put | 0.14 | 33.92 | 2.45 |
| $300 | put | 0.175 | 33.02 | 3.15 |
| $305 | put | 0.217 | 32.22 | 4.05 |
| $310 | put | 0.268 | 31.69 | 5.25 |
| $312.5 | put | 0.292 | 30.69 | 5.7 |
| $315 | put | 0.324 | 31.07 | 6.68 |
| $317.5 | put | 0.346 | 28.41 | 6.66 |
| $320 | put | 0.387 | 30.57 | 8.44 |
| $322.5 | put | 0.414 | 27.16 | 8.25 |
| $325 | put | 0.453 | 30.02 | 10.5 |
| $327.5 | call | 0.513 | 31.01 | 11.75 |
| $330 | call | 0.479 | 30.48 | 10.4 |
| $332.5 | call | 0.446 | 30.47 | 9.33 |
| $335 | call | 0.412 | 30.07 | 8.2 |
| $337.5 | call | 0.379 | 29.91 | 7.24 |
| $340 | call | 0.347 | 29.92 | 6.42 |
| $342.5 | call | 0.317 | 29.8 | 5.63 |
| $345 | call | 0.284 | 29.31 | 4.79 |
The exact SQL behind every number
SELECT
concat('$', toString(round(toFloat64(strike_price), 2))) AS strike,
if(any(delta) < 0, 'put', 'call') AS side,
round(abs(any(delta)), 3) AS delta_abs,
round(100 * any(implied_volatility), 2) AS iv_pct,
round(toFloat64(any(option_close)), 2) AS premium
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = '2026-07-20'
AND expiration_date = '2026-08-21'
AND iv_converged = 1
AND volume > 0
AND abs(delta) BETWEEN 0.08 AND 0.55
AND ((delta < 0 AND toFloat64(strike_price) < toFloat64(underlying_close))
OR (delta > 0 AND toFloat64(strike_price) > toFloat64(underlying_close)))
GROUP BY strike_price
ORDER BY strike_priceRead the panel from the middle outward. Delta magnitude peaks near the stock price and shrinks toward the wings on both sides. Implied volatility, the iv_pct column, does not mirror: it climbs as the put strikes step down and stays lower across the calls. That tilt is volatility skew, and it sets the price of every risk reversal. 28 strikes qualify on this chain.
Now pick the two legs: the put whose delta is closest to -0.25 and the call whose delta is closest to +0.25.
| component | strike | delta | iv_pct | premium_per_share | stock_close |
|---|---|---|---|---|---|
| short put (premium received) | $310 | -0.268 | 31.69 | 5.25 | $326 |
| long call (premium paid) | $347.5 | 0.267 | 30.63 | 4.6 | $326 |
| net credit | 0.535 | 1.07 | 0.65 | $326 |
The exact SQL behind every number
SELECT
multiIf(ord = 1, 'short put (premium received)',
ord = 2, 'long call (premium paid)',
net >= 0, 'net credit', 'net debit') AS component,
multiIf(ord = 1, concat('$', toString(put_strike)),
ord = 2, concat('$', toString(call_strike)), '') AS strike,
round(multiIf(ord = 1, put_delta, ord = 2, call_delta, call_delta - put_delta), 3) AS delta,
round(100 * multiIf(ord = 1, put_iv, ord = 2, call_iv, put_iv - call_iv), 2) AS iv_pct,
round(multiIf(ord = 1, put_premium, ord = 2, call_premium, abs(net)), 2) AS premium_per_share,
concat('$', toString(round(spot, 2))) AS stock_close
FROM
(
SELECT
arrayJoin([1, 2, 3]) AS ord,
put_strike, put_delta, put_iv, put_premium,
call_strike, call_delta, call_iv, call_premium,
put_premium - call_premium AS net,
spot
FROM
(
SELECT
anyIf(strike, side = 'put') AS put_strike,
anyIf(delta, side = 'put') AS put_delta,
anyIf(iv, side = 'put') AS put_iv,
anyIf(premium, side = 'put') AS put_premium,
anyIf(strike, side = 'call') AS call_strike,
anyIf(delta, side = 'call') AS call_delta,
anyIf(iv, side = 'call') AS call_iv,
anyIf(premium, side = 'call') AS call_premium,
any(spot) AS spot
FROM
(
SELECT
if(delta < 0, 'put', 'call') AS side,
toFloat64(strike_price) AS strike,
delta,
implied_volatility AS iv,
toFloat64(option_close) AS premium,
toFloat64(underlying_close) AS spot
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = '2026-07-20'
AND expiration_date = '2026-08-21'
AND iv_converged = 1
AND volume > 0
ORDER BY abs(abs(delta) - 0.25)
LIMIT 1 BY side
)
)
)
ORDER BY ordThe put leg on this chain is the $310 strike, delta -0.268, priced at $5.25 per share with an implied volatility of 31.69%. The call leg is the $347.5 strike, delta 0.267, at $4.6 and 30.63%. Sell the put and buy the call, and the two premiums net to a net credit of $0.65 per share, with AAPL at $326. Each contract covers 100 shares, so multiply any per-share figure by 100 for a one-contract position.
The bottom row also sums the deltas. Selling a negative-delta put adds positive delta and the long call adds positive delta, so the two 25-delta legs land near 0.5 together: 0.535 on this chain. The position starts out moving like roughly half a share per dollar of AAPL movement, and that number climbs toward 1.0 as the stock runs past either strike.
What does the payoff look like at expiration?
Hold both legs to expiration and the result depends only on where AAPL closes relative to the two strikes. Below the put strike, the short put loses dollar for dollar, cushioned only by the net premium. Between the strikes, both options expire worthless and the trade keeps whatever premium it netted. Above the call strike, the long call gains dollar for dollar.
| stock_at_expiry | short_put_pnl | long_call_pnl | risk_reversal_pnl | stock_only_pnl |
|---|---|---|---|---|
| $244 (-25%) | -60.25 | -4.6 | -64.85 | -81.5 |
| $261 (-20%) | -43.95 | -4.6 | -48.55 | -65.2 |
| $277 (-15%) | -27.65 | -4.6 | -32.25 | -48.9 |
| $293 (-10%) | -11.35 | -4.6 | -15.95 | -32.6 |
| $310 (-5%) | 4.95 | -4.6 | 0.35 | -16.3 |
| $326 (+0%) | 5.25 | -4.6 | 0.65 | 0 |
| $342 (+5%) | 5.25 | -4.6 | 0.65 | 16.3 |
| $359 (+10%) | 5.25 | 6.5 | 11.75 | 32.6 |
| $375 (+15%) | 5.25 | 22.8 | 28.05 | 48.9 |
| $391 (+20%) | 5.25 | 39.1 | 44.35 | 65.2 |
| $408 (+25%) | 5.25 | 55.4 | 60.65 | 81.5 |
The exact SQL behind every number
SELECT
concat('$', toString(round(px, 0)), ' (', if(step >= 0, '+', ''), toString(step), '%)') AS stock_at_expiry,
round(put_premium - greatest(put_strike - px, 0), 2) AS short_put_pnl,
round(greatest(px - call_strike, 0) - call_premium, 2) AS long_call_pnl,
round(short_put_pnl + long_call_pnl, 2) AS risk_reversal_pnl,
round(px - spot, 2) AS stock_only_pnl
FROM
(
SELECT
arrayJoin([-25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25]) AS step,
spot * (1 + step / 100) AS px,
put_strike, put_premium, call_strike, call_premium, spot
FROM
(
SELECT
anyIf(strike, side = 'put') AS put_strike,
anyIf(premium, side = 'put') AS put_premium,
anyIf(strike, side = 'call') AS call_strike,
anyIf(premium, side = 'call') AS call_premium,
any(spot) AS spot
FROM
(
SELECT
if(delta < 0, 'put', 'call') AS side,
toFloat64(strike_price) AS strike,
toFloat64(option_close) AS premium,
toFloat64(underlying_close) AS spot
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = '2026-07-20'
AND expiration_date = '2026-08-21'
AND iv_converged = 1
AND volume > 0
ORDER BY abs(abs(delta) - 0.25)
LIMIT 1 BY side
)
)
)
ORDER BY stepAt a 25% drop the risk-reversal line reads -64.85 dollars per share against -81.5 for the shares themselves; at a 25% rally it reads 60.65 against 81.5. With the stock unchanged, the position keeps 0.65 dollars per share, the net premium and nothing else. The shape is the lesson: stock-like at both wings and flat in the middle, and that flat zone is exactly where a synthetic long would already be moving.
Why the put usually brings in more than the call costs
Two contracts with the same delta magnitude and the same expiration would carry about the same premium if they were priced at the same implied volatility. They are not. On index and single-stock chains the out-of-the-money put almost always trades at a higher implied volatility than the out-of-the-money call at matched delta, the tilt covered in our volatility skew explainer. On this AAPL chain the 25-delta put carried 1.07 vol points more than the 25-delta call, and the net net credit above is that gap expressed in dollars.
That makes the position short skew. It sells the expensive side of the smile and buys the cheap side. Skew is a market price and it moves: during a selloff, put implied volatility typically rises faster than call implied volatility, and a risk reversal marks against its holder on that widening alone, before the stock's own move is counted. The structure also carries an uncapped upside through the long call and an open-ended downside through the short put, with the margin footprint of a naked put, covered in margin for selling naked options.
What is the 25-delta risk reversal that desks quote?
On a trading desk, "the risk reversal" is more often a number than a trade: 25-delta put implied volatility minus 25-delta call implied volatility, in volatility points, for a given expiration. It is the price of the skew itself, the amount (in IV terms) a trader is paid for selling the put side and buying the call side. The name stuck since the two-leg package can be traded directly, and the package's value moves with the gap.
The panel below computes it for SPY, AAPL and TSLA on the most recent session available, using the listed expiration closest to 30 days out and interpolating between the two contracts that bracket 25 delta on each side.
| symbol | priced_on | expiry | put_25d_iv_pct | call_25d_iv_pct | risk_reversal_pct |
|---|---|---|---|---|---|
| SPY | September 17, 2026 | October 16, 2026 | 15.31 | 10.32 | 4.99 |
| AAPL | September 17, 2026 | October 16, 2026 | 24.06 | 23.39 | 0.67 |
| TSLA | September 17, 2026 | October 16, 2026 | 40.92 | 42.12 | -1.2 |
The exact SQL behind every number
SELECT
symbol,
priced_on,
expiry,
round(100 * put_iv_25d, 2) AS put_25d_iv_pct,
round(100 * call_iv_25d, 2) AS call_25d_iv_pct,
round(100 * (put_iv_25d - call_iv_25d), 2) AS risk_reversal_pct
FROM
(
SELECT
underlying_symbol AS symbol,
concat(monthName(any(date)), ' ', toString(toDayOfMonth(any(date))), ', ',
toString(toYear(any(date)))) AS priced_on,
concat(monthName(expiration_date), ' ', toString(toDayOfMonth(expiration_date)), ', ',
toString(toYear(expiration_date))) AS expiry,
any(days_to_expiry) AS dte,
maxIf(-delta, delta < 0 AND -delta <= 0.25) AS p_lo_d,
argMaxIf(implied_volatility, -delta, delta < 0 AND -delta <= 0.25) AS p_lo_iv,
minIf(-delta, delta < 0 AND -delta >= 0.25) AS p_hi_d,
argMinIf(implied_volatility, -delta, delta < 0 AND -delta >= 0.25) AS p_hi_iv,
maxIf(delta, delta > 0 AND delta <= 0.25) AS c_lo_d,
argMaxIf(implied_volatility, delta, delta > 0 AND delta <= 0.25) AS c_lo_iv,
minIf(delta, delta > 0 AND delta >= 0.25) AS c_hi_d,
argMinIf(implied_volatility, delta, delta > 0 AND delta >= 0.25) AS c_hi_iv,
if(p_hi_d = p_lo_d, p_lo_iv,
p_lo_iv + (p_hi_iv - p_lo_iv) * (0.25 - p_lo_d) / (p_hi_d - p_lo_d)) AS put_iv_25d,
if(c_hi_d = c_lo_d, c_lo_iv,
c_lo_iv + (c_hi_iv - c_lo_iv) * (0.25 - c_lo_d) / (c_hi_d - c_lo_d)) AS call_iv_25d
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'TSLA')
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= today() - 14
)
AND iv_converged = 1
AND volume > 0
AND abs(delta) BETWEEN 0.05 AND 0.5
GROUP BY underlying_symbol, expiration_date
HAVING countIf(delta < 0 AND -delta <= 0.25) > 0
AND countIf(delta < 0 AND -delta >= 0.25) > 0
AND countIf(delta > 0 AND delta <= 0.25) > 0
AND countIf(delta > 0 AND delta >= 0.25) > 0
AND dte BETWEEN 20 AND 45
ORDER BY symbol, abs(dte - 30)
LIMIT 1 BY symbol
)
ORDER BY indexOf(['SPY', 'AAPL', 'TSLA'], symbol)As of September 17, 2026, the SPY 25-delta risk reversal measured 4.99 vol points (15.31% put IV against 10.32% call IV for the October 16, 2026 expiration), AAPL 0.67 and TSLA -1.2. A positive number means puts are priced richer than calls at matched delta. Index skew tends to run steepest of the three; a single stock with a persistent call-buying crowd can print a flat or even negative reading, which is why TSLA sits in the comparison.
To eyeball it from any chain: for one expiration, find the put with delta nearest -0.25 and the call with delta nearest +0.25, then subtract the call's implied volatility from the put's. That single subtraction is the number a desk would quote, give or take the interpolation.
What are the risks of a risk reversal?
- The short put is a naked put. If the stock falls through the strike, assignment delivers 100 shares per contract at that strike whatever the market price at the time; our guide to buying and selling put options walks the mechanics of that obligation.
- Margin is set by the put leg. Brokers margin a bullish risk reversal like a naked put, so the buying power tied up can be many times the net premium, and it grows as the stock falls.
- The position is short skew. A widening of the put-call IV gap marks the trade against its holder with the stock unchanged.
- US single-stock options are American-style, so the short put can be assigned before expiration, most often once it is deep in the money.
FAQ
Is a risk reversal bullish or bearish?
Either, depending on which side is bought. The common bullish version buys an out-of-the-money call and sells an out-of-the-money put, so it gains as the stock rises and loses as it falls. The bearish version buys the put and sells the call.
What does a positive 25-delta risk reversal mean?
A positive reading means the 25-delta put carries a higher implied volatility than the 25-delta call for that expiration: puts are priced richer than calls at matched delta. That is the normal state for equity indexes and most large single stocks.
Does a risk reversal cost money to put on?
Often very little. With the put priced at a higher implied volatility than the call, the short put's premium frequently covers the long call's cost, leaving a small net credit or debit. The trade is never free in risk terms: the short put carries the full downside below its strike.
How much margin does a risk reversal require?
Brokers treat the short put as a naked put, so the requirement is a percentage of the stock's value plus the put's premium, reduced by the out-of-the-money amount and subject to a minimum. The long call does not offset it. The full formula is in the naked-put margin guide linked above.
Is a risk reversal the same as a collar?
No. A collar is a long put plus a short call held against shares you own, capping upside to protect downside. A bullish risk reversal is a short put plus a long call with no shares, accepting downside to buy upside. The two are mirror images.
Every panel above ships with the SQL that produced it; expand any one to see how the legs were picked or how the 25-delta interpolation works. To price the same structure on another ticker or another expiration, ask for it in plain English on the Strasmore terminal.