Strasmore Research
Learn am Matt ConnorBy Matt Connor

wheel strategy loop sell put covered call SPY

Di wheel strategy dey sell cash-secured put, take assignment, then sell covered call. We trace both legs through one real SPY option contract pair wey expire June 18, 2026.

The wheel strategy na one option loop wey dey repeat: you sell cash-secured put for stock wey you ready to own, if di put finish inside money, dem assign you di shares, then you sell covered calls against those shares until dem call dem away. Each leg dey collect premium upfront, and di cycle start again. Nothing for inside am dey exotic. Na two ordinary income trades wey dem run one after di other, and di sequence na wetin give di strategy im name.

Dis page dey trace di mechanics through one real contract pair wey dey file: di SPY $740 put and di SPY $740 call, both dey expire June 18, 2026. SPY na di ETF wey dey follow S&P 500, and every price below dey read from stored option records for dat window.

How di wheel strategy dey work, step by step

  1. Sell cash-secured put. You pick strike at or below current price and set aside cash to buy 100 shares for dere. $740 strike dey tie up $74,000 for one contract. Di put premium land inside account di same day.
  2. Wait for expiration. If stock dey above strike for expiry, di put expire worthless. You keep di premium and write another put.
  3. Take assignment. If stock dey below strike for expiry, dem exercise di put against you and di reserved cash buy 100 shares for di strike. Your cost basis na di strike minus di premium wey you don collect.
  4. Sell covered calls. Holding di shares, you write call above dat basis and collect fresh premium each cycle, until di stock finish above di call strike and dem sell di shares.

Step four return you to step one holding cash, and di loop repeat. Every rotation dey carry di same two ingredients: premium wey dem collect, and obligation wey dem accept for di length of one contract.

Wetin di income actually be

Wheel premium no be dividend or interest. Na di market price for time and uncertainty, di part of option quote wey dey drain toward zero as expiration approach. Every quote dey split into two pieces. Intrinsic value na wetin di contract worth if dem exercise am right now: for put, na strike minus stock price, floor at zero. Time value na di remainder, and na di portion wey seller keep when dem hold di contract till expiry.

For May 1, with SPY for $720 against di $740 strike, di put quote for $23.05. For dat, $20 na intrinsic and $3.05 na time value.

QuerySPY $740 put don split into intrinsic and time value, daily to Jun 15 2026
The exact SQL behind every number
SELECT date,
       round(greatest(740 - avg(underlying_close), 0), 2) AS intrinsic_value,
       round(avg(option_close) - greatest(740 - avg(underlying_close), 0), 2) AS time_value
FROM global_markets.options_greeks
WHERE ticker = 'O:SPY260618P00740000'
  AND date BETWEEN '2026-05-01' AND '2026-06-15'
  AND implied_volatility > 0.02
GROUP BY date
ORDER BY date
Run this yourself

By di final session for June 15 di same put quote for $1.16, wey $0 na intrinsic. Writer wey sell am for May 1 for $23.05 fit close di obligation for June 15 for $1.16 and keep di difference. Dat drain get name among di option greeks: theta. Selling premium dey pair calendar arithmetic with equity risk, and di equity risk na di half wey beginners dey under-count.

Both legs of di wheel, priced side by side

Cash-secured put and covered call for same strike and expiry dey carry closely related payoffs, and di market dey price dem close together. Here na di two contracts of dis pair across di same seven weeks.

QueryBoth legs of the wheel: SPY $740 put vs $740 call, same Jun 18 2026 expiry
The exact SQL behind every number
SELECT date,
       round(avgIf(option_close, ticker = 'O:SPY260618P00740000'), 2) AS put_price,
       round(avgIf(option_close, ticker = 'O:SPY260618C00740000'), 2) AS call_price
FROM global_markets.options_greeks
WHERE ticker IN ('O:SPY260618P00740000', 'O:SPY260618C00740000')
  AND date BETWEEN '2026-05-01' AND '2026-06-15'
  AND implied_volatility > 0.02
GROUP BY date
HAVING countIf(ticker = 'O:SPY260618P00740000') > 0
   AND countIf(ticker = 'O:SPY260618C00740000') > 0
ORDER BY date
Run this yourself

For May 1 di put quote for $23.05 and di call for $7.22. Di gap between di two dey track where SPY sit against di $740 strike, identity wey dem call put-call parity. Di lines then trade places as di stock travel. Di put leg dey earn im premium quietly while di stock hold up; di call leg dey earn im premium while di stock stall or slip. Across 31 sessions di pair show di whole wheel for two lines.

Di stock decide which leg you dey

QuerySPY closing price across the contract window, from May 1 to Jun 15 2026
The exact SQL behind every number
SELECT date,
       round(avg(underlying_close), 2) AS spy_price
FROM global_markets.options_greeks
WHERE ticker = 'O:SPY260618P00740000'
  AND date BETWEEN '2026-05-01' AND '2026-06-15'
  AND implied_volatility > 0.02
GROUP BY date
ORDER BY date
Run this yourself

SPY open di window for $720, under di $740 strike, and finish am for $753.91, over di strike. Put writer for $740 spend parts of dose weeks for di assignment side of dat line and parts of dem for di keep-di-premium side, without any action available in between except closing di contract early.

Di loop for four moments

