Import your history
CSV import is how you bring an existing trading history into Tradr. Export the trades from your broker, upload the file, map its columns to Tradr fields, preview the result, and commit.
What Tradr connects to
Section titled “What Tradr connects to”Tradr imports from a file you export from your broker. It does not hold your broker credentials and it does not place orders.
There is no direct broker connection today — no Interactive Brokers link, no live price feed, no OAuth to any brokerage. Tradr ships broker-specific column presets so a familiar export maps in one click, but the transport is always a file you supply. A direct read-only IBKR connection is planned; until it ships, CSV is the only import path, and this page will say so.
Before you start
Section titled “Before you start”Create an account first. An import needs somewhere to put the trades, and the importer will not proceed without one. See Accounts.
Imports are additive. They add positions and fills to the target account and never replace what is there, so importing the same file twice gives you the trades twice. There is no de-duplication.
Step 1 — Choose the target account
Section titled “Step 1 — Choose the target account”Open Import and pick the account under 1. Target account.
Step 2 — Upload the file
Section titled “Step 2 — Upload the file”Select Choose file and pick your export. The server parses and validates it on upload; nothing is written to your account yet.
The limits are 10 MB per file and 10,000 data rows. Split a larger export and import it in parts.
Step 3 — Map the columns
Section titled “Step 3 — Map the columns”Tradr does not guess what your columns mean. Tell it, either by choosing a preset or by mapping each field by hand.
Presets pre-fill the mapping for a known export format — Interactive Brokers Flex Query trades, a generic one-row-per-fill layout, and formats used by common journalling tools. A preset for a format with options also sets the option contract form (see Options). Choosing one fills the fields in; you can then adjust any of them. A preset is a starting point, not a lock.
Set these alongside the mapping:
| Setting | What it controls |
|---|---|
| Row shape | Whether each row is one fill (Execution) or a whole round trip with entry and exit on one line (Round-trip). Set independently of the preset. |
| Timezone | The zone your export’s timestamps are written in. This is neither the account’s trading-day timezone nor your reporting timezone. |
| Date format | How to read the date column — ISO, US, and so on. |
| Number format | Whether 1,234.56 or 1.234,56. |
For execution rows, these fields are required:
- Symbol
- Asset type
- Price
- Quantity
- Filled at (date/time)
- Exactly one of Type (entry/exit) or Action (buy/sell)
A preset that declares a descriptor column satisfies Asset type from that column. The Tradervue preset works this way.
Preview import stays disabled until all of them are mapped, and the page lists what is still missing.
Options
Section titled “Options”Tradr imports option trades. It stores each option position as a compact OCC
symbol, for example NVDA260321C120.
Choose the contract form
Section titled “Choose the contract form”Tell Tradr where to find the option contract in each row. Set the contract form in the mapping. There are three forms:
| Contract form | Where Tradr finds the contract | Preset |
|---|---|---|
| OCC symbol | The Symbol column holds a full OCC contract symbol. | Interactive Brokers |
| Separate columns | Separate columns hold the expiry, strike, and call or put. The underlying comes from the Symbol column. | TradeZella |
| Descriptor | One column holds a text descriptor of the contract. This form is preset-only. | Tradervue |
For the separate-columns form, also set the Expiry format. The Expiry format
tells Tradr how to read the expiry column. The choices are ISO, YYYYMMDD, and
DD-MON-YY.
100-share contracts only
Section titled “100-share contracts only”Tradr represents 100-share option contracts only. It refuses a row with a different multiplier. It also refuses a mini contract.
Which rows to export
Section titled “Which rows to export”Export the Trades section of your report only.
Tradr refuses assignment, exercise, and expiration rows. Tradr does not yet import option lifecycle events. Close or remove these contracts by hand.
A contract with no closing row stays open, the same as a stock position.
Interactive Brokers Flex Query
Section titled “Interactive Brokers Flex Query”Build a Trades Flex Query for the Interactive Brokers preset. Include these fields:
Symbol, AssetClass, Buy/Sell, Quantity, TradePrice, IBCommission,
DateTime, Multiplier, and Notes/Codes.
Set the Date format to ISO date and time.
The preset reads signed values. A negative quantity is a sale. A negative commission is a cost. Tradr stores the size either way.
To map the contract with separate columns instead of the OCC symbol, also
include UnderlyingSymbol, Strike, Expiry, and Put/Call. Then switch the
contract form to separate columns.
Tradervue monthly options
Section titled “Tradervue monthly options”A Tradervue monthly option names a month but no day. Tradr derives the expiry as the third Friday of that month.
This derived date can differ from the broker’s OCC expiration date. So the same contract imported from an OCC symbol may not match as a duplicate.
Step 4 — Read the preview
Section titled “Step 4 — Read the preview”Select Preview import. Nothing has been written yet — this is the check.
The summary counts what Tradr found:
| Meaning | |
|---|---|
| Rows parsed | Data rows read from the file |
| Rows valid | Rows that mapped cleanly |
| Rows with errors | Rows Tradr could not read. They are listed with their line numbers. |
| Positions | Positions these rows will become |
| Fills | Fills across those positions |
Below the summary, each proposed position is shown with its fills and, when the rows close it, its proposed P&L.
How rows become positions
Section titled “How rows become positions”Fills are grouped by symbol and direction. A position runs from its first entry until the quantity returns to flat; the next fill after that starts a new position.
So four rows — buy 100 AAPL, sell 100 AAPL, buy 50 MSFT, sell 50 MSFT — become two closed positions, not one and not four.
Row numbers in the preview count the file’s lines, so the header is row 1 and the first trade is row 2. That matches what your spreadsheet shows.
Step 5 — Confirm
Section titled “Step 5 — Confirm”Select Confirm import.
Expected result: Added 2 positions and 4 fills to the target account., with
a link through to them.
The realized P&L posts to the account balance at the same time. In the worked example above, a $25,000.00 account becomes $25,303.50 — plus $473.00 from AAPL, minus $169.50 from MSFT, both after fees.
A preview you do not confirm expires after 30 minutes.
If something is wrong afterwards
Section titled “If something is wrong afterwards”There is no “undo import”. Positions imported are ordinary positions: open one and fix a fill, or delete it. Deleting reverses its P&L out of the balance. See Log and manage positions.
For a bad import of any size, deleting position by position is the only path today. Preview carefully — that is what the step is for.
Troubleshooting
Section titled “Troubleshooting”Preview importstays greyed out — a required field is unmapped. The line above the button names which.- Rows with errors is not zero — open the list. It gives the line number and what failed, usually a date that does not match the chosen date format.
- Every row failed on the date — the Date format or Timezone setting does not match the file.
- Quantities look wrong by a factor of a thousand — the Number format is
reading
1,234as1.234or the reverse. - The P&L in the preview is not what you expect — check whether your export already nets fees out of the price. Tradr subtracts mapped fees itself, so fees counted twice show up here, before anything is written.
- An option Symbol fails to parse — switch the contract form to separate columns and map the underlying, expiry, strike, and call or put.
- Every option row failed on the expiry — the Expiry format does not match the expiry column.
Related
Section titled “Related”- Log and manage positions — what an imported position looks like once it lands.
- Accounts & the multi-currency ledger — pick the account an import belongs to.