CSV Import lets you load historical trades from a spreadsheet into QuantWheel's journal. Use it for three common scenarios: importing trades from a broker QuantWheel doesn't support natively, loading pre-QuantWheel history before you connected your broker, or bulk-adding manual trades that would be tedious to enter one at a time.
Once imported, trades appear everywhere in the Journal — Transactions, Calendar, Per-Ticker, and Profit View — with the same treatment as auto-synced trades.
Before you start
Required:
- QuantWheel PRO or an active $1 trial. CSV Import is a PRO feature.
- A CSV file containing the trades you want to import.
Time to complete: 10 minutes for a first import (mostly spent preparing the CSV); faster thereafter.
Steps
1. Open the CSV Import page
Click the gear icon in the top bar → Settings → CSV Import.
📸 SCREENSHOT: import-trades-via-csv-step-1.png
2. Prepare your CSV
QuantWheel's importer expects specific columns. The exact list is documented on the CSV Import page; the core required columns typically include:
- Date — trade date
- Ticker — underlying symbol
- Type — BUY or SELL
- Asset — STOCK, OPTION, or the specific option type (CALL, PUT)
- Strike — option strike (blank for stock)
- Expiration — option expiration (blank for stock)
- Quantity — shares or contracts
- Price — per-share or per-contract price
Optional but useful columns:
- Account — which account the trade belongs to (if you manage multiple)
- Commission — transaction fees, for precise P&L tracking
- Notes — free-text notes per trade
Most broker CSV exports don't match QuantWheel's format exactly. You'll typically need to:
- Rename columns in your spreadsheet to match the required names
- Convert dates to the expected format (usually YYYY-MM-DD)
- Split combined columns (e.g., if your broker exports "AAPL 230106C00150000" as one column, split into ticker, expiration, type, and strike)
📸 SCREENSHOT: import-trades-via-csv-step-2.png
3. Upload the CSV
Click Choose File (or drag the CSV onto the upload area). QuantWheel parses the file and shows a preview.
4. Review the parse preview
The preview shows how QuantWheel interpreted each row. Watch for:
- Column mapping — are QuantWheel's expected columns matched to the right fields in your CSV?
- Row counts — does the "N rows detected" figure match what you expect?
- Validation warnings — any row with a data issue gets flagged (unrecognized ticker, invalid date format, negative quantity, etc.)
If the mapping is off, cancel and fix the CSV. If only a few specific rows have warnings, you can usually proceed and fix those rows after import.
📸 SCREENSHOT: import-trades-via-csv-step-3.png
5. Assign trades to an account
If your imported trades should be grouped under a specific account label, pick it from the Account selector. This keeps imported trades separate from auto-synced ones if you want them that way.
Alternative: create a dedicated "Manual Import" account label just for CSV-imported trades. Makes it easy to distinguish later.
6. Confirm and import
Click Import. Depending on row count, the import takes a few seconds to a few minutes. When it completes, you'll see a success message with the count of rows imported.
7. Verify in the Journal
Open Journal → Trades. Filter by the imported account label or by the date range of the CSV. The imported trades should appear. Spot-check a few rows against your source CSV to confirm the parse was clean.
📸 SCREENSHOT: import-trades-via-csv-step-4.png
When to use CSV Import
Importing from an unsupported broker
If you trade with a broker QuantWheel doesn't support natively (some international brokers, crypto exchanges, specialty platforms), exporting the broker's CSV statement and importing it gives you the same journal analytics as an auto-synced connection.
Backfilling history before your QuantWheel account existed
Most wheel traders have trading history from before they found QuantWheel. Auto-sync only captures trades after connection. CSV Import lets you bring in that historical context so Per-Ticker performance, Profit View cumulative curves, and tax-style reporting cover the full history.
Fixing sync gaps
If broker sync missed a specific period (e.g., during a migration or a prolonged API outage), exporting that period's statement and importing it fills the gap.
Bulk-entering manual trades
If you have 50+ trades to enter manually (maybe from paper-trading records, from a back-test, or from a deprecated tool), CSV is much faster than the one-at-a-time +Add Trade flow.
Common issues
My broker's CSV doesn't match the required format.
Expected. Almost every broker formats differently. You'll need to transform the CSV — rename columns, split combined fields, adjust date formats — before upload. A spreadsheet tool (Excel, Google Sheets) is usually enough.
I got a warning on some rows — should I still import?
Warnings flag specific rows with issues. If only a few rows are flagged and the rest parse cleanly, importing and fixing those specific rows afterward (via +Add Trade) is usually the best path. If many rows are flagged, investigate the CSV — the issue is probably systematic (wrong date format across all rows, wrong column order, etc.).
Import said "complete" but I don't see the trades.
Filters may be hiding them. On the Trades tab, check the Account filter and the date range — if they're set narrowly, the imported trades may fall outside. Reset filters to see everything.
Can I re-import the same CSV without creating duplicates?
QuantWheel tries to detect duplicates based on date, ticker, and quantity. Very similar trades (two identical 100-share buys on the same day) may still import as separate rows. If you're re-importing to fix an earlier bad parse, delete the original imports first via the Trades tab's per-row actions.
What if my CSV has trades on tickers QuantWheel doesn't recognize?
Those rows get flagged with a warning and typically skip on import. You can still +Add Trade manually for specific tickers afterward if the ticker is listed somewhere QuantWheel supports but not in the auto-suggest.
How does CSV Import interact with broker auto-sync?
They're independent. CSV-imported trades and broker-synced trades coexist in the same journal. If the same trade appears in both (imported from CSV and later synced from the broker), you'll see it twice — delete the CSV version manually if this happens.