By Instrument

How to Journal IBKR TWS Trades

To journal IBKR TWS trades, use Flex Queries (not Activity Statements) and always include the Multiplier field — without it, options P&L can be off by 100x.

Buy Now - ₹6,599 for Lifetime Buy Now - $159 for Lifetime

7-day money-back guarantee

Fields to Track

01

Symbol

Identifies the instrument across stocks, options, futures, and forex in a single export

02

DateTime

Provides the exact execution timestamp needed to match entries to market conditions

03

Buy/Sell

Distinguishes long and short sides; essential for correctly computing realized P&L direction

04

Quantity

Raw share or contract count — multiply by Multiplier for true notional exposure on options and futures

05

TradePrice

The actual fill price, which differs from bid/ask midpoint and is needed for accurate cost basis

06

IBCommission

IBKR tiered commissions ($0.0035/share for stocks, $0.65/contract for options) — reference only; do not add to NetCash

07

NetCash

Cash impact including commissions already embedded — the single correct P&L figure to import

08

AssetCategory

Separates STK, OPT, FUT, CASH (forex) rows so you don't merge incompatible P&L types

09

Multiplier

Options and futures contracts have a multiplier (100 for equity options); omitting this field makes position size appear 100x smaller

10

FifoPnlRealized

For futures and partial closes, this gives the FIFO-basis realized P&L that matches IRS cost-basis reporting

Sample Journal Entry

IBKR TWS Trades
Date: 2026-04-28 (Monday entry) / 2026-04-30 (Wednesday exit)
Ticker: SPY
Strategy: Short put — premium collection
Asset Category: OPT
Action: SELL to open 5 contracts SPY 450 Put, expiry 2026-05-16
Entry Price: $3.20 / contract | Multiplier: 100 | Notional premium: $1,600.00
Exit Price: $1.50 / contract | Multiplier: 100 | Notional cost to close: $750.00
Commission (open + close): $6.50 total ($0.65 x 5 x 2 legs)
NetCash (Flex Query export): +$1,597.50 (open) / -$752.50 (close)
Realized P&L: +$845.00
TWS Flex Row check: Quantity: -5 / TradePrice: 3.20 / Multiplier: 100 / NetCash: +1597.50
Market context: SPY pulled back 1.2% intraday; IV rank 38 at entry
Emotion: Disciplined — waited for IV rank above 30 before selling
Lesson: "Closing at 53% max profit on day 2 matched the planned exit rule; no management needed"

Review Process

1

Review Flex Query field selection weekly — confirm Multiplier and AssetCategory are still enabled before each export

2

After import, spot-check one options trade by hand — verify NetCash matches (Quantity x TradePrice x Multiplier) minus commissions

3

Filter by AssetCategory to review stocks, options, and futures performance separately; blended metrics hide instrument-level edge

4

For any forex or international trade, confirm the CASH assetCategory row is merged with the underlying trade row before calculating total P&L

5

Monthly — run win rate and average R-multiple by Symbol to identify which underlyings produce positive expectancy

6

Quarterly — compare IBCommission totals against NetCash totals to calculate commission drag as a percentage of gross P&L

7

At tax time — export FifoPnlRealized for all futures trades separately; these receive 60/40 Section 1256 treatment, not standard Schedule D treatment

Interactive Brokers TWS is the platform of choice for active retail and semi-professional traders across stocks, options, futures, and forex — yet most of its 2.6 million account holders still log trades manually in spreadsheets because the correct export path is non-obvious. TWS offers two export routes, and choosing the wrong one produces either missing data or incorrect P&L figures. More critically, IBKR’s data format contains several traps — a pre-embedded commission field, a missing multiplier for options, and split forex rows — that cause traders to journal wrong numbers without realizing it. This guide fixes that.

Essential Fields to Track

FieldWhy It Matters
SymbolIdentifies instrument across all asset classes in a single unified export
DateTimeExact execution timestamp; required to match trades to intraday market conditions
Buy/SellIndicates direction; necessary for correctly computing open vs. close sides
QuantityRaw contract or share count — must be multiplied by Multiplier for true exposure
TradePriceActual fill price, not mid; the correct basis for cost and P&L calculations
IBCommissionReference only — do NOT add to NetCash; commission is already embedded
NetCashThe definitive P&L figure: proceeds minus cost minus commissions, all in one field
AssetCategorySeparates STK, OPT, FUT, and CASH rows to prevent cross-asset P&L mixing
MultiplierEquity options = 100, ES futures = 50; omitting this field makes positions appear 100x smaller
FifoPnlRealizedRequired for futures and partial closes; matches IRS FIFO cost basis for Form 6781

