Skip to content
Broker guide

Charles Schwab trading journal

Connect Schwab read-only, or export your History as a CSV and drop it in. Older TD Ameritrade transaction files import too. Read your trading back as an equity curve, a calendar and your own written notes.

In short

Connect Charles Schwab read-only and your fills refresh daily, back about four years. Or export your Schwab History as a CSV, or an older TD Ameritrade transaction file, and drop it onto Import & Export. Either way you get positions, an equity curve, calendar P&L and your notes, free forever.

How do I import Charles Schwab trades into a journal?

Connect Schwab from Connections, or export your account History as a CSV, open Import & Export in sizeforzero, choose the account, drop the file and press Import trades. Buy and sell rows, short sales and option expirations become positions, and dividends and interest are recorded as income.

Connect Charles Schwab

  1. In sizeforzero, open Connections.
  2. Choose Schwab.
  3. Sign in on Schwab’s own page. The link is read-only, so sizeforzero can see your trades and cannot place one.
  4. Your fills arrive and then refresh every day. Schwab shares roughly the last four years of history; the connection brings in everything it has.

For trades older than that, import a History CSV. The two routes can sit side by side in one journal.

Import a Schwab History CSV

  1. In Schwab, open Accounts, then History, and choose the account and the date range you want.
  2. Choose Export and download the CSV.
  3. In sizeforzero, open Import & Export and choose the account to import into.
  4. Drop the file. Exported from is picked from the file’s columns when sizeforzero can tell; check that it says Charles Schwab.
  5. Press Import trades. You are told how many fills landed, how many were skipped as already imported, and anything that needs a second look.

The export is a transaction history with the columns Date, Action, Symbol, Description, Quantity, Price, Fees & Comm and Amount. Older exports open with a title line and close with a totals row; both are skipped.

Import an older TD Ameritrade file

  1. Find the transaction history you exported from TD Ameritrade before your account moved to Schwab. It is a CSV that ends with an END OF FILE line.
  2. In sizeforzero, open Import & Export and choose the account to import into.
  3. Drop the file and check that Exported from says TD Ameritrade (legacy export).
  4. Press Import trades.

This export puts the side at the start of the Description, as in Bought 2 or Sold 1, and writes options into the Symbol column. Expiration rows, transfers and cash-alternative rows are skipped.

thinkorswim and TD Ameritrade accounts

There are two TD-era files and they are treated differently. The old TD Ameritrade transaction export is supported as its own preset, so a file you saved years ago still imports.

The thinkorswim desktop account statement is not supported. It is a single file stacking several titled sections, such as cash balance, order history and trade history, with fees held in a different section from the fills, so it cannot be read reliably as one list of trades. Use the Schwab History export instead, or the connection, which reads the same account without any file.

The Schwab action column

Schwab’s Action column has dozens of values, and they are sorted rather than guessed. Buy and Sell are plain trades. Buy to Open, Buy to Close, Sell to Open and Sell Short say what an order did to the position, so a short sale opens a short and the matching buy covers it.

Dividends, interest, margin interest, fees, MoneyLink transfers, wires and journals are recognised and kept out of your trade count. Dividends and interest are recorded as income, and fees and transfers are recorded as such. A stock split or reverse split is applied to the open position, with cost basis rescaled so the total cost does not change.

An Expired row closes the open option at zero on its own date, and an Assigned row closes the option as an assignment. If an assignment row is worded differently in your file, it is flagged with the contract named and the share trade to add by hand.

Dates and the “as of” rows

Schwab sometimes writes a settlement-lag row as two dates, for example 03/02/2026 as of 03/01/2026. The date that matters is the one after “as of”, because that is the day the trade happened, and that is the date sizeforzero keeps.

The history export carries dates only, so a Schwab CSV cannot put same-day fills in minute order. Money columns arrive with dollar signs and the minus in front of the sign; both are read as they stand.

Options in a Schwab file

