Portfolio Return (Weighted Average ROI)

Enter holdings and get portfolio ROI, invested-weighted & value-weighted averages, optional CAGR, and a quick contribution chart. 100% private.

Inputs

Tip: Fees increase invested; income increases returned.
Name / Ticker Invested Returned / Current Fees Income ROI % Weight (invested) Gain/Loss

Results

Portfolio summary:
Returns:
  • ROI (aggregate): —
  • Weighted avg ROI (by invested): —
  • Weighted avg ROI (by value): —
  • Portfolio CAGR (if dates given): —
Contribution bars
Blue = invested, Green/Red = gain/loss (per holding)
Invested vs Profit/Loss by holding

📊 5 Fun Facts about Portfolio Returns

Weighted averages reveal biases

Invested-weight ROI equals the aggregate portfolio ROI, but value-weight ROI favors positions that grew big—so comparing the two shows whether current winners were also heavily funded.

Two lenses

Fees are stealthy gravity

A tiny 0.1% platform fee on a large fixed-income sleeve can offset the gains of a high-flying small-cap position. Costs move the whole weighted average more than most people expect.

Cost drag

Cash can be a villain or hero

Holding cash crushes ROI in a bull market, but it props up the portfolio in a drawdown. The same cash line item flips from “drag” to “buffer” depending on the market regime.

Cash effect

Income reshuffles leaders

A dull utility with steady dividends can outrank a flashy growth stock once you include income. Total return often rearranges which holdings are the true contributors.

Total return

CAGR demands a shared clock

Annualizing a portfolio only makes sense if the holdings span the same dates. Mixing a 3-month trade with a 5-year position gives a misleading CAGR mashup.

Time alignment

How this portfolio return tool works

Goal: turn many positions into one clear number. For each holding you provide: Invested (your cost) plus any Fees (brokerage, platform, stamp duty) gives net invested. Returned / Current plus any Income (dividends, interest, distributions) gives net returned. The holding’s ROI is (net returned − net invested) ÷ net invested. We then compute:

  • Portfolio ROI (aggregate): (Σ net returned − Σ net invested) ÷ Σ net invested. This equals the invested-weighted average of individual ROIs.
  • Weighted average ROI (by invested): average of holding ROIs using weights net invested ÷ Σ net invested (mathematically identical to aggregate ROI).
  • Weighted average ROI (by value): average of holding ROIs using weights net returned ÷ Σ net returned (a present-value perspective; not equal to aggregate ROI).
  • Portfolio CAGR (optional): if you enter a common From and To date, we annualize the aggregate result as (Σ net returned ÷ Σ net invested)^(1/years) − 1. This assumes holdings are broadly measured over the same period.

Informational only — not financial advice. Taxes beyond the fees/income you enter, FX effects, and cash drag are not included.

Explore more tools