The two most critical fields are Multiplier and NetCash. Every other calculation error traces back to one of these two being wrong or missing.

Sample Journal Entry

Date (open): April 28, 2026 — 10:14 AM ET Date (close): April 30, 2026 — 11:02 AM ET Ticker: SPY Strategy: Short put, premium collection AssetCategory: OPT Action: SELL to open 5x SPY 450 Put, expiry May 16, 2026 Entry price: $3.20 | Multiplier: 100 | Gross premium: $1,600.00 Exit price: $1.50 | Multiplier: 100 | Cost to close: $750.00 IBCommission (total, both legs): $6.50 ($0.65 x 5 contracts x 2 fills) NetCash (TWS Flex export): +$1,597.50 open / -$752.50 close Realized P&L: +$845.00 Flex row verification: Quantity: -5 / TradePrice: 3.20 / Multiplier: 100 / NetCash: +1597.50 Market context: SPY down 1.2% intraday; IV rank 38 at entry Emotion: Disciplined — waited for IV rank above 30 per plan before executing Lesson: Closed at 53% of max profit on day 2; no adjustment needed — plan worked

This is the exact scenario where a missing Multiplier field causes a catastrophic error. Without it, the spreadsheet sees Quantity: -5 and TradePrice: 1.70 difference and logs an $8.50 gain instead of the correct $850.00 gain — a 100x understatement.

Review Process

  1. Configure Flex Query once, then reuse — In TWS: Reports > Flex Queries > click the + icon > name it “Trade Journal Export” > add the “Trades” section > enable all 10 fields listed above. Save the query ID; it persists across sessions.

  2. Run the export and spot-check one options trade — After downloading the CSV, manually verify one options row: (Quantity x TradePrice x Multiplier) - IBCommission should equal NetCash. If it doesn’t, a field is missing from your Flex Query configuration.

  3. Separate by AssetCategory before analysis — Filter the CSV into four tabs: STK, OPT, FUT, and CASH. Analyze win rate and average R separately for each. Blended metrics obscure which instrument class is actually generating edge.

  4. Merge CASH rows with their parent trades — Every forex conversion and international trade generates a separate CASH row. Match these to the originating trade by DateTime and account code, then add the CASH NetCash to the trade NetCash for the correct total.

  5. Weekly review: win rate and commissions — Calculate commission drag: total IBCommission divided by gross P&L. IBKR’s tiered pricing ($0.0035/share for stocks, $0.65/contract for options) is low, but at high volume even $0.0035/share adds up. If commission drag exceeds 15% of gross P&L, your trade size or frequency needs adjustment.

  6. Monthly review: R-multiple by Symbol — Group trades by underlying and calculate average R-multiple. A symbol with negative average R across 20+ trades is a pattern to address. TWS does not provide this view natively — it requires a dedicated journal.

  7. Quarterly / tax prep: isolate futures P&L — Pull all FUT rows with FifoPnlRealized populated. These trades qualify for Section 1256 60/40 treatment, meaning 60% long-term and 40% short-term capital gains regardless of holding period. They belong on Form 6781, not Schedule D.

Common Mistakes in IBKR TWS Journaling

  1. Double-counting commissions via IBCommission + NetCash — NetCash is the net cash impact of the trade after commissions. IBCommission is provided for reference. Adding both when calculating P&L inflates your reported losses. The correct approach: use NetCash as your sole P&L input and treat IBCommission as an audit field only.

  2. Omitting the Multiplier field — This is the single most common IBKR journaling error for options traders. A 5-contract SPY trade has 500 shares of notional exposure, not 5. Without the Multiplier field in your Flex Query, every options position size and P&L figure is wrong by a factor of 100. Always verify Multiplier = 100 for equity options rows.

  3. Using Activity Statement CSV instead of Flex Query — Activity Statements aggregate data at the summary level and cap history at 365 days per download. Flex Queries provide individual execution rows, up to 5 years of history, and the full field set needed for granular journaling. The extra setup time (under 5 minutes) is worth it.

  4. Filtering out CASH assetCategory rows — Traders who import only STK, OPT, and FUT rows silently drop realized forex P&L. On any trade involving non-USD instruments or explicit forex positions, the CASH row contains real P&L that belongs in your journal. IBKR operates across 150+ markets in 33 countries — the CASH row is not noise.

  5. Blending futures P&L with stock/options for tax purposesFutures trades settled on US exchanges receive 60/40 Section 1256 treatment. Mixing them with standard Schedule D trades in a single undifferentiated journal makes tax preparation significantly harder and risks misclassification.

