Skip to content
Economicium Free tools for markets and money.

Broker Statement Analyzer

Drop in a statement export and get the report your broker does not give you: expectancy, profit factor, drawdown, and which symbols and weekdays actually make the money.

By , founder and editor Updated

Your file never leaves this page. It is read and parsed entirely in your browser. There is no upload, no account and no server that could receive it. Disconnect from the internet after this page loads and the analyzer still works.

Drop a statement CSV here, or

CSV, TSV or any delimited export from MT4, MT5, cTrader or your own spreadsheet.

What the report tells you

A broker statement lists what happened; it rarely tells you what it means. The figures here do: expectancy is your average result per trade in units of risk, the number that decides whether the account grows; profit factor is gross profit divided by gross loss, where 1.0 is breakeven and above roughly 1.5 is healthy; max drawdown is the worst peak-to-trough stretch of your equity, which is what actually tests whether you can keep trading the strategy. Win rate is included because everyone asks for it, and is the least useful of the four on its own.

The "breakdown" is typically when you realize something about your trading performance. Most often, as we analyze our accounts, we discover that there are one or two symbols on which we have made all of our money (or lost all of it) and that the majority of the activity has been done by just one symbol; likewise, many times we will find that a single day during the week has caused the largest part of the loss. These patterns cannot be easily seen in an open account but become very apparent as soon as those same trades are broken out into their own categories.

How the numbers are derived

If you report a profit for each trade (i.e. as reported) it will be used instead of being computed from the actual prices. The use of the profit reporting method has an impact since all of these instruments can have different values based upon the lot sizes quoted in your statement. Therefore, computing profit from price and quantity data could result in figures inconsistent with those reported by your trading account regarding metal trades, index trades or CFD trades. Additionally, when using R-multiples, the inverse applies to the fact that the contract multiplier is determined from the price movement relative to your trading profit vs. that provided by your brokerage firm which enables a "stop-loss" column to represent an actual amount of risk in currencies. All rows representing non-trades (e.g., deposit/withdrawals, cancelled orders etc.) are ignored and their counts are recorded separately.

Once the trades are in the trading journal you can add the context the statement never had: which setup, why you took it, what you were thinking. That is the part that changes behaviour. To sanity-check whether the edge the report shows is real or a small-sample illusion, run the measured win rate and average R through the risk of ruin simulator.

Frequently asked questions

Is my statement uploaded anywhere?
No. The file is read by your browser using the File API and parsed in the page; it never touches a network request. There is no account, no server-side processing and no analytics on the contents. You can confirm it by opening your browser devtools network tab while you load a file, or simply by disconnecting from the internet after the page loads, everything still works.
Which formats does it accept?
Exported text can be of any format using delimiters such as; commas (,), semi-colons (;), tabs (\t) or pipes (|). It will also automatically detect common MT4, MT5 and cTrader column names and allow for additional field mapping through a user interface if needed. Even if your platform only supports exporting data as HTML or XLSX files, open those up in a spread sheet and then save them as CSV files.
Why do some trades show no R-multiple?
R needs both a stop loss and a known risk in money. If your statement has no stop-loss column, or the row has no usable price data to infer the contract size from, R cannot be established and that trade is excluded from R statistics rather than given an invented risk. P&L, win rate and profit factor still include it.
The profit numbers look doubled or halved. What happened?
Almost certainly the commission handling. Some platforms report a gross "Profit" column with commission and swap listed separately, others report a "Net profit" that already includes them. We guess from the column name and show a toggle so you can correct it; flip the "profit column already includes costs" switch and the totals will match your account.
What happens when I send trades to the journal?
They are written into the same private, in-browser store the trading journal uses, tagged "Imported", replacing whatever is there. From that point they behave like any other journalled trade: you can edit them, add setup tags and notes, and export them to JSON. Nothing leaves your device at this step; if you have signed into the journal for optional Google sync, these trades sync the same as any others.

Method and limitations

Your statement is read with the browser File API and parsed in this page. It is never uploaded, stored on a server, or seen by us, there is no server-side component to receive it. Column detection covers the common MT4, MT5 and cTrader conventions with manual remapping for anything else. Where the statement reports its own profit figure it is used as given; commission and swap are added only when the column reports gross profit, which you can override. Trades without a determinable risk are excluded from R statistics rather than assigned an assumed one. This is an analysis tool, not trading advice.

This tool runs entirely in your browser. Nothing you enter is sent to us or stored.

For general information and education only. This is not financial advice and not a recommendation to buy or sell anything. This tool is provided as is, with no warranty of accuracy: like any software it can contain errors, so always verify figures against your broker or the original source before acting on them. Trading and investing carry risk, including the risk of losing more than your initial outlay.

Spotted an error? Email contact@economicium.com and it will be corrected. Maintained by Joey van Diest.