Published September 23, 2026

Trade Duration Analysis: How to Read Performance by Holding Time

Compare trading results by holding time without mistaking exit rules for an edge: fix bins in advance, split intended from actual duration, net out costs.


Trade duration analysis groups your closed trades by how long each was held and compares results across those groups. The catch is that actual holding time is partly an outcome. A stop that is hit ends the trade early, so short-duration groups can fill up with losses even when holding time has no effect at all. To get a usable comparison, choose the duration measure and bins before looking at results, record the holding horizon you intended at entry separately from the one you got, compare within one setup, state results net of costs in a common risk unit, break each bin down by exit reason, and check that every bin has enough trades to say anything. The output describes your past sample. It does not identify a holding time that will work best from here on.

This article covers comparing results across holding times. Measuring a single setup on its own terms belongs to trading setup performance. What counts as scalping, day trading, or swing trading is covered in short-term trading. Whether a particular exit followed the rule active at the time belongs to exit quality diagnosis.

What does trade duration analysis answer?

It answers a descriptive question: in this sample, did trades held for different lengths of time produce different results, and is the difference more than the exit rules and the mix of trades would produce anyway? Several questions that sound similar are outside its reach.

QuestionCan duration analysis answer it?
Did my trades that lasted under five minutes score differently from the ones that lasted an hour?Yes, descriptively, once costs, setup mix, and sample size are handled
Do my trades tend to end earlier or later than I planned at entry?Yes, if the intended horizon was recorded before the trade
Is there an optimal holding time I should switch to?No. A historical pattern does not establish a future optimum
Would holding my short trades longer have made them profitable?No. That needs a replay under a different exit rule, not a grouping of the trades you took
Did I hold losers too long on a specific trade?Not by itself. That is an exit-process question checked against the written rule

The fourth row is the one most often misread. Grouping trades by how long they lasted tells you how the trades you actually took turned out. It cannot tell you what a trade would have done if you had held it differently, because every trade in the short bucket ended when it did for a reason.

Why actual holding time is partly an outcome

Holding time is only measured once a trade has closed, and the thing that closed it is usually the exit rule. An asymmetric bracket can mechanically produce different holding times for winners and losers, even when there is no edge: a stop placed nearer to entry than the target can be reached sooner on average. When that happens, short trades are disproportionately stop-outs and long trades are disproportionately target hits, and grouping by duration partly re-sorts trades by outcome.

A simulation with no edge at all shows how large this effect can be. The setup: 2,000 simulated trades in which price moves up or down 0.1R per step with equal probability, a stop at −1R, a target at +2R, and no time exit. With these settings the target is reached one time in three, so expectancy is exactly zero in theory (one third × 2R − two thirds × 1R). The simulated sample came in at a 34.1% win rate and +0.02R per trade, as close to zero as sampling noise allows. Splitting the same trades into three equal-sized groups by duration:

Duration tercile (steps held)TradesWin rateExpectancy per trade
Shortest (under 94)66312.1%−0.64R
Middle (94–221)66641.4%+0.24R
Longest (222 and over)67148.6%+0.46R

Illustrative simulation; parameters are stated above. Results are illustrative rather than market data.

Read naively, the table says “your short trades lose and your long trades win, so hold longer.” Every one of those trades came from the same zero-edge process. The whole pattern is produced by the asymmetric bracket. On average, winners in this sample lasted 264 steps and losers 171. When the simulation was rerun with a symmetric bracket (stop −1R, target +1R), the average durations came out close together, 97 steps for winners and 105 for losers.

That result belongs to this type of asymmetric barrier process, an unbiased random walk between a fixed stop and target, not to markets in general. Drift, changing volatility, trailing exits, time stops, discretionary exits, and other path-dependent rules can change how winner and loser durations compare.

Two practical consequences follow.

  • Holding time is not a lever you can pull after the fact. A short bucket full of stop-outs says that stops tend to be hit early. It does not say that holding longer would have turned those trades around, because under your rules they were already closed.
  • Winner and loser hold times need a baseline. Trading-journal dashboards often show average winning and losing hold time side by side. Whether “losers held longer than winners” (or the reverse) means anything depends on where your stop and target sit relative to each other. With a tight stop and a distant target, winners can mechanically last longer, even with no behavioral problem at all.

The behavioral finance literature gives a reason to still look at the asymmetry. Shefrin and Statman named the tendency to sell winners too early and ride losers too long the disposition effect.1 Odean’s study of 10,000 discount-brokerage accounts found investors realized 14.8% of available gains against 9.8% of available losses over the full year.2 Locke and Mann found that professional futures floor traders also held losing trades longer than winning ones, though they did not find evidence that this holding pattern was itself costly.3 None of these studies measured your account, and the first two concern investors rather than intraday traders; the approximate in-sample median holding period in Odean’s data was 84 trading days. What they support is narrower: a gap between winner and loser hold times that is larger than your bracket would produce is worth checking against the exit record, not taking as a diagnosis by itself.

