An options income ledger without double counting
Reconcile stock, option and cash changes with account equity. A premium total alone cannot measure performance.
By OptionsKing. Publisher and editorial methods.
What you will learn
By the end of this lesson, you should be able to:
- Track complete option and stock cash flows.
- Avoid double-counting assigned put premium.
- Reconcile performance with account equity.
Record each entry, closing payment, share delivery and end-of-period holding. Then reconcile the result with account equity after external cash flows. The worked year shows how using premium-adjusted share basis while also counting that premium separately can double-count the same dollars.
The year, by cycle
$50,000, six names, eight cycles of 46 days, mechanical rules and no discretion.
| Cycle | Trades | Premium | Assigned | Called away | Nothing sold | Cumulative premium |
|---|---|---|---|---|---|---|
| 1 | 6 | $546 | 0 | 0 | 0 | $546 |
| 2 | 6 | $552 | 0 | 0 | 0 | $1,098 |
| 3 | 6 | $612 | 5 | 0 | 0 | $1,710 |
| 4 | 6 | $548 | 0 | 0 | 0 | $2,258 |
| 5 | 6 | $503 | 0 | 2 | 0 | $2,761 |
| 6 | 5 | $619 | 0 | 0 | 1 | $3,380 |
| 7 | 6 | $634 | 0 | 0 | 0 | $4,014 |
| 8 | 5 | $584 | 0 | 0 | 1 | $4,598 |
$4,598 on $50,000 is 9.2 percent, and the premium column is beautifully steady. Every cycle between $503 and $634, including the cycle that assigned five positions. Premium income barely notices a crash, which is precisely why a premium-only ledger is dangerous.
The two columns you need
Same year, by name, with the share move alongside.
| Ticker | Trades | Premium | Assigned | Called away | Share move | Net |
|---|---|---|---|---|---|---|
| AMD | 8 | $2,131 | 1 | 1 | $1,000 | $3,131 |
| MU | 8 | $1,591 | 1 | 1 | $500 | $2,091 |
| INTC | 8 | $341 | 1 | 0 | $690 | $1,031 |
| KMI | 8 | $252 | 1 | 0 | $520 | $772 |
| T | 8 | $204 | 0 | 0 | $0 | $204 |
| WBD | 6 | $79 | 1 | 0 | -$140 | -$61 |
| Total | 46 | $4,598 | 5 | 2 | $2,570 | $7,168 |
WBD is the row that justifies the whole exercise. Six trades, every one of them a winner, $79 collected, and the position lost money. A premium-only ledger records six wins and a $79 gain. The account is down $61.
It also shows where the money came from. AMD and MU are $5,222 of the $7,168, and both are the names a concentration limit would have removed. The ledger is where that tension becomes visible instead of theoretical.
The reconciliation, and the $588
Choose one consistent accounting convention. Either record put premium separately and measure assigned stock from the strike, or incorporate it into basis and omit the duplicate premium contribution. Both can reconcile when used consistently; mixing them creates the $588 overstatement.
A ledger that does not tie to the account balance is decoration. Here is the tie.
| Share move against the strike | Share move against the tax basis | |
|---|---|---|
| Opening balance | $50,000 | $50,000 |
| Premium collected | $4,598 | $4,598 |
| Realized on shares sold | $1,500 | $1,993 |
| Unrealized on shares held | $1,070 | $1,165 |
| Total | $57,168 | $57,756 |
| Account actually is | $57,168 | $57,168 |
| Error | none | $588 too high |
$588 is not a rounding artifact. It is exactly the put premium on the five assigned positions: $278 on AMD, $215 on MU, $43 on INTC, $40 on KMI, $12 on WBD.
Here is why. When a put is assigned, your cost basis for tax is the strike less the premium you received, so AMD came in at $110.22 rather than $113. That basis reduction and the premium are the same $278 of money. Put the premium in the income column and then measure the shares against the reduced basis, and you have counted it twice.
The fix is one line: the share column measures against the assignment strike, not against the tax basis. The basis is a tax concept and it belongs on the tax page, not in your performance ledger. Two different numbers answering two different questions, and this is the single most common way a premium seller's spreadsheet flatters itself.
What else the ledger has to hold
Four columns beyond the obvious, each because something in this year would otherwise vanish.
- Cycles where you sold nothing. WBD produced two, in cycles 6 and 8, because no strike at or above its $9.88 basis was worth more than $10. Those rows have no credit and they are not missing data, they are the position telling you it is stuck. Cluster F has the full treatment.
- Collateral committed, by cycle. Return on $26,800 deployed is a different number from return on $50,000, and both are worth knowing. The book earned 14.3 percent on the account and 26.7 percent on the money actually at work.
- Days held, per lot. Assigned shares start a fresh holding period the day after assignment, and both call-aways here were 92 days, which is short-term. You cannot reconstruct that from a premium ledger.
- Commissions. 46 trades plus 7 assignments and exercises. At a dollar a contract that is real money against $4,598, and on smaller credits it is the whole trade.
The three questions a good ledger answers
Did the year work? Premium plus share move, tied to the balance. Here: $7,168, up 14.3 percent.
Where did it come from? Two names out of six. That is a concentration finding, not an income finding.
What did it cost to get? Five assignments in one cycle, $26,800 of collateral immobilised, and two positions capped below where the stock ended.
A premium column answers none of those. It answers "how much cash came in", which feels like the question and is not.
Check your understanding
Must every valid performance ledger use the assignment strike for shares?
Show the explanation
No. That convention works with a separate premium column. A basis-adjusted approach also works if it does not count the same premium again. Consistent reconciliation is the test.
Common questions
How should I track options premium income?
Record all cash flows and both realized and unrealized position changes. One method keeps premium separate and measures assigned shares from strike; another uses adjusted basis without counting the same credit again. Reconcile either method to account value.
What is the most common mistake in an options income spreadsheet?
Counting the premium twice. If you record the credit as income and also measure assigned shares against their reduced tax basis, you double count. On the worked book that inflated the year by exactly $588, the put premium on the five assigned positions.
Is premium collected the same as my return?
No. The worked book collected 9.2 percent of the account in premium and returned 14.3 percent, and one position collected $79 across six winning trades while losing $61 overall.
What should I record for a cycle where I sold nothing?
The row, with no credit and the reason. Two cycles in the worked year had no covered call on one name because no strike above its cost basis was worth $10. A blank row is the position telling you it is stuck.
Sources
Rules and thresholds above were checked against these documents on August 4, 2026. Exchange and broker rules change. Confirm anything you are about to act on with your own broker.
Keep reading
Do the math on your own trade
Every price in this article is an illustrative worked example, not a quote. Read Running the book for the rest of the series, and the disclaimer before you act on any of it. Selling options carries real risk of loss, and the loss can be far larger than the premium you collected.