Time-weighted return (TWR) stands as the gold standard for measuring the performance of an investment portfolio, particularly when external cash flows—deposits and withdrawals—distort the true picture of an investment manager’s skill. Unlike the money-weighted return (MWR), which is sensitive to the timing and size of investor cash flows, TWR isolates the portfolio’s performance from the investor’s behavior. In practice, this distinction makes it the preferred metric for comparing fund managers, evaluating mutual funds, and benchmarking against market indices. Understanding how to calculate time weighted return requires a grasp of sub-period returns, geometric linking, and the precise handling of cash flow events.
Why Time-Weighted Return Matters
Before diving into the mechanics, it is essential to understand why this calculation exists. A simple return calculation would penalize the portfolio manager for a decision the investor made. Conversely, a withdrawal before a rally would artificially inflate the manager’s perceived skill. On the flip side, tWR solves this by breaking the overall evaluation period into smaller sub-periods at every point a cash flow occurs. Imagine an investor deposits a large sum right before a market crash. By calculating the return for each sub-period independently and then geometrically linking them, the metric reflects only the compound rate of growth of one unit of currency invested over the entire measurement period That alone is useful..
Quick note before moving on.
The Core Formula: Geometric Linking of Sub-Periods
The fundamental formula for Time-Weighted Return is the product of the returns for each sub-period, minus one.
$TWR = \left[ (1 + R_1) \times (1 + R_2) \times \dots \times (1 + R_n) \right] - 1$
Where:
- $R_1, R_2, \dots, R_n$ represent the holding period returns (HPR) for each sub-period.
- $n$ is the total number of sub-periods.
A sub-period begins either at the start of the overall measurement period or immediately after a significant external cash flow (deposit or withdrawal). Which means it ends at the next cash flow or the end of the measurement period. The critical rule is that the portfolio must be valued immediately before and immediately after every external cash flow Practical, not theoretical..
Step-by-Step Calculation Process
Calculating TWR manually involves a systematic workflow. Follow these steps to ensure accuracy:
1. Identify Valuation Points and Cash Flows
Gather the portfolio’s market value at the start date, the end date, and at every date where an external cash flow occurred. An external cash flow is any capital added to or removed from the portfolio by the investor (contributions, withdrawals, dividends paid out to cash, fees paid from outside the portfolio). Internal cash flows—such as dividends reinvested, interest accrued, or trading gains/losses—are not treated as sub-period breaks; they are captured naturally in the change in market value Most people skip this — try not to..
2. Define Sub-Periods
Segment the total time horizon into distinct intervals. Each interval starts after a cash flow (or the inception date) and ends at the next cash flow (or the termination date) Worth keeping that in mind. No workaround needed..
3. Calculate the Holding Period Return (HPR) for Each Sub-Period
For every sub-period $i$, use the following formula:
$HPR_i = \frac{EV_i - BV_i - CF_i}{BV_i + CF_i}$
Alternatively, if the valuation is taken immediately before the cash flow: $HPR_i = \frac{EV_{i} - BV_{i}}{BV_{i}}$ (Where the ending value of period $i$ is the value before the cash flow, and the beginning value of period $i+1$ is the value after the cash flow).
Standard Convention Variables:
- $BV_i$ (Beginning Value): Portfolio value at the start of the sub-period.
- $EV_i$ (Ending Value): Portfolio value at the end of the sub-period (before any cash flow at that moment).
- $CF_i$ (Cash Flow): Net external cash flow occurring at the end of the sub-period (positive for contributions, negative for withdrawals).
Note: If a cash flow occurs at the beginning of a sub-period, it is added to the Beginning Value. If it occurs at the end, it is subtracted from the Ending Value in the numerator and added to the Beginning Value in the denominator. Consistency in timing assumption (beginning vs. end of day) is critical.
4. Geometrically Link the Sub-Period Returns
Once you have the HPR for every sub-period (expressed as decimals, e.g., 0.05 for 5%), multiply the growth factors $(1 + HPR)$ together.
$TWR = (1 + HPR_1) \times (1 + HPR_2) \times \dots \times (1 + HPR_n) - 1$
5. Annualize the Result (Optional but Standard)
If the measurement period is longer than one year, or if you want to compare the result to an annual benchmark, annualize the cumulative TWR Worth keeping that in mind..
$Annualized\ TWR = (1 + Cumulative\ TWR)^{\frac{1}{Years}} - 1$
Where Years is the total number of days in the period divided by 365 (or 365.25 for precision).
A Detailed Numerical Example
Let’s walk through a concrete scenario to solidify the concept.
Scenario:
- Jan 1: Initial Investment $100,000.
- Mar 31 (Quarter 1 End): Portfolio value grows to $110,000. Investor contributes $20,000.
- Jun 30 (Quarter 2 End): Portfolio value drops to $125,000. Investor withdraws $15,000.
- Dec 31 (Year End): Portfolio value grows to $115,000.
Step 1: Break into Sub-Periods
- Period 1: Jan 1 to Mar 31 (Before contribution).
- Period 2: Mar 31 (After contribution) to Jun 30 (Before withdrawal).
- Period 3: Jun 30 (After withdrawal) to Dec 31.
Step 2: Calculate HPR for Each Period
Period 1 (Jan 1 – Mar 31):
- Beginning Value ($BV_1$) = $100,000
- Ending Value ($EV_1$) = $110,000 (Value before cash flow)
- Cash Flow ($CF_1$) = +$20,000 (Occurs at end of period)
- $HPR_1 = \frac{110,000 - 100,000}{100,000} = 0.10$ or 10%
Period 2 (Apr 1 – Jun 30):
- Beginning Value ($BV_2$) = $110,000 (Previous EV) + $20,000 (Contribution) = $130,000
- Ending Value ($EV_2$) = $125,000 (Value before withdrawal)
- Cash Flow ($CF_2$) = -$15,000 (Withdrawal at end of period)
- $HPR_2 = \frac{125,000 - 130,000}{130,000} = \frac{-5,000
-
Analyze the Request:
- Goal: Continue the article smoothly, do not repeat previous text, finish with a proper conclusion.
- Input text: A detailed explanation of how to calculate Time-Weighted Return (TWR), including definitions, sub-period breakdowns, HPR calculations, geometric linking, and annualization. It ends mid-sentence in a numerical example: "$HPR_2 = \frac{125,000 - 130,000}{130,000} = \frac{-5,000${content}quot;.
- Constraint 1: Seamless continuation.
- Constraint 2: No repetition of previous text.
- Constraint 3: Finish with a proper conclusion.
-
Determine the Next Steps in the Article:
- The calculation for $HPR_2$ is incomplete: $\frac{-5,000}{130,000} \approx -0.03846$ or $-3.85%$.
- Need to complete Period 2's HPR.
- Calculate Period 3's HPR (Jun 30 to Dec 31).
- $BV_3 = EV_2 + CF_2 = 125,000 - 15,000 = 110,000$.
- $EV_3 = 115,000$.
- $CF_3 = 0$.
- $HPR_3 = \frac{115,000 - 110,000}{110,000} = \frac{5,000}{110,000} \approx 0.04545$ or $4.55%$.
- Calculate Cumulative TWR: $(1 + 0.10) \times (1 - 0.03846) \times (1 + 0.04545) - 1$.
- Let's use exact fractions for precision if possible, or just decimals.
- $1.10 \times (125/130) \times (115/110) - 1$
- $= 1.10 \times (25/26) \times (23/22) - 1$
- $= (11/10) \times (25/26) \times (23/22) - 1$
- $= (1/2) \times (25/26) \times (23/2) - 1$ ... wait, let's just do decimals.
- $1.10 \times 0.961538 \times 1.045454 - 1 \approx 1.00999 - 1 = 0.01$ or roughly 1%.
- Wait, let's recalculate exactly:
- $1.10 \times (125/130) \times (115/110) = 1.10 \times 0.96153846 \times 1.04545454 = 1.0100000...$
- Actually, $1.10 \times (125/130) = 137.5 / 130 = 1.0576923$.
- $1.0576923 \times (115/110) = 1.0576923 \times 1.0454545 = 1.105263...$ wait.
- Let's re-multiply: $1.10 \times (125/130) \times (115/110) = (1.10 \times 125 \times 115) / (130 \times 110) = (137.5 \times 115) / 14300 = 15812.5 / 14300 = 1.105769...$
- Wait, $1.10 \times (125/130) = 137.5 / 130 = 1.0576923$.
- $1.0576923 \times (115/110) = 1.0576923 \times 1.0454545 = 1.105769...$
- So Cumulative TWR = $1.105769 - 1 = 0.105769$ or $10.58%$.
- Annualize it (optional but standard): It's a 1-year period, so annualized TWR = cumulative TWR.