Broker guide

Schwab wheel tracker: import your CSV

Schwab — including accounts migrated over from thinkorswim — exports a Transactions CSV that ThetaRecap reads with full options awareness. It handles the assignment and expiration rows a wheel runs on, so your campaigns chain and reconcile against Schwab's own totals.

Options-aware Transactions CSV

Export the CSV from Schwab

  1. 1Sign in to Schwab and open the account's History or Transactions view.
  2. 2Choose a date range that covers the campaigns you want to import.
  3. 3Export the transactions to CSV (the file may include a title line and a totals line — ThetaRecap finds the real header automatically).
  4. 4Drop the CSV into ThetaRecap; the raw file is stored immutably before parsing.

What ThetaRecap reads

  • Buy/Sell to Open and Close on options
  • Assigned, Expired, and Exchange-or-Exercise lifecycle rows (at price zero)
  • Plain Buy/Sell equity rows — including the share legs assignment produces
  • Schwab-style option symbols (UND MM/DD/YYYY STRIKE C|P), re-emitted as padded OCC
  • Dollar amounts with $ signs, commas, and parentheses for negatives

Full options support. The wheel chains end to end because assignment and exercise rows are first-class fills, not skipped events. Non-trade rows — dividends, journals, transfers, interest, totals — are ignored on purpose.

Good to know

  • Schwab rows carry a date but no time, so fills are stamped at midnight Eastern and intraday ordering within a day is lost. Roll pairing uses same-session rules, so rolls still link correctly.
  • There is no stable per-fill reference in this export, so ThetaRecap deduplicates by occurrence — re-uploading the same file will not double-count.
  • A plain Buy/Sell on an option-shaped symbol (ambiguous open vs close) stops with a clear error rather than being assumed.

ThetaRecap parsers are deliberately loud: in an ambiguous case they stop with a clear error rather than silently skipping a row. And because your raw file is stored immutably, a parser fix re-runs against your original upload — you never re-export to recover.

Import your Schwab history free.

CSV in, campaigns out. No brokerage credentials, ever.

No card required. Free while we are in public beta.