QueryThe wheel pair at entry, SPY peak, the dip, and the final session
The exact SQL behind every number
SELECT multiIf(date = '2026-05-01', '1. Sold the put (May 1)',
               date = '2026-06-02', '2. SPY peak (Jun 2)',
               date = '2026-06-10', '3. SPY dip (Jun 10)', '4. Final session (Jun 15)') AS stage,
       round(avgIf(underlying_close, ticker = 'O:SPY260618P00740000'), 2) AS spy_price,
       round(avgIf(option_close, ticker = 'O:SPY260618P00740000'), 2) AS put_value,
       round(avgIf(option_close, ticker = 'O:SPY260618C00740000'), 2) AS call_value,
       if(avgIf(underlying_close, ticker = 'O:SPY260618P00740000') < 740,
          'below 740 strike', 'above 740 strike') AS put_moneyness
FROM global_markets.options_greeks
WHERE ticker IN ('O:SPY260618P00740000', 'O:SPY260618C00740000')
  AND date IN ('2026-05-01', '2026-06-02', '2026-06-10', '2026-06-15')
  AND implied_volatility > 0.02
GROUP BY date
HAVING countIf(ticker = 'O:SPY260618P00740000') > 0
   AND countIf(ticker = 'O:SPY260618C00740000') > 0
ORDER BY date
Run this yourself

Read down di rows. For entry SPY sit for $720, below 740 strike, with di put for $23.05 and di call for $7.22. For di June 2 peak SPY reach $759.63 and di two quotes swap places: di put for $2.79, di call for $23.5. By di June 10 dip SPY come back for $722.88, di put for $18.7 and di call for $3.17. For di final session SPY close for $753.91, above 740 strike.

Dat last row settle di cycle. With SPY over $740 into expiration dis put finish worthless, di writer keep di $23.05 premium, and no shares change hands, so di next rotation na another put instead of di covered-call leg. If SPY don close under $740, 100 shares for don arrive for $740 basis minus dat premium, and di call leg for don open for wetin di next expiry pay.

Where di wheel dey break

Di loop hardest case na stock wey dey long decline. Assignment dey deliver 100 shares for di strike while di market price dey under am, and calls wey dem write above dat basis dey collect thinner premiums di further di stock don drop. Writing call below di basis instead dey convert paper loss into realized one whenever dem call di shares away. Wheel wey dem run for falling name dey collect small premiums against big drawdown, and di premiums dey arrive one contract at a time while di drawdown dey compound.

Gaps na di other stress. Overnight move through di strike dey remove di option of adjusting: di contract dey deep inside money for di opening bell with no session in between. Earnings dates and scheduled announcements dey concentrate dat risk into single sessions, and premium dey richest around dem. Elevated premium and outsized move dey arrive for di same package. Liquidity belong for di same paragraph, because wheel dey open and close contracts continually and every round trip dey pay di bid-ask spread. For thin underlying dat spread fit swallow whole cycle time value.

Sizing di loop

Di capital behind one wheel contract na di strike times 100 shares, whatever di premium happen to be. For $740 strike dat na $74,000 per put. Trader wey dey run four contracts for dat underlying don commit $296,000 of buying power and hold di equity exposure of 400 shares. Position size for di wheel dey measure for shares wey dem control, not for premium wey dem collect, and brokers wey allow di trade for margin dey change di first number while leaving di second untouched.

Wheel writers dey commonly cap di number of simultaneous contracts for any one underlying and restrict di loop to names wey dem for hold outright for di strike. Both na descriptions of common practice, wey dem offer here as mechanics rather than as recommendations.

Di wheel next to simply holding di shares

Against plain ownership, di wheel dey reshape di outcome rather than remove di risk. For di way up di put leg dey earn im premium and stop dere while di stock run past di strike. For di way down di assigned shares dey fall like any other shares, cushioned only by wetin dem collect. Over di window wey dem trace above SPY move from $720 to $753.91 while di $740 put writer collect $23.05 and never own share. Holder of 100 shares get whatever di stock do over di same weeks. Which record look better depend on di path, and di path na di one variable wey no premium seller dey control.

Covered calls dey take di second leg apart for detail, buying and selling put options dey walk di put contract itself from both sides, and wetin call option be dey define di terms wey dem use here. Option expiration dates dey set di clock each rotation dey run on.

FAQ

Wetin be di wheel strategy for simple terms?

Na loop of two options trades for one underlying. You sell cash-secured put; if di stock finish below di strike you take delivery of 100 shares for dat price, then sell covered calls against dem until dem call di shares away, and begin again holding cash.

How much capital di wheel require?

Enough cash to buy 100 shares for di strike for every put contract wey dem write. $740 strike dey set aside $74,000 per contract. Brokers fit allow di position for margin, wey dey lift di leverage while leaving di 100 shares of exposure per contract unchanged.

Wetin happen if di stock fall far below di strike?

Assignment still occur for di strike, so di shares arrive above di market price. Di premium wey dem don collect dey lower di cost basis by dat amount and no more. Calls wey dem write above di basis from dere dey collect thinner premiums di further di stock don drop.

Why di put and di call for same strike dey cost about di same?

Put-call parity dey tie dem together: call plus cash dey match put plus di shares for same strike and expiry. For May 1 di pair here quote for $23.05 for di put and $7.22 for di call, with di difference dey track where SPY sit against $740.

Di wheel safer than owning di stock outright?

Once dem assign am, e carry di same downside per share, with di upside capped for di call strike for each rotation. Di premium dey add small cushion under di position and ceiling over am, and how dat trade work out depend on di path wey di stock take.

Every price above na stored, versioned query. Rerun dis contract pair for di Strasmore terminal and follow each leg session by session.

#options#wheel strategy#cash-secured put#covered calls#income