Portfolio Return Calculator

Calculate the weighted return of a portfolio from its holdings.

Please note: For information only, not investment advice. Projections assume constant rates; real markets fluctuate and capital is at risk.

What the Portfolio Return Calculator does

A portfolio's return is the weighted average of its holdings, where the weights are position sizes. A spectacular return on a 2% position moves the portfolio far less than a mediocre one on a 40% position.

Formula

  • Weight = Holding value ÷ Total portfolio value
  • Portfolio return = Σ(Weight × Holding return)
  • Contribution = Weight × Holding return

Inputs explained

InputUnitRequiredNotes
Weights or valuestextYesPercentages or currency amounts — both work.
Return of each holding (%)textYesSeparate values with commas, spaces or new lines.

How to use it

  1. Enter Weights or values and Return of each holding (%).
  2. Select Calculate.

Worked example

Four holdings weighted 40/30/20/10 returning 12.5%, 8.2%, −3.4% and 15%.

Weights
40, 30, 20, 10
Returns
12.5, 8.2, -3.4, 15.0

(0.4×12.5) + (0.3×8.2) + (0.2×−3.4) + (0.1×15) = 8.28%.

Frequently asked questions

Should I use starting or ending weights?

Starting weights, since they reflect how your capital was actually allocated during the period. Ending weights already incorporate the returns you are measuring.

Method and sources

Method. Each holding is weighted by its share of total value and the weighted returns summed — a value-weighted return across the portfolio.

Assumptions

  • Weights are taken at a single point in time, and no money entered or left during the period measured.

Limitations

  • Weighting by current value describes the portfolio as it ends, not as it was held. Where a position grew substantially, its contribution is overstated relative to the capital actually exposed to it.
  • With contributions or withdrawals mid-period this is not the investor's return; a money-weighted calculation answers that question and gives a different number.

Related calculators