Guide

EXPORT YOUR TRADE HISTORY FROM YOUR BROKER.

Every broker buries this in a different place and calls it something different. Here is where to look.
Short answer

Most brokers put trade history export under an account activity, statements or history section, exported as CSV. You want executions or transactions — the individual fills — rather than a positions snapshot or a realised gain/loss report, because only the execution list contains entry and exit prices with timestamps.

What to export, and what not to

Brokers usually offer three overlapping exports, and only one is useful for journalling.

ExportContainsUse it?
Positions / holdingsWhat you own right nowNo — a snapshot, no history
Realised gain/lossTax-lot matched resultsRarely — lot matching is tax logic, not trade logic
Transactions / executionsEvery individual fill with price, quantity, timeYes

The distinction matters. A realised gain/loss report matches lots for tax purposes, which can split one trade across several rows or merge unrelated purchases. The execution list is what actually happened, in the order it happened.

Where each broker hides it

Charles Schwab

Accounts → History, set the date range, then the export icon at the top right of the table. Choose the transactions view rather than positions. Schwab's range picker defaults to a short window — set it explicitly before exporting or you will get only recent activity.

Fidelity

Accounts & Trade → Portfolio → Activity & Orders, set the period, then Download. Fidelity splits activity across tabs; make sure you are on the one showing executed orders rather than pending or scheduled ones.

Interactive Brokers

Performance & Reports → Statements → Activity, choose a custom date range and CSV format. IBKR's activity statement is section-based and dense — the trades block is what you want. IBKR also allows Flex Queries, which let you define exactly which fields are exported and are worth setting up once if you export regularly.

Webull

Account → History, or on desktop the orders section, with a CSV export option. Webull's export is one of the cleaner ones: one row per fill, with symbol, side, quantity, price and timestamp already separated.

Robinhood

Account → Settings → Reports and Statements, where you can request an account activity report. Robinhood generates it asynchronously and emails a link rather than downloading immediately, so allow time.

Broker interfaces change. If a path above has moved, search the broker's help centre for "export transaction history" — the export itself almost never disappears, it just relocates.

Reading the file

Column names vary but the meanings are consistent:

The two things that break imports

Partial fills

One order for 500 shares can appear as four rows at four prices. That is correct, not an error — it is what happened. Any journal worth using should group those into one position at a weighted average, not treat them as four trades.

Splits and ticker changes

A trade taken before a 2-for-1 split shows the pre-split price, which will not match a modern chart. The same applies to a ticker that changed. Both are handled by adjusting for splits only — never for dividends, because dividend adjustment moves historical prices away from the raw prices you actually filled at.

Or skip the file

CSV export is the fallback. A direct broker connection pulls the same execution data automatically, keeps it current, and avoids the timezone and partial-fill problems entirely — because the data arrives structured rather than reconstructed from a spreadsheet.

Connect the broker instead of exporting from it

TradePiko syncs with 40 brokerages including Schwab, Fidelity, Interactive Brokers, Robinhood and Webull — pulling every fill automatically, grouping partial fills into real positions, and handling splits and ticker changes on its own.

Start free trial →