OptionBasis

Drop in a brokerage activity statement. For each stock you own, see how much option premium you've collected against it and what the shares really cost you after that premium.

Runs entirely in your browser — the statement is never uploaded anywhere. Refresh and it's gone.

Guides
Drop statement CSVs here, or tap to choose
Interactive Brokers: Client Portal → Performance & Reports → Statements → Activity → CSV. Robinhood: Account → Reports and statements → Activity reports → CSV. Overlapping statements are de-duplicated.
🎁
Sell covered calls at Interactive Brokers — the broker this tool was built on
Open an account through this link and get up to $1,000 in IBKR stock under IBKR's Refer-a-Friend program. Lowest option commissions of the big brokers, and statements that drop straight into OptionBasis.
Open an account →
Referral link: we're compensated if you open and fund an account. It doesn't change the calculations.
By stock
Nothing loaded yet. Drop an activity statement above to see your numbers.
How it works
  1. 1 · Export
    IBKR: Performance & Reports → Statements → Activity → CSV. Robinhood: Reports and statements → Activity reports → CSV. One month or a whole year; overlapping periods are de-duplicated.
  2. 2 · Drop it here
    The file is parsed in your browser. Assignments, rolls, buybacks and expirations are matched up per stock automatically.
  3. 3 · Read your real basis
    Strike minus the put that got you assigned, minus every call since: what the shares actually cost you, and the price where you break even.

Common questions

How do you calculate cost basis after selling covered calls?

Take what you paid for the shares you still hold and subtract the net option premium: every credit from selling calls, minus every debit from buying them back, minus commissions. Divide by shares held for the adjusted cost per share. If the shares arrived by put assignment, the strike is reduced by that put's premium first.

Does covered call premium reduce my cost basis for taxes?

No. Premium from a call that expires worthless is its own short-term capital gain; it does not change the shares' tax basis. Premium from a put that is assigned does reduce the basis of the shares you acquire. The adjusted basis this tool shows is a trading view for decisions, not a tax figure — use your broker's tax documents for filing.

Is my brokerage statement uploaded anywhere?

No. The file is read and parsed by JavaScript in your own browser. There is no upload endpoint, no account and no server-side storage. Close the tab and it is gone unless you tick 'remember on this device', which uses your browser's local storage only.

Which brokers are supported?

Interactive Brokers activity statements and Robinhood activity reports, both as CSV. Overlapping statements are de-duplicated, so you can upload a year of monthly files plus a year-to-date one without double counting.

How is a rolled covered call counted?

A roll is two trades. The buyback is a debit against the contract you closed and the new sale is a credit on the new contract, so a roll for a net debit shows as a cost on the old line and premium on the new one. Both count toward the shares, which keeps a losing roll from looking like a losing position.

Brokers that make this easy
Selling covered calls needs a broker with good option fills and exportable statements. These are referral links: opening an account through them supports this site at no cost to you.