How to Calculate Covered Call Returns
Learn how to calculate covered call returns: net debit, break-even, static return, return if called, one contract example, plus annualized return.
To calculate covered call returns, you need four numbers: net debit, break-even, static return, and return if called. All four come from three inputs: the price wey you pay for 100 shares, the premium wey you collect from the one call sold against dem, and the strike of that call. The example below dey work out each one in order, then e add the dividend and annualization step.
Wetin be covered call, and which return you mean?
Covered call na 100 shares wey you own plus one call wey you sell against dem. The call gives the buyer right to buy those shares at fixed price, the strike, until e expire. The price wey you collect for the call, the premium, enter your account as cash from day one. The mechanics dey inside how covered call dey work. Wetin follow na the arithmetic.
“Return” no clear until you name the ending wey you dey price:
- Net debit: money wey you spend on the stock minus the premium credit, meaning the cash wey the position actually cost.
- Break-even: net debit divided by 100 shares. Na the expiration price below wey the position worth less than wetin e cost.
- Static return: wetin the position earn if the stock remain exactly at today’s price at expiration, the call expire worthless and the shares still remain your own.
- Return if called: wetin e earn if the stock dey at or above the strike and the shares sell at that strike.
One contract cover 100 shares, so premium wey dem quote as $1.00 go pay $100.00.
How to calculate covered call returns: worked example
Take imaginary stock wey dey trade at round $50.00, plus call wey get 30 days left, strike of $52.50 and quote of $1.00. The shares cost $5,000.00. The call credit na $100.00.
- Net debit: $5,000.00 minus $100.00 equal $4,900.00, or $49.00 per share.
- Break-even: $49.00 at expiration.
- Static return: if stock remain at $50.00, the call expire worthless and the $100.00 premium be the full result. That one equal 2.04% over 30 days.
- Return if called: assignment at $52.50 sell the shares for $5,250.00. The $250.00 share gain plus $100.00 premium equal $350.00 on $4,900.00, or 7.14% over 30 days.
Both percentages use net debit as denominator, meaning the cash wey still dey at risk after the credit enter. Some brokers quote the same returns against the full $5,000.00, so the figures dey smaller. The difference na the premium itself. The mirror-image position, where you sell a put and keep cash aside, dey compared in covered call vs cash secured put.
Where the premium for the numerator dey come from
Premium na market price. Its size dey follow how much movement the options market dey price into the stock during the contract life. Dem quote that expectation as annualized percentage, and dem call am implied volatility. Five household names, measured the same way through July 2026:
The exact SQL behind every number
SELECT
underlying_symbol AS symbol,
round(100 * quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)), 1) AS median_iv_pct,
count() AS contract_count
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'SPY')
AND date >= '2026-07-01'
AND date < '2026-08-01'
AND iv_converged = 1
AND volume > 0
AND delta > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY underlying_symbol
ORDER BY median_iv_pct DESCMedian implied volatility move from 43.4% on MSFT down to 13.4% on SPY across the 5 names. Na calls wey get 20 to 45 days left, with strikes within 5% of the stock. A 2% static return on the calmest name and 2% static return on the fastest name no be the same trade. The second one dey pay for much wider range of 30-day outcomes. Liquid versus volatile options separate the two ideas.
Why in-the-money strike dey bring return forward
Now sell the $47.50 call on the same $50.00 stock, with quote of $3.20. That price split into $2.50 intrinsic value, meaning the amount wey the stock already dey above the strike, plus $0.70 time value.
- Net debit: $4,680.00, or $46.80 per share.
- Break-even: $46.80. That one give 6.4% cushion below the stock, compared with 2.0% on the $52.50 call.
- Static return: if stock remain at $50.00, the call stay in the money, so the shares go for $47.50. Proceeds of $4,750.00 against $4,680.00 debit give $70.00, or 1.50%.
- Return if called: the same 1.50%. Every ending at or above $47.50 pay $70.00 and nothing more.
The full return on in-the-money covered call na its time value, $0.70 per share here. You collect am at any expiration price above $47.50. Na this be the front-loading: smaller maximum return, collected from lower entry price, with 5% fall available before the number change at all. The $52.50 call offer 7.14%, but stock need rally 5% before e pay that amount. Assignment day itself dey explained in wetin happen if option expire in the money.
The two endings no get equal odds. Delta, meaning how fast option price dey move when the stock move, also work as rough market-implied chance of finishing in the money. Sorted by strike distance, for AAPL calls through July 2026 with 20 to 45 days left:
The exact SQL behind every number
SELECT
multiIf(
moneyness < -0.075, '7.5% to 10% in the money',
moneyness < -0.025, '2.5% to 7.5% in the money',
moneyness < 0.025, 'within 2.5% of the stock',
moneyness < 0.075, '2.5% to 7.5% out of the money',
'7.5% to 10% out of the money') AS strike_band,
round(quantileDeterministic(0.5)(toFloat64(delta), cityHash64(ticker)), 2) AS median_delta,
count() AS contract_count
FROM
(
SELECT
ticker,
delta,
toFloat64(strike_price) / toFloat64(underlying_close) - 1 AS moneyness
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= '2026-07-01'
AND date < '2026-08-01'
AND iv_converged = 1
AND volume > 0
AND delta > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.10
)
GROUP BY strike_band
ORDER BY min(moneyness)Median delta move from 0.86 for the 7.5% to 10% in the money band to 0.17 for the 7.5% to 10% out of the money band. If you read am as rough probability, deep in-the-money calls dey priced as more likely than not to get assigned, while far out-of-the-money calls dey priced as unlikely. Static return wey dem quote on low-delta strike na amount wey market expect you to collect. Return-if-called on that same strike na amount wey market no expect you to collect.
How you dey annualize covered call return?
Dem usually quote 30-day static return of 2.04% as annualized 24.8%: multiply 2.04 by 365, then divide by 30. The arithmetic easy. But the assumption inside am na the important part. Multiplying by 12.17 assume say you go get twelve more months exactly like this one, with the same premium at the same distance from the stock, the shares never get called away, and no month pass when you no dey in the market. The 7.14% called case annualize to 86.9%. That one assume even stronger thing: stock go clear the strike every month and you go buy am back higher each time.
You fit measure the premium part of that assumption. Below na median implied volatility for near-the-money AAPL calls, month by month, across the two years to July 2026.
The exact SQL behind every number
SELECT
formatDateTime(toStartOfMonth(date), '%Y-%m') AS month,
round(100 * quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)), 1) AS median_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= '2024-08-01'
AND date < '2026-08-01'
AND iv_converged = 1
AND volume > 0
AND delta > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY toStartOfMonth(date)
ORDER BY toStartOfMonth(date)The series start at 23.3% in 2024-08 and finish at 28.4% in 2026-07, with 24 monthly readings inside the panel. Those months no be copies of one another, and the premium available for each one no be the same. Annualization na scale for comparing holding periods of different lengths. E stop being that once headline reader take am as yearly return. Quote the period return first, together with the number of days.
How dividends and early assignment enter the calculation
Dividend wey the shares pay while dem still dey your hand enter the numerator. Suppose the $50.00 stock trade ex-dividend for $0.35 inside the 30-day window and you hold am through that date. Static return become $100.00 premium plus $35.00 dividend on $4,900.00 debit: 2.76% instead of 2.04%.
That condition matter. American-style equity options fit get exercised on any business day before expiration. For call holder, the reason to exercise early dey strongest the day before the stock trade ex-dividend. Na then exercise fit capture dividend wey the contract itself no pay. Call wey get little time value left, against dividend wey pass that time value, na the normal early-exercise candidate. The shares fit leave at the strike before ex-date, and the $35.00 no go enter. Ex-dividend dates and options explain the timing, while American vs European options cover which contracts fit get exercised early at all.
Wetin return calculation no fit show
Every figure so far describe one date, expiration, and one position carried to that date. Two things dey outside that frame.
The first one na upside wey you give up. Above the strike, the shares worth the strike, no matter wetin the screen prints. The panel below take AAPL month by month across the two years to July 2026. E plot the stock’s own move against the same move capped at 5%. Na the shape of covered call wey dem write 5% out of the money and hold to expiration every month.
The exact SQL behind every number
WITH monthly AS
(
SELECT
toStartOfMonth(toTimeZone(window_start, 'America/New_York')) AS m,
toFloat64(argMax(close, window_start)) AS last_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= '2024-07-01'
AND window_start < '2026-08-01'
GROUP BY m
)
SELECT
formatDateTime(m, '%Y-%m') AS month,
round(100 * (last_close / prev_close - 1), 2) AS stock_pct,
round(least(100 * (last_close / prev_close - 1), 5.0), 2) AS called_away_pct
FROM
(
SELECT
m,
last_close,
lagInFrame(last_close) OVER (ORDER BY m ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM monthly
)
WHERE prev_close > 0
ORDER BY mFor 2026-07, the uncapped series measure 6.35% and the capped series measure 5%. Across the 24 months wey this panel show, the two lines dey together in every falling month. Dem separate in every month wey pass the cap. Premium add the same flat amount to both lines. E no ever change their shape.
The second one na downside. Premium dey soften am, but e no remove am. Break-even at $49.00 on $50.00 stock give 2% cushion. A 20% fall leave the position roughly 18% under water, and call wey expire worthless na the smallest thing wey happen that month. The version wey use part of the premium to create floor dey explained in covered call vs collar. The one wey continue to sell premium after assignment na the wheel strategy, while funds wey run the write on fixed schedule dey explained in covered call ETFs explained.
FAQ
How you dey calculate static return on covered call?
Divide the premium collected by the net debit, then put the holding period beside am. $1.00 premium on $50.00 stock equal $100.00 on $4,900.00 net debit, or 2.04% over 30 days. This result only hold if the stock finish below the strike.
Wetin be break-even price on covered call?
Na the share price you pay minus premium per share. $50.00 stock with $1.00 premium get break-even at $49.00. If stock finish below $49.00 at expiration, the combined position worth less than wetin e cost.
You dey calculate covered call returns on net debit or full stock price?
Net debit na the cash wey remain at risk after the credit enter, and na the denominator wey this page use throughout. If you quote against the undiscounted stock cost, the percentage go smaller small. The difference between both na exactly the premium.
Annualized covered call return na yield?
No. Na one period return multiplied by 365 and divided by the number of days in that period. E assume say the same premium go dey available in every future period and the shares never get called away. Read am as scale for comparing holding periods.
Wetin happen to the return if dem assign the call early?
The dollar amount remain the same, but the holding period shorter. So annualized figure rise, while the cash result no change. If early assignment happen the day before ex-dividend date, dividend comot from the numerator completely.
How dem build these panels
The three options panels read daily per-contract greeks. Dem keep only rows where the implied volatility solve converge and the contract trade that day. Dem isolate calls by keeping positive delta. Near the money mean strike wey dey within 5% of that day’s underlying close. Dem calculate medians deterministically, so if you run the same fixed window again, you go get the same figure. The monthly price panel use the last recorded price for each month, while the capped series apply 5% ceiling to that same move.
Every panel here carry the exact SQL wey produce am, so open any one to see the filters. You fit ask the same questions in plain English on the Strasmore terminal.