How JournalPlus Handles IBKR TWS Trades

JournalPlus has a native IBKR Flex Query importer that reads the CSV produced by the Flex Query configuration described above. During import, it automatically applies the Multiplier field to calculate correct notional exposure for options and futures, uses NetCash as the P&L source without prompting users to re-enter commissions, and routes AssetCategory rows to the correct instrument buckets. The double-commission and missing-multiplier errors described in this guide cannot occur through the JournalPlus importer because the parser enforces the correct field logic.

For multi-leg options trades, JournalPlus groups Flex Query rows by DateTime proximity and account code, reconstructing spreads and straddles as single journal entries rather than two unrelated rows. This matches how options traders actually think about their positions. CASH forex rows are matched to parent trades automatically when the timestamps align within a configurable tolerance.

The analytics layer surfaces the metrics TWS does not: win rate by symbol, average R-multiple by strategy tag, drawdown curve, commission drag percentage, and monthly return consistency — all filterable by AssetCategory. For futures traders using the CSV upload workflow, the FifoPnlRealized field is mapped directly to realized P&L so partial-close journaling reflects FIFO basis consistently with IRS reporting requirements.

Not tax or financial advice. Tax rules change yearly and individual situations vary. Consult a CPA familiar with active-trader tax rules before applying any of this to your filing.

Common Journaling Mistakes

Adding IBCommission on top of NetCash — IBKR's NetCash field already nets out commissions; adding IBCommission again overstates your loss by $0.65 per options contract or $0.0035 per share, which compounds into significant distortion across hundreds of trades

Skipping the Multiplier field — without Multiplier, a 5-contract SPY options trade appears as 5 units of exposure instead of 500 shares equivalent; P&L calculations in any downstream spreadsheet or journal are then off by a factor of 100

Using Activity Statement exports instead of Flex Queries — Activity Statements are summary-level and limited to 365-day windows; Flex Queries provide per-trade granularity and up to 5 years of history, which is required for meaningful pattern analysis

Ignoring the CASH assetCategory rows — IBKR books realized forex gains and losses as separate line items with AssetCategory "CASH"; traders who filter these out undercount or overcount their true P&L on international trades and USD/EUR or USD/JPY forex positions

Not separating futures P&L before tax season — FifoPnlRealized on futures must be isolated for Section 1256 60/40 treatment; blending it with stock/options P&L in a single journal tag creates extra work (or errors) when preparing Form 6781

Frequently Asked Questions

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

Use Flex Queries under Reports in TWS or Client Portal. Set the section to "Trades" and enable Symbol, DateTime, Buy/Sell, Quantity, TradePrice, IBCommission, NetCash, AssetCategory, and Multiplier. Flex Queries export per-trade CSV rows with up to 5 years of history, unlike Activity Statements which are limited to 365-day summaries.

Why does my IBKR options P&L look wrong after importing to a spreadsheet?

The most common cause is a missing Multiplier field. Equity options contracts have a multiplier of 100, so a 5-contract trade has 500 units of exposure. Without the Multiplier field, the trade appears as 5 units and P&L is understated by 100x. Always include Multiplier in your Flex Query configuration.

Does IBKR's NetCash field include commissions?

Yes. NetCash in a Flex Query export already reflects commissions deducted. IBCommission is provided as a reference field only. Adding IBCommission to NetCash when calculating P&L double-counts the cost and overstates your losses.

How do I journal forex trades from IBKR accurately?

IBKR books realized forex gains and losses as separate rows with AssetCategory "CASH". When building your journal, merge these CASH rows with the corresponding trade rows to get accurate total P&L. Filtering out CASH rows will cause you to under- or over-report P&L on any trade involving currency conversion.

How do IBKR futures trades differ from stocks in a journal export?

Futures require the FifoPnlRealized and CumulativeReturns fields in your Flex Query. TWS defaults to FIFO cost basis, which affects how partial closes are reported. Futures P&L also receives Section 1256 60/40 tax treatment, so it should be tagged and filtered separately from stock and options trades in your journal.

Start Journaling Your Trades

Stop guessing, start tracking. JournalPlus makes it easy to journal every trade and find your edge.

Buy Now - ₹6,599 for Lifetime Buy Now - $159 for Lifetime

7-day money-back guarantee

SSL Secure
One-Time Payment
7-Day Money-Back