Find the return of a whole portfolio from the weight and return of each holding, and see which holdings drove it. Have deposits or withdrawals? Switch to the second mode to compare the time-weighted return (how your investments did) with the money-weighted return (how your dollars did).
Last updated:
What do you want to calculate?
$
Turns the % return into a dollar gain.
$
$
Example: “2025-04-01, 10000, 47500” = deposited 10,000 on April 1 when the account was worth 47,500. The third value is needed for the time-weighted return.
Enter your values to see the result.
Advertisement
Advertisement
How to use the Portfolio Return Calculator
Pick a mode. Use “Weighted return of holdings” for a snapshot, or “Time-weighted vs money-weighted” if money went in or out.
Enter your holdings one per line as name, weight % (or amount) and return %, for example “Bonds, 25, 2.1”.
For cash flows, enter the start and end dates and values, then one line per deposit or withdrawal: date, amount, and the account value just before it.
Click Calculate return to see the portfolio return, each holding’s contribution or the TWR and MWR side by side.
Check the steps and table, then copy the results or download the table as CSV.
Portfolio return formulas
Measure
Formula
What it tells you
Weighted return
R = Σ wᵢ × rᵢ
Return of a mix of holdings over one period with no cash flows
Contribution
wᵢ × rᵢ (percentage points)
How much each holding added to or took from the total
Time-weighted (TWR)
(1 + r₁)(1 + r₂)…(1 + rₙ) − 1
Investment performance, unaffected by deposits and withdrawals
Money-weighted (MWR)
Σ CFₜ ÷ (1 + r)^(days/365) = 0
Annual rate earned on your actual dollars, timing included
Modified Dietz
gain ÷ (V₀ + Σ Fᵢ × Wᵢ)
Quick approximation of the money-weighted return
Annualized
(1 + R)^(1/years) − 1
Turns a multi-year return into a yearly rate
Worked example: why TWR and MWR differ
You start the year with $20,000. By June 30 it has grown to $24,000 (+20%) and you deposit another $20,000, so the account holds $44,000. By December 31 it is worth $39,000, a fall of about 11.4% in the second half.
Time-weighted: 1.20 × (39,000 ÷ 44,000) − 1 = 1.20 × 0.8864 − 1 ≈ +6.4%. The investments themselves gained over the year.
Money-weighted: you put in $40,000 and ended with $39,000, a $1,000 loss, so the IRR is about −3.3%. More of your money was invested during the bad half.
Neither number is wrong. They answer different questions: “How did the portfolio perform?” versus “How did my money do?”. Load the “Deposit before a drop” preset above to see this example.
Tips for accurate results
Use total returns (price change plus dividends and interest) for each holding, not just price change.
Count reinvested dividends as growth, not as deposits. Only money moving in or out of the account is a cash flow.
For the time-weighted return, record the account value on the day of each flow, before the money arrives or leaves.
Fees taken from the account reduce the value and lower the return; fees you pay from outside are not included.
Compare with a benchmark over the same dates, using its total return index.
Frequently asked questions
How do you calculate the return of a portfolio?
Multiply each holding’s return by its weight (its share of the total portfolio value at the start) and add the results: R = Σ wᵢ × rᵢ. A portfolio that is 60% stocks returning 10% and 40% bonds returning 3% returned 0.6 × 10% + 0.4 × 3% = 7.2%.
What is the difference between time-weighted and money-weighted return?
The time-weighted return (TWR) links the returns between cash flows, so it measures how the investments performed regardless of when money was added or taken out. Fund managers report it. The money-weighted return (MWR) is the internal rate of return of your actual cash flows, so it also reflects your timing: adding money before a rise raises it, adding before a fall lowers it.
Which return should I use?
Use the time-weighted return to compare your portfolio with a fund or an index, or to judge an adviser who does not control your deposits. Use the money-weighted return to see what you personally earned on the dollars you invested.
Why do I need the account value before each cash flow?
TWR splits the period at every deposit or withdrawal and needs the value right before each one to measure the return of each sub-period. Without those values only the money-weighted return and the Modified Dietz approximation can be calculated.
Should the weights be based on starting values?
Yes. For a single-period weighted return, use each holding’s value at the start of the period. Using end-of-period weights overstates the holdings that did best.
Is the money-weighted return annualized?
Yes. It is solved like XIRR: Σ cash flow ÷ (1 + r)^(days/365) = 0, so r is an annual rate. The calculator also converts it to a return over your whole period so it can be compared directly with the TWR.
What is the Modified Dietz method?
A shortcut for the money-weighted return that does not need iteration: gain ÷ (starting value + each cash flow weighted by the share of the period it was invested). It is usually very close to the IRR for periods of a year or less.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.