Key takeaways
- TWR separates trading return from the timing of identified external cash flows.
- Results depend on flow classification, timestamp ordering and history completeness.
- MAR is annualized return divided by maximum drawdown, using disclosed conventions.
Time-weighted return measures compounded trading performance while separating the timing of identified deposits, withdrawals and broker-credit changes. It does this by splitting the timeline at external cash flows, calculating each sub-period return, and chaining the growth factors.
The algorithm in four lines
- Build a dated account-value timeline from the available broker history.
- Split the timeline at each item classified as an external deposit, withdrawal or broker-credit change.
- Calculate the return inside each sub-period using the chosen valuation convention.
- Multiply the sub-period growth factors and subtract one.
In formula form, TWR = ∏(1 + rᵢ) − 1, where each rᵢ is the return for one sub-period between identified external cash flows.
Worked example
An account starts at $1,000 and reaches $1,100 before an external $900 deposit. It then moves from the post-deposit $2,000 base to $1,900. The two sub-period factors are 1.10 and 0.95, so the chained factor is 1.045 and TWR is 4.5%. Ending balance alone cannot reveal that result because it includes the deposit.
| Measure | What it reflects | How to read the example |
|---|---|---|
| TWR | Chains sub-period returns so identified external cash flows do not dominate the trading result. | The 10% gain and 5% loss compound to 4.5%, independently of the $900 deposit's size. |
| Money-weighted return (MWR) | Reflects the timing and size of investor cash flows, usually through an internal-rate-of-return calculation. | The $900 deposit gives the later 5% loss more investor capital, so MWR can differ from the 4.5% TWR; exact MWR also needs the cash-flow dates. |
Two investors can therefore experience different money-weighted returns in the same strategy if they add or remove different amounts at different times, while the strategy's TWR over that shared timeline can be the same.
The subtleties implementations get wrong
- TradeStats flow classification.Each balance operation is classified from broker comment patterns and deal type. The amount is not used to guess or classify an unrecognized operation. Deposits, withdrawals and broker credits are external flows. Copy fees are P&L by default and are treated as flows only in the before-fees variant. Dividends and other adjustments remain performance unless explicitly classified otherwise. A non-zero unclassified balance operation makes TWR unavailable until it is reviewed; guessing whether it is capital or performance would fabricate the result.
- Timestamp ordering.At identical timestamps, TradeStats orders P&L before the external flow so repeated calculations use the same boundary.
- Invalid bases.A sub-period with P&L but no known positive capital base makes the whole TWR unavailable; publishing only later sub-periods would turn a partial calculation into a lifetime claim.
- Incomplete history. TWR is withheld when the reconstructed capital does not reconcile with each live broker account. Missing early deals or cash flows can change the chained result even when the current balance is correct.
Method and limitation note: TWR is not convention-free. TradeStats applies the policy above, publishes no TWR when a sub-period has an undefined capital base or when the reconstruction cannot be reconciled with the broker snapshot.
Drawdown comes free
The chained return index also supports maximum drawdown: the largest percentage decline from a prior peak under the same valuation and flow conventions. MAR is annualized return divided by maximum drawdown, not cumulative gain divided by drawdown. Annualization itself needs a stated period and enough history to be meaningful.
Return, drawdown and consistency should be read together when checking a track record.
Where to see yours
A read-only account connection lets TradeStats rebuild the available timeline, calculate chained returns and flag reconciliation limits. Review the linked cash-flow history as well as the headline result; a clean formula cannot recover data the broker did not deliver.
Copy-trading charges also need a declared convention. The copy-trading fee guide explains why gross and net views answer different questions.
Frequently asked questions
Why not divide profit by total deposits?
That ratio mixes trading performance with when capital arrived. TWR instead breaks the record around identified external flows and chains the return of each sub-period.
Do all platforms calculate TWR the same way?
No. Flow classification, same-timestamp ordering, valuation points and treatment of incomplete history are conventions. Compare trackers only after checking those choices.
Can TWR be negative while the balance grew?
Yes. A large deposit can raise balance while the post-deposit trading sub-period loses money. TWR is designed to exclude the deposit from trading return.