Strasmore Research
Learn am Matt ConnorBy Matt Connor · Updated 2026-08-08

How to Calculate Covered Call Returns

Learn net debit, break-even, static return and return if called for one covered call contract, plus dividend and annualized return calculation.

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 on the one call sold against dem, and the strike of that call. The example below dey derive each one in order, then e add 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 give the buyer right to buy those shares for fixed price, the strike, until e expire. The price wey you collect for am, the premium, na cash wey enter your account 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: the stock outlay minus the premium credit, meaning the cash wey the position really cost.
  • Break-even: net debit divided by 100 shares, meaning the expiration price below which the position worth less than wetin e cost.
  • Static return: wetin the position earn if stock dey exactly today’s price at expiration, the call expire worthless and the shares still dey your hand.
  • Return if called: wetin e earn if stock dey at or above the strike and dem sell the shares for that strike.

One contract cover 100 shares, so premium wey dem quote at $1.00 go pay $100.00.

How to calculate covered call returns: worked example

Make we use imaginary stock wey dey round $50.00, plus call wey get 30 days before expiry, strike at $52.50 and quote at $1.00. The shares cost $5,000.00. The call credit $100.00.

  • Net debit: $5,000.00 minus $100.00 na $4,900.00, or $49.00 per share.
  • Break-even: $49.00 at expiration.
  • Static return: if price remain $50.00, the call expire worthless and the $100.00 premium na the full result. That one be 2.04% for 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 na $350.00 on $4,900.00, or 7.14% for 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 go smaller; the difference na the premium itself. The mirror-image position, wey be selling a put with cash set 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 follow how much movement the option market dey price into the stock over the contract life. Dem quote that expectation as annualized percentage, and e dey called implied volatility. Five household names, measured the same way through July 2026:

QueryMedian implied volatility for 20 to 45 day near-the-money calls, 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 DESC
Run this yourself

Median 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 and strikes within 5% of the stock. A 2% static return on the calmest name and 2% static return on the fastest 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, quoted at $3.20. That price split into $2.50 intrinsic value, meaning the amount wey 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, giving 6.4% cushion below the stock, compared with 2.0% on the $52.50 call.
  • Static return: if price remain $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 na $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 for this example. You collect am at any expiration price above $47.50. Na this be the front-loading: smaller maximum return, banked from lower entry price, with 5% fall available before the number change at all. The $52.50 call offer 7.14% and need 5% rally before e pay that amount. Assignment day itself dey described in wetin happen if option expire in the money.

The two endings no get equal odds. Delta, meaning the rate wey option price dey move with the stock price, 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:

QueryAAPL call delta by strike distance, 20 to 45 days to expiry, July 2026
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)
Run this yourself

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 get pricing wey show say assignment more likely than not. Far out-of-the-money calls look unlikely to be assigned. Static return quoted 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?

30-day static return of 2.04% normally dey quoted as annualized 24.8%: 2.04 multiplied by 365, divided by 30. The arithmetic simple. Na the assumption inside am be the important part. Multiplying by 12.17 assume say twelve more months go look exactly like this one, with same premium at same distance from stock, shares never get called away, and no month spent outside the market. The 7.14% called case annualize to 86.9%. That one assume something stronger: stock go clear the strike every month, and you go buy am back at higher price each time.

You fit measure the premium part of that assumption. Below na median implied volatility on near-the-money AAPL calls, month by month, over the two years to July 2026.

QueryMedian implied volatility for near-the-money AAPL calls, by month
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)
Run this yourself

The series open at 23.3% for 2024-08 and finish at 28.4% for 2026-07, with 24 monthly readings shown for the panel. Those months no be copies of each other, and the premium available for each one no be the same either. Annualizing na scale for comparing holding periods of different lengths. E stop being that once the headline start looking like yearly return. Quote the period return first, together with the day count.

How dividends and early assignment enter the math

Dividend wey dem pay while the shares still dey your hand belong inside 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, or 2.76% instead of 2.04%.

That condition matter. American-style equity options fit get exercised on any business day before expiration. Call holder incentive to exercise early dey strongest on the day before stock trade ex-dividend. Na then exercise fit capture dividend wey the contract itself no pay. Call wey get little time value left, while dividend pass that time value, na the standard early-exercise candidate. The shares fit leave at the strike before ex-date, and the $35.00 no go arrive. Ex-dividend dates and options explain the timing. American vs European options cover which contracts fit get exercised early at all.

Wetin the 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 the upside wey you give up. Above the strike, the shares worth the strike, no matter wetin the screen dey print. 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 carry to expiration every month.

QueryAAPL by month: how the stock move compare with the same move capped at 5%
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 m
Run this yourself

For 2026-07, the uncapped series measure 6.35% and the capped series 5%. Across the 24 months wey this panel show, both lines dey together for every falling month. Dem separate for every month wey clear the cap. Premium add the same flat amount to both lines. E never change their shape.

The second one na downside, wey premium fit soften but no remove. Break-even at $49.00 on $50.00 stock give 2% cushion. A 20% fall leave the position roughly 18% under water, and the call expiring worthless na the smallest thing wey happen that month. The version wey spend part of premium on a floor dey explained in covered call vs collar. The version 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 net debit, then state the holding period beside am. $1.00 premium on $50.00 stock na $100.00 on $4,900.00 net debit, or 2.04% for 30 days. E only hold if stock finish below the strike.

Wetin be the break-even price on covered call?

Na the share price you pay minus premium per share. $50.00 stock with $1.00 premium break even at $49.00. 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 we use throughout this page. If you quote against the undiscounted stock cost, the percentage go slightly smaller. The difference between both na exactly the premium.

Annualized covered call return na yield?

No. Na one period’s return multiplied by 365 and divided by the days in that period. E assume say same premium dey available for every future period and 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 and the holding period become shorter. So the annualized figure rise, while the cash result no change. If early assignment happen the day before ex-dividend date, dividend comot completely from the numerator.


How dem build these panels

The three options panels read daily per-contract greeks. Dem keep only rows where implied volatility solve converge and the contract trade that day. Dem isolate calls by keeping positive delta. Near the money mean strike within 5% of that day’s underlying close. Dem calculate medians deterministically, so if you run the same fixed window again, you get the same figure. The monthly price panel use the last recorded price for each month. The capped series apply 5% ceiling to that same move.

Every panel here carry the exact SQL wey produce am, so open one to see the filters. You fit ask the same questions in plain English on the Strasmore terminal.

#covered calls#options#return calculation#annualized return#assignment