Documentation
Trades

Expiration & Assignment

How OptionsPro settles a contract that reaches expiration - worthless, in the money, assigned into shares, or cash-settled.

Most trades close because you closed them. The rest close because they ran out of time. This page covers what OptionsPro does with a contract that reaches expiration - how it decides worthless versus in the money, what happens to a short option that gets assigned, and how to correct it when the automatic verdict is wrong.

How a contract settles

OptionsPro doesn't write a synthetic closing trade when a contract expires. The opening trade is stamped as closed by expiration instead, and the position's realized P&L is computed against the resulting close price. That's why an expired contract shows both its original action badge and an Expired Worthless / Expired ITM badge on the Trades page rather than gaining a second row.

The verdict comes from the underlying's closing price on the expiration date, fetched in the background after the contract expires:

  • Out of the money - the contract expires worthless and closes at $0, so the full premium is realized.
  • In the money, not assigned - the contract closes at its intrinsic value against that settlement price.
  • Short and in the money, with the assignment reconciled - the contract closes at $0, keeping its premium, and the intrinsic moves into the share leg instead. See Assignment below for when that reconciliation happens and when it doesn't.

If no trustworthy settlement price is available for the contract, it settles at $0 rather than having an intrinsic value guessed for it.

Expired contracts are never re-quoted, so an expired row shows a dash for unrealized P&L and Greeks from then on - see Market Data.

When it happens

Settlement isn't instantaneous at the bell. The closing price has to be available first, so a contract that expires on Friday is typically booked afterward. While that's in flight, the refining indicator sits next to Realized P&L on the Trades page, and the amber dot next to the Dashboard's Realized P&L card says the same thing.

A daily sweep books anything the first pass missed, so a contract that expired while you were away settles on its own - no sync, and no visit to the app, required.

Assignment on a short option

A short option that finishes in the money is treated as assigned: shares change hands at the strike. For a contract synced from a brokerage, OptionsPro models that share movement so your equity holdings and your options tell the same story. (Hand-entered and imported shorts are the exception - see below.)

  • Short put assigned - a BUY of 100 shares per contract at the strike appears in Stocks, described as a forced share purchase.
  • Short call assigned, covered - a SELL at the strike for as many shares as you held in that account ("called away").
  • Short call assigned, naked - the uncovered contracts add a BUY at the settlement price and a SELL at the strike, which is what delivering shares you didn't own actually costs.

The option itself books its premium rather than its intrinsic value. That is the point of modelling the share leg: the intrinsic loss lives in the shares' cost basis (or in the sale proceeds), so charging it to the option as well would count the same loss twice.

Shares that arrive this way are what Wheel Cost Basis reads to name a holding's assignment origin. Its Adjusted basis column and premium ledger are the place to see what the shares effectively cost you after the premium you collected.

When your broker reports the assignment itself

Most brokers report the delivery as ordinary stock activity. When those rows are already on file, OptionsPro uses them and doesn't fabricate its own - matching on symbol, side, quantity, and a price at the strike.

A broker's stock leg can land a couple of settlement days after the expiration date. If OptionsPro synthesized a leg in the meantime and the broker's own row turns up afterward, the synthesized one is retracted, to avoid counting the same delivery twice. If holdings still disagree, check Data Quality Warnings.

What isn't inferred

  • Early assignment. American-style short options can be assigned before expiration, commonly around an ex-dividend date. OptionsPro doesn't guess at one - an early assignment shows up when your broker reports it, through the normal trade sync.
  • Exercising a long option. A long contract you let expire in the money is settled at its intrinsic value, and no share leg is created for it. If you exercised and took delivery, those shares arrive with your broker's stock activity.

Hand-entered and imported shorts

The worthless-vs-ITM verdict above applies to every contract, whatever its source - the settlement pass doesn't care where a trade came from.

The share legs are the exception. Manual and imported trades carry no brokerage account, and an account has to exist before we can decide what the short was covered by - a covered call and a naked one produce different legs, and that boundary is per account. So an account-less short that expires ITM gets no fabricated shares. It settles at its intrinsic value instead, which charges the assignment's cost to the option rather than to a share lot. The books still balance; there just aren't any shares.

If shares really did change hands, record them yourself on Stocks with Add holding (a purchase at the strike for an assigned put, a sale for a called-away call). OptionsPro matches a share lot at the strike back to the short that produced it, and once it does, that contract switches to the assigned treatment described above: premium kept on the option, cost carried by the shares. That link is also what gives Wheel Cost Basis its assignment origin.

Cash-settled index options

Index options don't deliver shares - they settle in cash. OptionsPro treats the cash-settled index roots (SPX, SPXW, SPXPM, XSP, XSPW, NDX, NDXP, NQX, RUT, RUTW, MRUT, VIX, VIXW, DJX, OEX, XEO, NANOS, MXEA, and MXEF) accordingly:

  • No stock legs are created, so an index root never shows up as a phantom share holding.
  • The contract settles at its cash value as a terminal close of the position.
  • Some brokers report a cash settlement with the contract's strike in the price field instead of a per-contract value. OptionsPro detects that and derives the real per-contract settlement from the cash amount, so a four-figure strike never lands in your P&L as a premium.

Recording or correcting a settlement

The automatic verdict is an inference from a closing quote, so it can be wrong - a settlement right at the strike, or a contract whose underlying we priced badly. You have the final say.

On a trade you entered by hand or imported:

  • Close Position offers Expired Worthless (price fixed at $0) and Expired ITM (you supply the underlying's settlement price, and intrinsic value is computed from it). See Closing Trades.
  • Close Position (Override Expiration) is the label that action takes on a row that already settled by expiration. Use it to replace the recorded settlement, either with a different expiration outcome or with a real close at a price.
  • Delete Settlement Trade is what Delete Trade becomes on a system-generated settlement row in the Trades table. It removes that row, which changes the position calculations built on it, and can't be undone.

On a broker-synced trade the close actions aren't offered, because deleting or re-closing a synced fill would break reconciliation against your broker. What you can correct depends on which part is wrong:

  • The fill. Wrong contract, quantity, price, or date - where Edit Trade Details is enabled for your account, use it to make a correction, which records your values as an override and leaves the broker's record intact. See Editing trade details.
  • The settlement. A wrong worthless-vs-ITM outcome, or a bad settlement price, is not something that editor reaches - it overrides contract and execution fields only, and the settlement price and outcome aren't among them. Tell us instead, with the contract and the expiration date. It usually means we priced the underlying badly on the expiration date, which is ours to fix rather than yours to work around.

The AI assistant can also mark trades expired on your behalf, worthless or assigned ITM, after you approve the action.

Any of these re-runs the P&L for the affected contract, so the dashboard, calendar, and positions numbers follow within moments.

Where to see the result

  • Trades - the Expired Worthless / Expired ITM / Expired OTM badge on the row, and an Expiration Info section in Trade Details carrying the underlying price at expiry.
  • Positions - the Expired status filter, and a red expiration badge on the row.
  • Calendar - Positions Expiring for the day, and the realized P&L the settlement produced in that day's cell.
  • Stocks - shares that arrived (or left) through an assignment.
  • Brokerages - if a broker's own history disagrees with what we derived, the data-quality dialog says so rather than quietly serving a confident number.

On this page