Open any broker export in a spreadsheet and you will find between eight and forty columns. About six of them matter.
Fills or round trips?
This is the first thing to establish, and it changes everything downstream.
- A fills or executions export has one row per execution. A position built over three buys and exited over two sells is five rows, and no row contains a profit figure, because no single execution has one.
- A round trip or closed positions export has one row per completed trade, with an entry, an exit and a realised P/L.
If your file has a P/L column with numbers in it, you have round trips. If it does not, you have fills, and they need pairing - matched first in, first out - before they mean anything.
Quantity means three different things
The quantity column is the most dangerous one in the file:
- On stocks it is shares.
- On options and futures it is contracts - and a contract is not one unit of anything. An option contract is usually 100 shares; a futures contract is worth its point value.
- On forex it is units of the base currency, so 10,000 is a mini lot.
Read that column as shares when it is contracts and every risk figure you calculate afterwards is wrong by a factor of 100.
Which P/L column to trust
Exports often carry several. In rough order of usefulness:
- Realised P/L or Net P/L - after fees. Use this one.
- Gross P/L - before fees. Usable, but it flatters you, and the gap is large for active traders.
- Proceeds or Amount - cash moved, not profit. A $10,000 sale of stock you bought for $9,800 shows as 10,000 here.
Dates and times
Some exports give you one timestamp per execution; better ones give open and close times on the same row. If you only have one, it is usually the execution time, and pairing fills is what recovers the entry and exit.
Check the time zone. Many brokers export in UTC or in the exchange's local time, and an hour-of-day analysis built on the wrong zone will tell you confidently that you trade badly at four in the morning.
Rows that are not trades
Transaction histories include deposits, withdrawals, dividends, interest, fees, assignments, expirations and transfers. Imported as trades, these become positions with no exit that quietly poison every average in the journal. They should be skipped - and if you are doing this in a spreadsheet, that is a filter you have to remember every single time.
Symbols
- Stocks - plain tickers.
- Options - an OCC code like
TSLA260612P00380000: underlying, expiry, P or C, strike. The underlying is TSLA, not "TSLAP". - Futures - root plus month letter plus year, like
MNQZ5. Group on the root. - Forex - six letters, two currency codes, sometimes with a broker suffix like
.pro.
Journal prompts
- Does my export give fills or round trips?
- Is the P/L column net of fees?
- What time zone are the timestamps in?