An option is written into the Symbol column as the underlying, the expiration, the strike and C or P, for example LUNR 05/15/2026 34.00 C. sizeforzero splits that into its parts, so every contract keeps its strike and expiration. Single-leg calls and puts are supported. Multi-leg strategies are not tracked as one position.

Currency and accounts

A Schwab history file has no currency column, so every row is booked in US dollars. Create the journal account in USD. Positions can be held in USD, CAD, GBP, EUR, AUD, JPY or CHF and keep their own currency.

Make one journal account per Schwab account. Under Show more, an account’s type can be Cash or individual, Margin, TFSA, RRSP, FHSA, RESP, LIRA, or Other or not sure. IRA and Roth are not types of their own, so use Other or not sure for those.

What the Schwab import leaves out

Futures, forex and crypto are not supported, which includes the futures and forex sections of a thinkorswim statement. A row that is not clearly a trade is flagged for review with a plain reason instead of being guessed at.

sizeforzero never places an order and never moves money. It reads what already happened.

Does sizeforzero sync with Charles Schwab automatically?

Yes. Connect Schwab from Connections, sign in on Schwab’s own page, and fills refresh daily. The link is read-only, and Schwab shares roughly the last four years of history, so older trades come in by CSV.

How far back does the Schwab connection reach?

About four years. That is the history Schwab shares, and the connection brings in everything it has. For anything older, export a History CSV and import it into the same account.

Can I journal my old TD Ameritrade trades?

Yes, from a file. The legacy TD Ameritrade transaction export is a supported preset, and its options, commissions and regulatory fees are read. Accounts that now sit at Schwab can also be connected directly.

Does sizeforzero read thinkorswim account statements?

No. The thinkorswim desktop statement stacks several sections in one file and keeps fees apart from fills, so it is not supported. Export the Schwab History CSV instead, or use the connection.

Which Schwab export should I use?

The History export from Accounts, then History. It is the one with Date, Action, Symbol, Description, Quantity, Price, Fees & Comm and Amount columns, and it is a supported preset.

How are Schwab short sales handled?

A Sell Short or Sell to Open row opens a short, and Buy to Close covers it. A plain Sell with no open position is not turned into a short; it waits for review as a possible orphan sale.

What do the “as of” dates in a Schwab file mean?

A row such as 03/02/2026 as of 03/01/2026 is a settlement-lag entry. The trade happened on the second date, so that is the date kept on your fill.

Are Schwab stock splits handled?

Yes. A Stock Split or Reverse Split row is applied to the open position and the cost basis is rescaled so the total cost stays the same. A split against a position that is not open is refused with a plain reason.

What happens if I import the same Schwab file twice?

Nothing is written twice. Every upload is fingerprinted, so a Schwab export you have already imported adds no trades and says so plainly. Exports for overlapping periods are safe, and recent imports keep a one-click undo for 24 hours.

Can sizeforzero place trades or move money at Schwab?

No. It is a journal, not a broker. The Schwab connection is read-only, and sizeforzero never places an order, holds funds or gives investment advice.

What does a Charles Schwab trading journal cost?

The journal is free forever: unlimited trades, every account, broker connections, CSV in and out, full analytics, the equity curve and calendar P&L, with no credit card. Pro turns the AI always on after a 30-day free trial. The pricing page has the current plans.

Once the trades are in

More on registered accounts, CAD and USD side by side, and Canadian tax record-keeping on the trading journal for Canadian traders page. Terms like expectancy, R multiple and profit factor each have a plain-English entry in the glossary. The full plan breakdown is on the pricing page.

Keep reading

Bring in your first Charles Schwab trades and see the equity curve behind them. Free, no card.

Start free

The fine print

sizeforzero is an independent trading journal. We are not affiliated with, endorsed by, or partnered with Charles Schwab & Co., Inc.. Charles Schwab is a trademark of its owner, referenced here only to describe whose account data this journal can read, by CSV or by a read-only connection.

For informational purposes only. Not financial advice. Past performance does not guarantee future results.