Skip to main content

Updated: 2026-03-05

IBKR Trade Import: Step-by-Step Guide for Your Trading Journal

Interactive Brokers (IBKR) is one of the most widely used brokers among active traders — and its export system is powerful but not obvious. Getting your fills out of IBKR and into a trading journal requires knowing which report type to use, which fields to include, and how to handle multi-asset accounts that mix stocks, options, and futures fills in the same export. This guide walks through the exact steps.

Two Ways to Export from IBKR: Activity Statement vs. Flex Query

IBKR provides two main paths for exporting trade data:

**Activity Statement** — the standard report available directly in Client Portal and Trader Workstation. It is the fastest path and covers most use cases. Supports CSV and XML format. Good for importing full account history.

**Flex Query** — a custom report builder that lets you select exactly which fields to include. More complex to set up, but produces cleaner data for journals that need specific fields (e.g., commission breakdown, executions vs. orders, futures tick data).

For most traders, the Activity Statement is the right starting point. Use Flex Query if your journal requires specific fields that the Activity Statement does not include, or if you need to automate recurring imports.

  • Activity Statement: fastest, no setup required, covers most import needs
  • Flex Query: customizable fields, better for specific data requirements or automation
  • Both support CSV and XML export formats
  • Flex Query is needed if your journal requires commission-per-leg breakdown

Exporting an Activity Statement from IBKR

Follow these steps in IBKR Client Portal:

1. Log in to Client Portal (clientportal.ibkr.com) 2. Navigate to **Performance & Reports → Statements** 3. Select **Activity** as the statement type 4. Set the date range to cover the period you want to import 5. Choose **CSV** as the format (XML also works; check what your journal accepts) 6. Click **Run** and download the file

The Activity Statement includes: executed trades, commissions, fees, dividends, and corporate actions all in a single file. Most trading journals parse the Trades section automatically and skip the other sections.

**Important:** If you have multiple accounts (e.g., individual + IRA), run a separate statement for each account. The combined all-accounts statement format is harder for journals to parse correctly.

  • Client Portal → Performance & Reports → Statements
  • Statement type: Activity, format: CSV
  • Run separate statements per account — combined format can cause parse errors
  • Include all asset types if you trade stocks, options, and futures in the same account

Setting Up a Flex Query for Cleaner Data

Flex Query is available in Client Portal under Reports → Flex Queries. Create a new query:

1. Navigate to **Reports → Flex Queries → Create** 2. Select **Trade Confirmation** as the report type (not Activity — Trade Confirmation has more fill-level detail) 3. In the field selector, include at minimum: Symbol, Asset Class, Description, Strike, Expiry (for options/futures), Quantity, Trade Price, Commission, Currency, Open/Close indicator, Put/Call (for options) 4. For futures, also include: Multiplier, Underlying Symbol, Expiry 5. Set your preferred date range and format (CSV) 6. Save the query and run it

Flex Query output is cleaner than Activity Statement for multi-leg options because each leg appears as a separate row with its own fill details, rather than being summarized at the order level.

  • Use Trade Confirmation report type — more fill-level detail than Activity
  • Include: Symbol, Asset Class, Strike, Expiry, Quantity, Price, Commission, Open/Close
  • For futures: also include Multiplier and Underlying Symbol
  • Save the query — you can re-run it on a schedule for ongoing imports

Importing IBKR Data into Tiltless

Once you have the CSV from IBKR:

1. In Tiltless, go to **Connections → Import → Broker Statement** 2. Select **Interactive Brokers** as the broker 3. Upload the CSV file 4. Tiltless will parse the file and preview the fills before committing the import 5. Review the preview — check that asset classes are correctly identified and multi-leg options are grouped 6. Confirm the import

After import, check for these common issues: - Options legs appearing as separate trades instead of grouped strategies — use the strategy merge tool if needed - Futures showing incorrect PnL due to missing multiplier — verify the multiplier in the trade details - Duplicate imports if you previously imported an overlapping date range — Tiltless deduplicates by fill ID, but verify the trade count

  • Connections → Import → Broker Statement → Interactive Brokers
  • Preview import before confirming — check asset class identification and options grouping
  • If options legs appear separate, use strategy merge tool post-import
  • Tiltless deduplicates by fill ID — safe to reimport overlapping date ranges

Common IBKR Import Errors and How to Fix Them

**'No trades found' after upload.** Most common cause: wrong report type selected. The Activity Statement and the Flex Query have different section structures. Confirm you are uploading the format your journal expects.

**Incorrect PnL for futures.** IBKR stores futures PnL in local currency before multiplier. If your journal shows PnL per contract rather than total PnL, the multiplier field is being ignored. Check your journal's futures settings to ensure the multiplier from the export is being applied.

**Missing options expiration.** If an option expired worthless, the Activity Statement may record it differently from a sold position. Look for a 'Trades - Expiration' row in the statement. Some journals require you to manually mark expired positions as closed at $0.

**Commissons not tracked.** Flex Query includes commission per fill; Activity Statement may consolidate commissions. If net PnL is not matching your broker confirmation, check whether the import is subtracting commissions.

Related Resources

FAQ

?What is the best way to export trades from Interactive Brokers?

For most traders, the Activity Statement (CSV format) is the fastest path. Go to Client Portal → Performance & Reports → Statements → Activity → CSV. For more control over fields or automation, use Flex Query with the Trade Confirmation report type.

?Can I import IBKR options trades into a trading journal?

Yes. IBKR's Activity Statement includes options fills with strike, expiry, and put/call designation. Multi-leg strategies appear as separate fills — most journals group them by order ID or let you manually merge legs into a strategy.

?How do I import IBKR futures trades into Tiltless?

Export an Activity Statement or Flex Query from Client Portal and import via Connections → Import → Interactive Brokers. Tiltless reads the multiplier from the export to compute correct tick-based PnL for futures instruments.

?How often should I import my IBKR trades?

Weekly is the minimum for active traders. Daily is better — it keeps your behavioral tagging fresh and makes the weekly review more useful. If you import monthly, you lose the ability to tag post-session context accurately.

?Does IBKR have a direct API connection for trade journals?

IBKR offers the Client Portal API and TWS API for programmatic access. Tiltless supports direct broker connection via statement import for IBKR; real-time API sync is on the roadmap. For now, scheduled CSV export is the standard workflow.

Import your IBKR trades into Tiltless

Upload your IBKR Activity Statement and Tiltless parses stocks, options, and futures fills — and surfaces the behavioral pattern behind your worst sessions.

Coach

Ask me anything about your trading patterns, performance, or how to improve.

Checking connections…Syncing…
IBKR Trade Import: Step-by-Step Guide | Tiltless