Free tools
/
Trade Analyzer

Free trade analyzer

Export your trade history from your broker, drop the CSV here, and see how you really trade: win rate, profit factor, expectancy, your best and worst symbols, and when in the day you make or lose money. Your file never leaves your browser.
Free
No sign-up
Runs in your browser
Drop your broker’s CSV here
Export your trade history from your broker as a CSV file, then drop it here or choose it below.
Your file is processed in your browser and never uploaded.
Reads exports from Charles Schwab, thinkorswim, Webull, Interactive Brokers, Robinhood, tastytrade, Fidelity, E*TRADE, TradeStation, Tradovate and NinjaTrader, and most other trade-history CSVs.

Want this report to keep itself up to date?

SetMetric is a free trading journal: import your broker’s CSV and your win rate, expectancy, drawdown and P&L by symbol, weekday and time of day are tracked for every trade — with tags, notes and playbooks alongside.

How to export your trades as a CSV

Every major broker lets you download your trade history as a CSV file, usually from the account history, activity, orders or statements area of its website or desktop platform. Look for an option to export or download your trades, orders or transactions, choose CSV as the format, and pick a date range that covers the trades you want to analyze.
Export trade history — the individual buys and sells (fills), or transactions — not a positions or balances report: those don't say when you bought and sold, so there are no trades to analyze. Start the date range before you opened the oldest position you want included, so each trade's opening fill is in the file.
•
Interactive Brokers: an Activity Statement saved as CSV (the analyzer reads its Trades section), or a trade report with date, symbol, side, quantity and price columns.
•
Webull: your order history exported as CSV. Filled orders are read; cancelled and unfilled orders are skipped.
•
Robinhood: the account activity report, which Robinhood provides as a CSV. Option expirations and assignments are handled; dividends, transfers and other cash activity are skipped.
•
Charles Schwab and thinkorswim: the transaction history or trade history export, saved as CSV.
•
Fidelity, E*TRADE, TradeStation, tastytrade, Tradovate, NinjaTrader and others: the account history, transaction or trade/fill history export, saved as CSV.

How the analyzer reads your file

Your file is read entirely in your browser. The analyzer recognises the broker from the file's columns, then groups your buys and sells into trades first-in, first-out: a trade opens with its first fill and closes when the position is flat again. Positions still open at the end of the file are counted but left out of the report.
Rows that aren't trades — cancelled orders, dividends, transfers, interest — are skipped, and the report tells you how many. SetMetric is not affiliated with any broker; broker names are used only to describe which export files the analyzer can read.

What the numbers mean

•
Net P&L: the total profit or loss of your closed trades, after any fees and commissions in the file.
•
Win rate: the share of closed trades that made money after fees. A trade that closed exactly flat counts toward the total but isn't a win.
•
Profit factor: money made on winning trades divided by money lost on losing trades. Above 1 means your winners more than paid for your losers.
•
Expectancy: the average result per trade — win rate × average win, minus loss rate × average loss.
•
Average win and average loss: the size of a typical winner and loser. The bigger your losses are compared with your wins, the higher the win rate you need just to break even.
•
Max drawdown: the largest fall in cumulative P&L from a high point to a later low — the worst losing stretch in the file.
•
P&L by hour of entry: trades grouped by the hour you entered them, in New York time, so the open, midday and the afternoon can be compared.

Why keep a trading journal

A one-off report shows where you stand. A journal shows why. Results are usually driven by a handful of patterns — a time of day, a symbol, a setup taken too early, a stop that got moved — and those only become clear when the same numbers are tracked across hundreds of trades, next to notes on what you were thinking when you took them.
SetMetric is a free trading journal built on the same calculations as this page. Import your broker's CSV, tag your setups and mistakes, write a few lines about each trading day, and your win rate, expectancy, drawdown and P&L by symbol, weekday and time of day stay up to date as you trade.

Frequently asked questions

Yes. It's free to use with no account, no trial and no limit on how many files you analyze.
No. Your CSV is read and analyzed by your own browser; the file and its trades are not sent to SetMetric or anyone else. A copy is kept only in this browser tab's temporary storage and is cleared when you close the tab.
It reads trade-history CSV exports from Charles Schwab, thinkorswim, Webull, Interactive Brokers, Robinhood, tastytrade, Fidelity, E*TRADE, TradeStation, Tradovate and NinjaTrader. Interactive Brokers activity statements, Webull order history, Robinhood activity reports and Schwab transaction history are recognised automatically.
Most trade-history CSVs work as long as they have columns for the date, symbol, buy or sell, quantity and price, with one fill or trade per row. If the analyzer can't tell which column is which, it says so and asks which broker the file came from. In the SetMetric app you can match the columns yourself and save the format for next time.
Options, yes: standard option symbols are read with the 100-share contract multiplier, multi-leg orders are grouped where the file shows them, and option P&L is counted under its underlying in the symbol breakdown. Futures too: the common CME contracts (ES, MES, NQ, MNQ, YM, RTY, CL, GC, SI, the treasuries, grains and currency futures, among others) are read with their dollar value per point, so a 10-point MES move counts as $50. For a contract root it doesn't recognize, dollar amounts are left in points — the win rate and trade counts are still accurate.
Win rate is the number of winning trades divided by all closed trades. A trade is a win when its P&L after fees is above zero; a trade that closed exactly flat counts toward the total but isn't a win. Fills are grouped into trades first, so scaling in or out of one position still counts as one trade.
Small differences usually come from three things: fees that aren't in the export (P&L is then before fees), positions opened before the start of the file's date range (their opening fill is missing, so they can't be matched), and corporate actions such as splits. Exporting a longer date range fixes most of them.