How should holding time be measured?

Before any grouping, decide what “duration” means and record it the same way for every trade.

  • Start and end points. The usual choice is from the entry fill to the final exit fill. Use fill timestamps, not the time the trade was written up. Timestamps entered by hand or reconstructed later cause errors that tend to cluster in the shortest trades, where a minute of error is a large share of the hold. Check them against broker or platform fill records before grouping anything.
  • Scaled positions. When you add to a position or exit in pieces, first-entry-to-last-exit and a quantity-weighted average holding time can differ a lot. Pick one, write it down, and do not switch between them from one review to the next. If you use a lot-level weighted holding time, also state the convention used to pair closing quantities with opening ones (for example, first-in-first-out), because different matching conventions produce different lot-level durations.
  • Clock time or market time. A trade held from Friday afternoon to Monday morning spans about 65 clock hours, far more than the time the market was actually open. For positions held overnight, record whether the hold crossed a session close, and consider counting duration in session time or bars rather than clock hours.
  • Trades still open at the review date. A position still open at the review cutoff is a right-censored observation: you know it has lasted at least its current elapsed time, but not what its final holding time will be. Leaving these trades out systematically removes observations from the long-duration tail, and counting their elapsed time so far as a final duration is also wrong. Odean noted the same bias in his own data: the in-sample median holding period understated the true one, because long holds were more likely to straddle the edges of the data window.2 Report how many trades were censored. If the number is material, either wait until the positions in the review window close or use a duration method that handles censoring, such as a survival estimate, and do not present the closed-trade duration distribution as if it represented the full cohort.

A trade duration analysis workflow

  1. Write the question and the bins before looking at results. Base the bins on something decided in advance: your planned horizon categories, a time stop in your plan, or equal-count quantiles chosen as a method rather than as cutoffs tuned to the data. Moving a bin edge until one bucket looks good is data mining, however natural it feels in a spreadsheet.
  2. Record intended horizon and actual duration separately. Tag each trade at entry with the horizon you planned (for example “under 15 minutes,” “hold to session close,” “multi-day”), then cross-tabulate it against the duration you actually got. The cells where the two agree show that realized duration fell within the intended horizon. The mismatched cells are where the behavioral questions are: planned multi-day trades cut within the hour, or planned quick trades still open at the close. Grouping by intended horizon is also on firmer ground than grouping by actual duration, because the intended horizon was fixed before the outcome was known. It still does not identify a causal effect of holding time: intended horizon can vary systematically with setup, instrument, session, market regime, or other pre-trade conditions, so hold those constant where possible.
  3. Hold the setup constant. If most of your short trades come from one setup and most of your long trades from another, a duration comparison is really a setup comparison. Compare durations within one setup where the sample allows, or at least report the setup mix in each bin. Per-setup measurement rules are in trading setup performance.
  4. Net out costs and use a common risk unit. State every result in R (multiples of planned price risk, defined in the next section) after commissions, fees, and slippage. Costs are not necessarily neutral across duration bins, as the next section shows.
  5. Break each bin down by exit reason. Label each exit as stop, target, time stop, or discretionary. A short bin that is mostly stop-outs may be mechanically consistent with the stop/target geometry; compare the observed pattern with an appropriate mechanical baseline. A short bin that is mostly discretionary exits before either level was reached is a different finding, and belongs in exit-process review.
  6. Check the trade count in each bin before comparing. Splitting a sample into three to five duration bins divides it three to five ways, and each comparison between bins is another chance to find a difference that is just noise. Trading data statistical reliability covers how sample size and multiple comparisons limit what the numbers can support.

Why can costs consume more R in some short-horizon strategies?

Elapsed holding time does not by itself set the cost of a trade. Two trades with the same stop distance, quantity, commission, spread and slippage assumptions, and number of executions cost the same in R even if one lasts three minutes and the other three hours. Per-trade cost in R can be larger when shorter-horizon methods use narrower stops, more executions per position, more spread crossing, or incur greater slippage. Higher turnover separately increases the aggregate cost burden over a fixed period.

The stop-distance part is simple arithmetic. Here, 1R is the planned price risk before transaction costs:

planned price risk per contract (1R) = stop distance in ticks × tick value

A net outcome is then net P&L after commissions, fees, and slippage ÷ planned price risk. When position size is set by fixed risk per trade, cost as a fraction of R depends only on the cost per contract and the stop distance:

