A roll is two trades dressed as one: you buy back the option you're short (a debit) and sell a new one (a credit). So the profit on a rolled position isn't any single fill — it's the running total of every credit and debit from the first sale to the final close:
That's the whole formula. Everything confusing about roll accounting comes from the pieces being scattered across separate trades, often weeks apart.
You own 100 shares of XYZ and run a covered call campaign. The chain:
| Date | Action | Cash (per share) | Cash (1 contract) |
|---|---|---|---|
| Aug 19 | Sell Sep $50 call | +$4.40 | +$440 |
| Sep 12 | Buy back Sep $50 call (roll, leg 1) | −$5.20 | −$520 |
| Sep 12 | Sell Oct $55 call (roll, leg 2) | +$7.10 | +$710 |
| Oct 3 | Buy back Oct $55 call (final close) | −$2.50 | −$250 |
| Realized option profit | +$3.80 | +$380 | |
Four fills, one number: $380. Not $440 (that ignores the buybacks), and not $630 (that's credits only).
Per-share prices, exactly as filled. Roll credits are positive if you collected, negative if you paid.
When you place a roll, the broker quotes it as a single net credit: "$1.90 credit." That number is real, but it already hides a buyback — the $5.20 you paid to escape the Sep call is netted against the $7.10 you collected for the Oct call. Two mental errors follow:
The discipline is simple: evaluate the chain's running total, never the leg. A roll that collects $1.90 while the chain sits at +$380 is a win. The same $1.90 collected while the chain sits at −$200 is digging.
There's no last buyback — every credit is kept. In the example, if the Oct $55 call had expired out of the money, realized option profit is $630 ($440 + $190), and you keep the shares to sell the next call.
Assignment ends the option chain and starts the stock math. You keep all option premium collected to that point ($630), and your shares sell at the strike ($55). The full campaign result is option premium + (strike − your real cost basis) × shares. This is where most sellers' spreadsheets break: the premium you've collected should reduce what the shares "really" cost you, so the called-away sale at $55 is measured against basis after premium — not the price on your original fill.
Identical math. Credits minus debits across the chain. The only difference is what sits underneath: collateral instead of shares, and assignment means buying stock at the strike — at which point the put premium you banked along the way lowers your cost basis in the shares.
None of the arithmetic is hard. What's hard is that your broker fragments the chain into separate trades — different dates, different rows, sometimes different accounts — and asks you to reconstruct it. Three rolls into a busy month, across a dozen tickers, "what did I actually make on XYZ?" becomes an archaeology project with a spreadsheet and a headache.
ThetaIQ exists because of exactly this. Log the original trade and each roll against it, and the app keeps the chain together: the opening premium, every roll credit or debit, the closing cost, and one realized P&L number for the whole campaign. If the shares are assigned mid-chain, the premium folds into the lot's cost basis automatically — so the called-away math above is already done when you get there.
Free plan, any broker, sixty seconds to set up.
Track your rolls free →