How does one go about calculating the performance of a portfolio when the portfolio is robo-managed and rebalances often, therefore making tracking every transaction and exact holdings over time a pain. All the software and formulas I've seen assume that you know exactly how many of each share you hold and the stock price of each and you need to enter every buy/sell/dividend-reinvest to keep the calculation accurate.

What I do have is 1) the book value (sum of all deposits - all withdrawals), 2) dates and amounts of human-made deposits/withdrawals and 3) the exact market value of the portfolio that day (this includes reinvested dividends).

I'm looking for some way to calculate MWRR, TWRR and such metrics (or an approximation) without having to enter every movement that the robo-advisor did. I want to update this by hand every quarter or something where I just look at that day's account market value, enter it in some spredsheet/software and get performance metrics up to that day.

Is this possible at all? I tried using a custom "metastock" to represent all the account holdings but I still couldn't figure out how to enter transactions


2020-03-04, deposit $80, auto-invested in 11 different companies
2020-04-01, unknown rebalance of those 11 companies
2020-04-02, auto-reinvest $2 from dividends
2020-05-01, unknown rebalance where 1 of those companies was sold completely, leaving only 10 companies in the portfolio 
2020-05-23, deposit $100, auto-invested in 3 different companies
2020-05-31, I see: book value = $180, market value = $195
2020-06-01, unknown rebalance
2020-07-01, unknown rebalance
2020-07-01, auto-reinvest $13 from dividends
2020-11-13, deposit $30, auto-invested in the same 10 companies
2020-12-31, I see: book value = $210, market value = $201
2021-03-01, unknown rebalance
2021-06-12, deposit $100, auto-invested in 8 companies
2021-07-01, I see: book value = $310, market value = $408
2021-07-08, auto-reinvest $13 from dividends
2021-09-01, unknown rebalance
2021-12-31, I see: book value = $310, market value = $453

I would like to calculate annualized and overall performance

  • 1
    For what it's worth, this is one of the many reasons I stick with mutual funds. I don't know or need to know all their internal shuffling; I just need the prices when I buy and sell each lot. (And my broker and my personal finance software do the remaining tracking for me )
    – keshlam
    May 21, 2023 at 13:40
  • What's your portfolio worth today? What was it worth last week? How much more is it worth today? Is that not the simple answer? May 23, 2023 at 18:28

1 Answer 1


To find the annualised return, given the deposits and valuations, calculate the money-weighted return (mwr) for each span between valuations, then compound them for a time-weighted return. Just posting my notes as is, trust they're clear enough.

enter image description here

enter image description here

enter image description here

enter image description here

This finds an annualised time-weighted return of 26.6%

  • if I'm getting this right, you calculate the MWR between valuations but you need to use both external deposits AND auto-reinvests when calculating that MWR, right? why is the auto-reinvestment relevant? how is that different from just increase in the stock price? they just happened to pay a dividend that got reinvested immediately. i'm just trying to get calculations to the minimum to simplify things
    – Hilikus
    Jun 10, 2023 at 4:15
  • @Hilikus I think you're right: the auto-reinvestments are irrelevant. They can be left out of the calculations. Jun 10, 2023 at 10:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .