What revenge trading looks like in data
Revenge trading is a trade whose main reason for existing is the previous loss. The setup is thin or absent, the entry is quick, and the size is often larger, because the goal has quietly changed from "take a good trade" to "get back to even".
Asking yourself whether you felt angry after a loss is not a reliable test. Memory edits these moments, and most people remember the setup they told themselves they saw. A better test uses facts your broker already records for every fill: the time you opened the trade, the time the previous trade closed, whether that previous trade lost, and the size or risk of the new trade.
With those four values you can flag a likely revenge trade without guessing about anyone's state of mind. The flag is a prompt to look closer, not a verdict.
Three measurable signs
- Short gap after a loss. The trade opened within N minutes of a losing trade closing. Pick N to suit your style: 15 minutes is a reasonable start for intraday traders, one session for swing traders.
- Size above your median. The dollar risk (or share count, or contract count) is larger than the median of your recent trades. Use the median, not the average, so one unusually large trade does not move the line.
- Clustering. Two or more flagged trades in a row. A single quick re-entry can be a planned second attempt; a chain of growing, fast trades rarely is.
A trade that meets signs 1 and 2 gets the tag possible-revenge. Then compare the P&L of tagged trades with everything else. If you trade swing positions, replace minutes with sessions and keep the size test the same.
Worked example: one day, ten trades
Here is a made-up intraday log. Risk per trade is the dollar distance from entry to stop times the share count. The plan says $100 risk per trade.
| Open | Minutes since a losing close | Risk | P&L | Flag |
|---|---|---|---|---|
| 09:41 | none | $100 | +$150 | |
| 09:58 | none | $100 | −$100 | |
| 10:04 | 6 | $200 | −$180 | revenge |
| 10:11 | 4 | $300 | −$310 | revenge |
| 10:40 | none | $100 | +$90 | |
| 11:15 | none | $100 | −$100 | |
| 11:52 | none | $100 | +$120 | |
| 13:20 | none | $100 | −$95 | |
| 13:27 | 7 | $250 | −$240 | revenge |
| 14:05 | none | $100 | +$110 |
"None" means the trade did not open within 15 minutes of a losing close. The median risk is $100. Three trades opened within 15 minutes of a loss with risk above $100.
- The 3 flagged trades: −$730 combined.
- The other 7 trades: +$175 combined.
- The day: −$555.
The planned trading made a small profit. The whole loss for the day came from three trades that took up perhaps fifteen minutes. Notice also the sizes: $200, then $300. Doubling and tripling risk after a loss means the next loss costs two or three times as much, which is how one bad trade becomes a bad day.
One day proves nothing on its own. Run the same split across a month or two of trades. If tagged trades are consistently net negative while the rest are not, you have found a specific, fixable leak. If they are not, good: the quick re-entries are part of your style and you can stop worrying about them.
How to set it up in a spreadsheet
Add three columns to your journal (the trading journal spreadsheet already has open and close times and P&L):
gap_min: minutes between this trade's open and the previous trade's close, only if the previous trade lost. Leave it blank otherwise.risk: |entry − stop| × shares (× 100 for a standard US equity option contract). The position size calculator shows the same number.revenge: TRUE when gap_min is not blank, gap_min ≤ your N, and risk > MEDIAN(risk) for the period.
Then total P&L, count, win rate and profit factor for each value of the flag. Expressing results as R-multiples makes oversized trades even easier to spot, because a trade that lost 2.4R on a 1R plan stands out immediately.
Filling these columns by hand is tedious, which is why most traders never do it. A journal app that imports fills from your broker, such as TradeGreen, records open and close times automatically, so the gap and size columns can be filled without retyping each trade.
Rules that use the same numbers
The point of measuring is to write a rule you can check. A few that follow directly from the signs above:
- Cooldown: no new entry for N minutes after a losing close. The journal tells you whether you kept it, because the gap column will show any trade under N.
- Size cap after a loss: the next trade's risk may not exceed your planned risk. If you allow size to change, it changes only at the start of a session, never mid-day.
- Daily loss limit: stop for the day after a fixed loss, for example 3R. In the example above, a 3R limit at $100 per R would have ended the day at 10:11 with less damage, and the planned trades later would not have been needed to dig out.
- Written reason: before any trade within N minutes of a loss, write the setup name in one line. If you cannot name it, skip it.
None of these require you to feel calm. They only require you to follow a timer and a number. Review whether you kept them during your weekly trade review.
What not to conclude
A flagged trade is not proof of revenge. Sometimes the second attempt at a setup is the better trade, and some strategies add size on purpose. That is why the test compares flagged and unflagged groups over many trades instead of judging a single one. If a planned re-entry is part of your strategy, give it its own setup tag so it is measured separately.
Also check the sample size. With fewer than about 20 flagged trades, a single large win or loss can swing the result either way. Keep collecting before you change your plan.
Revenge trades are one of several common leaks. If the split shows nothing, the problem may sit elsewhere: one losing setup, a bad time of day, or losers held longer than winners. The page on why you might be losing money day trading covers how to look for those, and overtrading covers the closely related pattern of simply trading too often.