← Back to Riskora
The Mirror

Your trades already know
where you break.

Upload your tradebook and see your behavioural patterns, calmly and with no judgement. Revenge trading, overtrading, your Discipline Score.

🔒 Read entirely in your browser. Nothing is uploaded, nothing is stored, nothing is sold.

See a full example report in 5 seconds. No file, no signup.

or analyze your own
📄

Upload your tradebook

CSV & Excel · PDF rolling out · Zerodha, Angel One, Groww, Upstox, Dhan & more

Tap to choose from Files or Downloads
Revenge trades
-
Overtrading
-
Discipline Score
-/ 100

₹ ●●●●● 🔒
One-time ₹49 · no account · the rupee figure is computed from your own data
Get a monthly discipline re-check

We'll email you once a month to run Mirror again and watch your Discipline Score move. Your trades never leave your browser. Only the email you type here is sent.

What Mirror measures

Mirror reads seven behavioural patterns out of your executed trades. Each one is measured against your own history, not against a benchmark or another trader, because there is no universal number of trades that counts as too many. Every threshold below is published, and the full model is at riskora.in/score if you want to recompute your own number by hand.

Re-entry speed after a loss

What is measured: the time between closing one trade and opening the next, calculated separately for the gaps that follow a loss and the gaps that follow a win, then compared as medians.

How: Mirror needs at least three gaps on each side before it will compare them. A median built from two gaps is noise wearing a number's clothes, so below that it reports the pattern as not measurable rather than guessing.

What you may see: a line such as "after a losing trade your median wait was 3 minutes, after a winning trade it was 18 minutes". This is the continuous quantity underneath what most people call revenge trading, and it is usually the number traders recognise fastest in themselves. It describes timing only. It says nothing about whether those trades were good ones.

Revenge trading patterns

What is measured: trades opened within 15 minutes of closing a losing trade, where the new trade is either in the same instrument as the loss or sized at least 1.2 times your recent average position size (your last 10 trades).

How: both conditions are read from timestamps and quantities in your tradebook. Mirror also counts how often the next trade was in the same instrument and the same direction as the loss immediately before it, which is a stricter and more specific version of the same reflex.

What you may see: a count and a share, plus the individual trades listed so you can check them. The finding is always phrased as a possible pattern, never as a verdict about you. If you want the background first, read what revenge trading is and what it costs.

Position sizing after losses

What is measured: entries placed immediately after a losing trade at 1.3 times or more of your recent average size. Separately, Mirror compares your median position size while you are inside a losing streak (defined as the two previous round trips both losing) against your median size the rest of the time.

How: sizes come straight from the quantity column. The streak comparison needs at least three trades inside that state and three outside it before it will claim a difference exists.

What you may see: your median size in each state, side by side, plus the win rate in each. Size is the part of a trade that is entirely yours to set, so a change in it after a loss is a behavioural change rather than a market one.

Overtrading

What is measured: days where your trade count was unusually high for you. The cut-off is your own median daily count plus 1.5 standard deviations, with an absolute floor of 6 trades so that a quiet trader is never labelled for having a slightly busier Tuesday.

How: trades are grouped by calendar day, and the threshold is recomputed from your file every time. There is no fixed number of trades that counts as overtrading, which is exactly why this is measured against your own baseline.

What you may see: how many days crossed your own line, and what share of all your trades happened on those days. That second number is usually the surprising one. How to tell if you are trading too much covers the topic in full.

Loss concentration

What is measured: the smallest number of trading days that account for 80% of everything you lost in the file.

How: daily net results are ranked worst first and accumulated until they reach that share. This one needs only dates, so it works even on broker exports that carry no intraday timestamps.

What you may see: something like "78% of your losses came from 4 of 61 trading days", with those days listed. It reframes a losing period from a steady drip into a small number of specific sessions, which are far easier to think about.

Disposition effect

What is measured: your average holding time on losing trades against your average holding time on winning trades. It is flagged when losers are held at least 1.5 times as long as winners.

How: holding time is the difference between entry and exit on each matched round trip. Both figures are shown, so you can see the ratio rather than take it on trust.

What you may see: two durations side by side. Holding losers longer than winners is one of the most widely documented patterns in behavioural finance, and one of the hardest to notice in your own trading without measuring it.

Euphoria sizing after a win

What is measured: trades opened within 10 minutes of a winning exit at 1.3 times or more of your recent average size.

How: the same timestamp and quantity logic as the loss-side checks, with the trigger reversed.

What you may see: a count, if it happened. The interesting part is that the behaviour mirrors sizing up after a loss: the trigger is different, but in both cases the previous result changed the next position.

Example analysis, generated from sample data

This is real output from Mirror's engine, run on the built-in sample tradebook. It is not a real trader and does not describe one. Press "Try with sample data" above to generate it yourself and click through every number. Each finding follows the same four parts: the pattern, the evidence behind it, what it describes, and a question worth sitting with.

You hold losers longer than winners Observed

Evidence Your average losing trade stayed open 1 hour 46 min. Your average winning trade was closed after 29 minutes, roughly 3.7 times shorter.

What it describes Losing positions were given more time than winning ones. Both decisions are yours and both are visible in the timestamps.

Worth asking Consider what you were waiting for in the longer losing trades, and whether the winners were closed for the same reason.

Your trading concentrates into unusually heavy days Observed

Evidence 1 day out of 4 carried more trades than your own typical day (above 6 in a day), and those days hold 44% of every trade in this file.

What it describes Your activity is not spread evenly. A minority of sessions carries a disproportionate share of your trading.

Worth asking Think back to one of those days. Was the extra volume there when the session started, or did it build during it?

You return to the market faster after a loss Observed

Evidence After a losing trade closed, your median wait before opening the next one was 8 minutes. After a winning trade it was 15 minutes. Measured across 6 gaps following losses and 8 following wins.

What it describes You went back in sooner after losing than after winning, roughly 1.9 times sooner. This is a statement about timing only. It says nothing about whether those trades were good or bad.

Worth asking Consider whether that shorter wait is a decision you make, or something that has already happened by the time you decide.

The sample tradebook scores 64 out of 100 on the Discipline Score. A pattern Mirror looked for and did not find is reported as not found, and a pattern it could not measure from the file is reported as not measurable, with the reason. Neither is ever presented as a clean record.

How the analysis works

Mirror runs a fixed pipeline, and each stage is separate so that a number can always be traced back to the trades it came from.

  1. Your tradebook is read in the browser, as CSV or Excel.
  2. Normalisation. Indian brokers share no export standard, so columns are matched by meaning rather than by name: symbol, side, quantity, price, timestamp. The mapping is then validated against the data itself. If a column cannot be trusted, Mirror stops and tells you, because wrong numbers would be worse than no numbers.
  3. FIFO round-trip matching. Individual fills are paired into completed positions, first in first out, per instrument. Scaling in and out, partial fills and direction flips are all handled. Positions still open at the end of the file are left out, because an unrealised position has no outcome to analyse yet.
  4. Behavioural features. Timing gaps, size ratios, holding times, daily counts and streak states are computed from those round trips.
  5. Pattern detection. Features are compared against the published thresholds above to decide what is present, what is absent, and what this particular file cannot answer.
  6. Insights. Each surviving pattern is presented with its evidence, what it describes, and a question. Nothing is phrased as advice.

The Discipline Score is a transparent weighted heuristic, not a machine-learning model. There is no AI in it, which means you can check the arithmetic yourself. The weights, the anti-gaming floor and every case where the model refuses to output a number are documented in the full scoring methodology.

Your tradebook stays in your browser

This is the part worth being precise about, because "we take privacy seriously" means nothing and is unverifiable.

The full detail is in our privacy policy, the market data we use is listed under data sources, and our regulatory position is set out on the compliance page.

What Mirror cannot tell you

A broker tradebook is a record of executed trades. That bounds what any analysis of it can honestly claim, including ours.

Mirror describes patterns in your past trades. It does not predict your future results, and it cannot make you profitable. Nothing here is investment advice.

Questions traders ask

What is trading behaviour analysis?

It is the study of how you traded rather than what you traded. A P&L statement tells you the result. Behaviour analysis looks at the timing, sizing and frequency decisions around those results, to find patterns that repeat. The point is recognition, not a verdict.

How does Mirror analyse a tradebook?

It maps your broker's columns by meaning, pairs individual fills into completed round trips using FIFO matching, then measures timing gaps, size changes, holding times and daily counts against the published thresholds above. All of it runs in your browser.

Does Mirror store my trades?

No. Your file is read on your own device and never transmitted, and there is no account or database behind it. You can confirm this in your browser's Network tab while a report runs.

Which brokers are supported?

Zerodha, Upstox, Angel One, Groww, Dhan, Fyers and most other Indian brokers, in CSV or Excel. Because columns are matched by meaning rather than by broker name, exports from brokers we have never seen usually work too. If a file cannot be read, Mirror names the columns it found instead of failing silently. Step-by-step guides: Zerodha, Angel One, Upstox, Groww and Dhan.

Can Mirror detect revenge trading?

It can detect the measurable signature of it: an entry within 15 minutes of a losing exit, in the same instrument or sized above your recent average. It reports that as a possible pattern with the trades attached. It cannot read your state of mind, and a finding is a prompt to look, not a diagnosis.

How does Mirror identify overtrading?

By comparing each day against your own median daily trade count plus 1.5 standard deviations, with a floor of 6 trades a day. There is no universal number, so the line is drawn from your history rather than someone else's.

What does Mirror not measure?

Intent, stops and resting orders, trades you decided against, and the context behind any position. It also cannot produce time-based findings from a broker export that has no intraday timestamps. See the limitations section above.

Can I analyse my trades without creating an account?

Yes. There is no signup, no email required and no login. Choose your file, or press "Try with sample data" to see a full example report first.

See the behaviour inside your own trades

Download your tradebook from your broker, drop it in at the top of this page, and read what your last few months actually did. It is free, there is no account, and the file never leaves your browser.

Prefer to read first? Start with revenge trading, overtrading, or why most F&O traders lose money. The full scoring model is at riskora.in/score.

Behavioural analysis of your own historical trades. Not investment advice. Riskora is a simulated training environment. It does not touch your real trades. Figures shown, including the estimated cost of indiscipline, are estimates based on your own data and exclude brokerage and taxes. Your file is processed entirely in your browser and never leaves your device.

Every threshold and weight behind this score is published in full at riskora.in/score. You can recompute your own number by hand and check our arithmetic.