A Charles Schwab trading journal is a record of your Schwab trades with what the account history leaves out: the plan before each entry, the result in R and whether the rules were followed. Instead of typing every fill, you export the transaction history from schwab.com as a CSV file and import it.
How to export your Schwab trades
- Sign in at schwab.com and open Accounts › History. Schwab keeps up to four years of transaction history there.
- Choose the account and the Transactions view, and set the date range.
- Use Export and save the file as CSV.
Export one account at a time, and for a long history use several shorter periods, which keeps each file small and easy to check.
What the file contains
Each line is one transaction, with the columns a journal needs: Date, Action, Symbol, Quantity, Price and Fees & Comm. The Action column says what happened:
| Action | Meaning in the journal |
|---|---|
| Buy | Opens or adds to a long, or covers a short |
| Sell | Reduces or closes a long |
| Sell Short | Opens a short |
| Dividends, interest, transfers, journals | Not trades: left out |
Quantities are unsigned, so the Action decides the direction. Dates come without a time of day (some dates read "as of" an earlier date; the first one is used), so trades on the same day keep the order of the file. The export may also carry a title line above the column headers and a total line at the end; neither is a trade.
Worked example (illustrative numbers)
Illustrative numbers only. The export lists, for a made-up ticker XMPL, "Buy 300 at $18.20" on 4 May and "Sell 300 at $17.10" on 6 May, with no commission. The import makes one closed long trade with a loss of $330. The history stops there. In the journal, the plan said the stop was $17.40, so 1R was $0.80 a share and the loss should have been −1.0R; the exit at $17.10 made it about −1.4R. The review finds the problem the statement can't: the stop was not respected.
After the import
An imported trade has fills and fees but no plan. For each one, add the stop you planned, the target, the setup and one line on why you took the trade. That turns the P&L into R, lets the statistics group trades by setup, and gives the review something to compare the execution with. Then set a fixed time each week to read the closed trades; see how to review your trades.
Common mistakes
- Exporting all accounts together. A sale in one account can't match a purchase in another; import each account separately.
- A period that starts mid-position. Sales whose purchase is before the start date are left out. Begin on a day with no open positions.
- Expecting intraday times. The schwab.com export has dates only. If the order within a day matters, add times by hand to those trades.
- Options and mutual funds. Option lines are skipped, since the journal covers US stocks and ETFs. Mutual-fund and money-market purchases have stock-like symbols, so delete those lines from the file before importing.
- Stopping at the import. The file has fills, not plans: add the stop and setup to see R and check the rules.
In Clear Tape
In the trade journal (Journal in the dashboard menu), Import CSV has a Charles Schwab preset that recognizes the transaction history's columns by name, reads Buy, Sell and Sell Short, adds Fees & Comm to each fill and skips every other action. The file is read in your browser, only the trades are sent, and Clear Tape never connects to your Schwab account. The preview lists the trades found, the lines left out with the reason, and trades already in the journal, so overlapping exports don't create duplicates. The import is free on every plan; see the trade journal page. Other brokers: import trades from any broker's CSV.
To check the habits in this export before importing it, open it in the free trade history analyzer, which recognizes the Charles Schwab file.
For educational purposes only. Not investment advice.