Wrong TWR and MWR for (most) benchmarks

Hi. There seems to be an issue with the TWR/MWR for most benchmarks. The TWR/MWR rate doesn’t start at 0 and so makes any comparison hazardous. The same problem arises for all default benchmarks (each with a different starting MWR/TWR rate), but strangely not for my custom benchmark.

Any help would be greatly appreciated.

Hey Lionel,

The number used as a starting point for charts is at the end of one day before the first date on the chart. This is to properly account for gains/losses on that first date - for example if you pay a fee when buying stock, or pay a premium.

So for example if you’re looking on the Year-to-date, the today’s number is based on the 31 Dec 23:59:59 of the year before - which I think you would expect.

If the first date on the chart would be 0 - it means, that the basis for the Year to Date, would be the 23:59:59 of 1st of January, which would give you a different number at the end.

It actually was like that at the beginning, but it was pretty confusing.

I can assure you that both benchmarks and your assets are calculated this way:

If you chart just two days of returns and a benchmark, then you’ll see that both might not start at 0. They will however, if there was no activity, like after a weekend.

And here I’m using the same set of positions as the benchmark:

The same is true for any other metric, like returns.

Another way, could be to start the chart on the basis date (one day before), but it brings another host of issues if it’s not possible to fit all datapoints (eg. one point on chart represents more than one day).

I guess it should be explained somewhere in detail, so thanks for asking and I hope it clarifies this a bit.

I’d also add, that if your benchmark/portfolio encompasses the whole date range (Max or Hold) it will always start at 0, as the from date is actually one day before the first transaction in this case.

When I’m thinking about it, it may lead to slight discrepancy, as the regular benchmark (like SPY) has a one day head-start in this case.

But if it doesn’t start at 0, as you already know, it lead to confusion, as you may think there’s probably something more… :thinking:

Hi. Thanks for your replies. Actually i’ve found that starting one day after day 0 leads to my portfolio and the benchmarks all starting at 0%.

My custom benchmarks had no problem with the max period probably because it consists of two assets trading on european stock exchanges. The standard benchmarks probably all trade on US stock exchanges and so don’t have the same trading hours. Does it make sense ?

Hmm, hard to tell, could be a coincidence as well (eg. a holiday in EU while not in US or the other way round).
Trading hours should not affect this, as both EU and US closing prices will be recorded for the same date.

What’s important here is that both are calculated the same and should be safe for comparisons. The only exception is the “Max/Hold” period where the benchmark has a one day head start. I’ll reconsider setting the “from date” to the actual first trade date in this case.

And one more thing, setting it like you did mitigates this discrepancy I wrote about. Just so you know it might not start at 0% - but that’s fine :slight_smile: