Portfolio Return Calculator

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 / tickerStarting weight (%)Holding return (%)ContributionAction

Advertisement

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%.

A: 0.60 × 8% = 4.80 percentage points
B: 0.30 × 4% = 1.20 percentage points
C: 0.10 × 2% = 0.20 percentage points
Total: 4.80% + 1.20% + 0.20% = 6.20%

Asset A ranks first because it adds 4.80 of the portfolio’s 6.20 percentage-point return.

Performance with a mid-period deposit

Suppose a portfolio starts at $10,000 on 1 January, receives a $2,000 deposit on 1 July, and ends at $13,000 on 31 December.

Total gain = $13,000 − $10,000 − $2,000 = $1,000
Cash-flow equation: −$10,000 − $2,000/(1+r)^(181/365) + $13,000/(1+r)^(364/365) = 0
Money-weighted return (XIRR) ≈ 9.1% annualized

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.

Explore more tools