How to Calculate Time-Weighted Return: Sub-Period Steps and Annualizing

To calculate a time-weighted return, break the measurement window at every deposit or withdrawal, compute a return for each resulting sub-period using the values just before and just after each cash flow, then multiply the growth factors together and subtract one. That is the entire method. Everything else is data gathering, an optional annualization step at the end, and knowing when a different metric would answer your question better.

What You Need Before You Start

Two kinds of data drive the calculation: portfolio valuations and external cash flows. You need the portfolio’s market value at the start of the period, at the end of the period, and immediately before every deposit or withdrawal in between. That pre-cash-flow value is what separates one sub-period from the next, so it has to be the balance on the morning of the transaction, before the money hits.

External cash flows are anything that adds or removes capital: contributions, withdrawals, transfers in or out, and in-kind asset movements. Dividends reinvested inside the account are not external cash flows because the money never left. Interest or dividends paid out to a different account do count as withdrawals.

Under the 2020 Global Investment Performance Standards, firms reporting composite returns must value portfolios at least monthly and on the date of any large cash flow, with each firm defining “large” for each composite.1GIPS Standards. 2020 GIPS Standards for Firms GIPS also recommends valuing on the date of every external cash flow. For a personal calculation, valuing on every cash flow date is the cleanest approach, and most brokerage platforms show daily balances you can pull from statements or a transaction export.

Step 1: Compute Each Sub-Period Return

Every cash flow splits the timeline into a sub-period. No money enters or leaves within a sub-period, so its return is pure investment performance. The formula:

Sub-period return = (Ending value − Beginning value) ÷ Beginning value

The ending value is the portfolio’s market value just before the next cash flow, or the final valuation if it is the last sub-period. The beginning value is the portfolio’s value right after the previous cash flow, which equals the pre-cash-flow value from the prior sub-period plus or minus the cash flow itself.

A worked example. A portfolio starts January 1 at $100,000. On April 1 you deposit $20,000, and the portfolio was worth $108,000 that morning before the deposit. On June 30 the account is worth $131,000.

  • Sub-period 1 (Jan 1 to Apr 1): beginning value $100,000, ending value $108,000. Return = ($108,000 − $100,000) ÷ $100,000 = 0.08, or 8%.
  • Sub-period 2 (Apr 1 to Jun 30): beginning value $108,000 + $20,000 = $128,000, ending value $131,000. Return = ($131,000 − $128,000) ÷ $128,000 = 0.02344, or about 2.34%.

The $20,000 deposit does not inflate the second sub-period’s return because it sits in the denominator. Only the growth above the new base counts. Repeat this for every interval and keep each result as a decimal for the next step.

Step 2: Link the Sub-Period Returns Geometrically

Once you have every sub-period return, chain them together by multiplying growth factors:

TWR = (1 + R₁) × (1 + R₂) × … × (1 + Rₙ) − 1

Add one to each sub-period return, multiply the results, then subtract one. Using the example above:

(1 + 0.08) × (1 + 0.02344) − 1 = 1.08 × 1.02344 − 1 = 1.10531 − 1 = 0.10531

The time-weighted return for the six-month period is 10.53%. That is what a dollar invested on January 1 would have grown to by June 30, regardless of the $20,000 deposit. Multiplication rather than addition matters because gains in the first period earn additional returns in the second, and simply adding sub-period returns ignores that compounding. The more sub-periods you have, the wider the gap between the correct geometric result and the additive shortcut.

Step 3: Annualize If the Period Is Longer Than a Year

When the window runs longer than twelve months, converting the cumulative TWR to an annual figure makes comparisons easier:

Annualized TWR = (1 + cumulative TWR)^(1 / number of years) − 1

A cumulative TWR of 34% over three years annualizes to (1.34)^(1/3) − 1 = 0.1024, or 10.24% per year. In a spreadsheet: =POWER(1.34, 1/3) - 1. For fractional periods, express time in years and use that as the denominator of the exponent. A 27-month window is 2.25 years, so the exponent is 1/2.25.

Do not annualize periods shorter than one year. Projecting a strong three-month result across twelve months produces an inflated figure, and GIPS explicitly prohibits compliant firms from annualizing sub-year returns for this reason.2GIPS Standards. Partial Period Returns Question 2 Updated If your measurement period is under a year, report the cumulative return as-is.

If You Can’t Get Valuations on Every Cash Flow Date

True TWR requires a portfolio value every time money moves. When those valuations are not available, the Modified Dietz method approximates the return by weighting each cash flow by the fraction of the period it was in the account. The numerator is the ending value minus the beginning value minus total cash flows. The denominator is the beginning value plus each cash flow multiplied by the percentage of the measurement period it was invested. This produces a single-period estimate without intermediate valuations.

To approximate a full time-weighted return over a longer horizon, calculate Modified Dietz returns for shorter intervals, monthly is standard, and geometrically link those results the same way you would link true sub-period returns. The approximation degrades when cash flows are large relative to the portfolio or when returns swing hard within a month, but for tracking personal performance it is usually close enough.

Gross vs. Net Returns

The sub-period formula does not know the difference between growth you keep and growth that gets paid out in fees. A portfolio worth $105,000 at period end looks the same whether the manager charged $500 or $5,000. Because of that, TWR is typically calculated twice: gross-of-fees and net-of-fees.

Gross returns strip out only unavoidable transaction costs like brokerage commissions. Net returns deduct investment management fees on top of those transaction costs.3GIPS Standards. Calculation Methodology Question 8 The gap between the two is the drag from your advisory fee, which compounds over the years. To evaluate a strategy, use gross; to see what you actually kept, use net; to compare two funds with different fee structures, net is the only honest number.

When Time-Weighted Return Isn’t the Right Answer

TWR answers one question: how did the strategy perform, independent of when money went in or out? If instead you want to know how your actual dollars did given the specific timing of your deposits and withdrawals, you need the money-weighted return, also called the internal rate of return. A large deposit right before a rally will push your money-weighted return above the TWR because more capital was working during the good stretch; a large deposit before a decline pulls it below the TWR for the same reason in reverse.

Most custodians report money-weighted returns on individual account statements and time-weighted returns on fund or composite performance. If a statement figure does not match what a fund reports, the difference in methodology is usually why. Neither number is wrong; they answer different questions.