cost in R = cost per contract ÷ (stop distance in ticks × tick value)

With an illustrative $12.50 tick value, a $5 round-trip commission and fee, and one tick of slippage on the exit:

Stop distance1R per contractCost per contractCost as a share of R
4 ticks$50$17.500.35R
20 ticks$250$17.500.07R
80 ticks$1,000$17.500.02R

Hypothetical figures for arithmetic only; substitute your own contract, fees, and measured slippage.

The table isolates the stop-distance mechanism. It does not show that elapsed holding time itself causes higher per-trade costs.

A strategy that earns the same gross result in R at every horizon can still look worse in its short bins purely because of per-trade costs, if those bins also use narrower stops, more executions per position, more spread crossing, or greater slippage. Compare bins on a gross basis and a net basis, and compare aggregate costs over a fixed period separately when turnover differs. If the gross-to-net gap is mostly explained by per-trade costs, the finding is about cost, not holding time; a larger aggregate cost burden from higher turnover is a period-level comparison, not higher cost/R for an individual trade by itself.

What does a duration pattern justify?

FindingJustifiesDoes not justify
Short bins lose, long bins win, and short bins are mostly stop-outsChecking the pattern against what your stop/target geometry would produce with no edgeConcluding that holding longer would improve results
One horizon underperforms after costs, within the same setup, with an adequate sample in each binReviewing whether that horizon’s cost level and stop distance are viable; trialing a written change going forwardTreating the best-performing past bin as a proven optimal holding time
Many trades end much earlier or later than their intended horizonAn exit-process review of those trades against the written planLabeling the deviations as mistakes before checking whether a predefined exception or new information applied
Losers last noticeably longer than winners, beyond what the bracket explainsLooking at how those losing exits were handled, and whether stops were movedDiagnosing a disposition effect from hold-time averages alone
A bin boundary found after trying several cutoffsRecording it as a hypothesis to check on later tradesRewriting your plan around it now

Even a clean, well-controlled pattern describes the market conditions, instruments, and version of you that produced it. Whether to change a holding rule, and how to test that change going forward, is a separate decision for the trader.

Where Costante fits

Costante supports the planning and logging layer this analysis depends on. You can write down your intended approach, including a planned holding horizon or time stop, as part of your own pre-session plan and pre-trade checks, log trades and behavioral notes with little friction, and review execution against the plan afterward. A duration comparison is only as good as the “intended versus actual” record behind it, and that record has to exist before the outcome is known.

Costante does not connect to brokers or exchanges, import fills or timestamps, calculate holding times, group trades by duration, or recommend a holding period. The grouping itself happens in your own spreadsheet or analysis tool, and the decision about whether a pattern is real, and whether to act on it, stays with the trader.

Frequently asked questions

What is a good average holding time for day trades?

There isn’t a universal one. Holding time follows from the setup, the instrument, and the exit rules, and a good average for one method would be a poor one for another. The more useful check is whether your trades last roughly as long as your plan intended, and whether any duration bin underperforms after costs within the same setup.

Why are my losing trades shorter than my winning trades?

Often because of where your stop and target sit relative to each other. When the stop is closer to entry than the target, stop-outs can arrive sooner on average even with no edge and no behavioral problem, as the random-walk simulation above shows. Compare the gap you see with what your bracket would produce before reading it as a behavioral pattern in either direction.

Should I add a time stop because my longest trades did best?

Not on the duration table alone. Long trades can look best because targets take longer to reach, not because time in the trade adds value. If you think a time rule would help, write it as a specific rule, replay it on past trades with the limits covered in stop-loss and profit-target simulation, and trial it going forward before adopting it.

How do I count duration for trades I scaled into or out of?

Pick one definition and apply it to every trade. First entry to last exit captures total time at risk. A quantity-weighted average holding time better reflects how long most of the position was held. The two can differ a lot for scaled trades, so report which one you used (and, for a lot-level figure, how closing quantities were matched to opening ones), and never mix them within a comparison.

Sources

Costante provides educational workflow tools, not financial advice. Trading involves risk.

Footnotes

  1. Shefrin, H., & Statman, M. (1985). The Disposition to Sell Winners Too Early and Ride Losers Too Long: Theory and Evidence. The Journal of Finance, 40(3), 777–790. ↩

  2. Odean, T. (1998). Are Investors Reluctant to Realize Their Losses? The Journal of Finance, 53(5), 1775–1798. Table I (full-year PGR 0.148, PLR 0.098) and footnote 11 (in-sample median holding period as a downwardly biased estimate). ↩ ↩2

  3. Locke, P. R., & Mann, S. C. (2005). Professional Trader Discipline and Trade Disposition. Journal of Financial Economics, 76(2), 401–444. ↩