This page documents exactly how ExpectancyIQ turns your imported trade data into the numbers you see on the dashboard — no black boxes. If a number surprises you, this is where to check the definition first.
1. Expectancy
Expectancy is your average net profit or loss per trade: total net P&L divided by number of trades. We also compute it in R-multiples (expectancy R) when your account has a configured risk-per-trade amount — each trade's P&L is divided by that risk amount, so expectancy R tells you how many multiples of your intended risk you make per trade on average, independent of position size.
2. How Trades Are Reconstructed
Two kinds of imports are supported. A round-trip export (most broker statements) already has one row per closed trade — we use it directly. A fills/executions export (one row per individual fill) has to be reconstructed: same-direction fills open or add to a position, and an opposite-direction fill closes it on a first-in, first-out (FIFO) basis, splitting across partial fills and multi-lot exits where needed. A closing fill larger than the open position reverses into a new position in the opposite direction. Any position still open at the end of your file is excluded from your trade set — never silently dropped or guessed at.
3. Trading Day & Sessions
Futures markets roll to the next session at 17:00 CT (America/Chicago), so that's the boundary ExpectancyIQ uses to group trades into a trading day — a trade filled at 16:59 CT and one at 17:01 CT belong to different trading days, matching the exchange's own session boundary rather than the calendar clock. The same 17:00 CT roll defines six session buckets we classify every trade into by its entry time: Asia / Globex (17:00–02:00), London (02:00–07:00), Pre-market (07:00–08:30), NY AM / RTH (08:30–12:00), NY PM (12:00–15:00), and Post-close (15:00–17:00). All times account for daylight saving automatically.
4. Cost Model
Every trade's total fees break into four components: commission (broker-specific — your export's own value always wins over any configured rate), plus exchange fees, clearing fees, and NFA fees, which are properties of the contract itself and identical across brokers. When a broker's fee column already bundles exchange/clearing/NFA into one number, we split that number into components rather than adding our own estimate on top — so you're never double-charged. If a contract's venue fees aren't yet in our reference data, that trade's cost is a floor, not the true total, and it's flagged rather than silently understated.
5. Deposits & Withdrawals
Account deposits and withdrawals affect your account balance but are excluded from performance metrics like expectancy, win rate, and profit factor — those are computed purely from trade P&L, so adding or removing cash from an account never changes how your trading itself is scored.
6. Statistical Reliability & Minimum Sample Sizes
Most breakdowns (by strategy, session, symbol, hour, mistake) only render once there are enough trades in that slice to say something meaningful — thresholds range from 3 to 10 trades depending on the metric's sensitivity to outliers. Below that threshold you see an explicit "needs N+ trades" message instead of a number that would be noise dressed up as signal.
7. Risk Simulator (Monte Carlo)
The Risk Simulator bootstraps 1,000 random future paths of up to 100 trades each by resampling — with replacement — your own account's historical R-multiples. It never uses or forecasts live or external market prices. The random-number generator is seeded deterministically from a hash of your own R-multiple history, so re-running the simulation on the same trade set always reproduces the same result — the numbers only change when your underlying trade data changes. It assumes your future trading resembles your past trades in that account; it is not a prediction, and not investment or trading advice. See the simulator's own disclaimer panel for the full framing.
8. Currency
Each trading account has one currency, set when you create it. Metrics computed within a single account always use that account's currency. If a view spans accounts with different currencies, we never silently convert or blend them — the number renders without a currency symbol instead of picking one currency and being wrong for the other account. Changing an account's currency later relabels its existing trades; it does not convert the historical values.
Questions?
If a number on your dashboard doesn't match what you expect from this page, contact us — that's either a bug worth fixing or a definition worth clarifying here.