Calculate an overall portfolio return from asset weights, or measure actual performance from starting and ending values, income, fees, and dated cash flows. Results are calculated locally in your browser.
Choose a calculation mode
Weighted Portfolio Return
Use beginning-of-period weights and each asset’s return. Negative returns are allowed. The contribution column shows exactly how many percentage points each holding adds or subtracts.
Optional. Enter a period return, not an annualized return.
Advanced weights
Holdings
Holding / ticker
Starting weight (%)
Holding return (%)
Contribution
Action
Actual Portfolio Performance
Use account values from one common period. Starting value is the portfolio’s opening market value (not lifetime cost basis); ending value is the closing market value or sale proceeds. Enter external cash flows separately.
Changes formatting only; it does not convert values or percentages.
Optional. Use the same dates, currency, and an annualized benchmark return.
Opening market value for the measurement period.
Closing market value; include unrealized positions still held.
Dividends or interest not already included in ending value or a dated distribution.
Do not repeat fees already deducted from account values or entered below.
Dated cash flows
Deposits and fees are investor outflows; withdrawals and distributions are investor inflows.
Portfolio return results
Holding contribution to portfolio return
Each bar and table value is starting weight × holding return. Signed contributions add back to the portfolio return; colour is only a secondary cue.
Rank and holding
Starting weight
Holding return
Signed contribution
Total
—
Worked portfolio return examples
Weighted return example
A portfolio starts with 60% in Asset A returning 8%, 30% in Asset B returning 4%, and 10% in Asset C returning 2%.
Simply treating all $12,000 as invested for the full year would ignore when the deposit arrived.
Portfolio return formulas and definitions
Weighted portfolio return
Rp = Σ(wi × Ri)
Rp is portfolio return, wi is holding i’s starting weight, and Ri is that holding’s return. Weights should normally use values at the beginning of the measurement period. Target weights with forecast returns estimate an expected return; beginning weights with observed returns measure a realized return.
Holding total return
Holding return = (ending value + income − starting value − fees) ÷ (starting value + fees)
Income includes dividends, interest, or distributions not already in ending value. Use consistent fee treatment and never double-count an amount.
Cumulative return and CAGR
Cumulative return = (ending value + income − fees) ÷ starting value − 1 CAGR = [(ending value + income − fees) ÷ starting value]^(1/years) − 1
CAGR is appropriate only when there are no intervening external deposits or withdrawals. It smooths the change into a compounded annual rate; it does not describe year-by-year volatility.
Money-weighted return (XIRR)
0 = Σ[CFi ÷ (1 + r)^((datei − date0)/365)]
CFi is each dated investor cash flow (investments negative; money received positive), date0 is the first date, and r is the annualized money-weighted return. It reflects both the size and timing of external cash flows. This calculator finds a numerical root; unusual cash-flow patterns can have no solution or more than one solution.
Portfolio return FAQ
How do I calculate total portfolio return?
For a weighted portfolio, multiply each holding’s beginning weight by its total return and add the contributions. For actual account performance without cash flows, divide total gain by the starting value. With dated cash flows, use money-weighted return (XIRR).
Which portfolio weights should I use?
Normally use each holding’s market value at the beginning of the measurement period divided by the portfolio’s total beginning value. Target weights are appropriate for expected-return scenarios, but beginning weights are appropriate for realized performance.
Should I include dividends and fees?
Yes. Include dividends, interest, and distributions that were paid outside the account, and include fees not already deducted from the ending value. Do not enter the same income or fee twice.
How do contributions and withdrawals change the calculation?
Deposits and withdrawals are external cash flows, not investment gains or losses. Their dates and amounts affect money-weighted return, so enter each flow separately rather than treating all contributed capital as invested from the start.
What is the difference between CAGR and money-weighted return?
CAGR annualizes growth from one starting value to one ending value and assumes no intervening external cash flows. Money-weighted return, or XIRR, is an annualized return that reflects the exact timing and size of dated cash flows.
Why might the result differ from my broker’s return?
A broker may use time-weighted return, different cash-flow timing, settlement dates, accrued income, tax treatment, foreign-exchange rates, or fees already embedded in account values. Match those conventions before comparing results.
How are investment losses handled?
Enter negative holding returns in weighted mode. In performance mode, an ending value below the capital contributed produces a loss. A long holding cannot lose more than 100%, while short positions can have different payoff patterns.
How should I choose a benchmark?
Choose an investable index or blended benchmark that matches the portfolio’s asset mix, risk, currency, and identical measurement period. Compare period returns with period returns, or annualized returns with annualized returns.
Methodology, assumptions, and privacy
Methodology: Weighted mode uses beginning weight × holding return. Actual mode uses investor-perspective dated cash flows for XIRR and shows CAGR only when no intervening external flows exist. The GIPS Standards Handbook defines money-weighted return as reflecting the timing and size of external cash flows, while Investor.gov notes that investment return may come from value changes, interest, or dividends. Investor.gov’s fee guidance explains why fees reduce portfolio value and returns.
Assumptions and limitations: Values use one selected currency; no foreign-exchange conversion is performed. Taxes are excluded unless reflected in the values entered. Income is assumed paid on the ending date unless entered as a dated distribution. Undated fees are assumed paid on the ending date. Cash held inside the stated portfolio must be included in start and end values. Reinvested income already included in ending value must not be added again. XIRR is money-weighted, not time-weighted, and can be sensitive to cash-flow timing. Benchmark data is user-supplied and is not fetched or verified.
Privacy: Calculations run locally in this browser and inputs are not uploaded by this tool. The shareable-link control places entered values in the page URL; anyone who receives or can access that URL may see them. Clear sensitive values before sharing.
Editorial owner: Starlight Robotics Research Team. Reviewed and updated: 17 July 2026.
For informational purposes only; not financial, tax, legal, or investment advice. Verify important results against broker statements or a qualified professional.