Strategy

How to check the overlap between your funds

A world ETF, an S&P 500 ETF and a Nasdaq 100 ETF are three lines in a portfolio and, to a large extent, the same companies. This article is about measuring how much of that you own. It is not about how many funds anyone needs.

Overlap is not an error by definition. Two funds can hold the same shares for a reason you can name, and one fund can be a complete portfolio on its own. It is worth measuring because it changes a number most people think they know, namely how much of their money depends on a few companies.

That number is printed nowhere. It is the weight of a company inside a fund, multiplied by the weight of that fund in your portfolio, added up across every fund that holds it. This article covers where those inputs come from, what a tracker can and cannot see, and why the answer keeps changing.

What a second fund adds and what it repeats

A fund is a list of companies with weights. A second fund either brings names the first one does not have, or brings the same names again at a different weight. Usually it does both at once, and the ratio between the two is what overlap means.

The case that turns up most often is a stack of broad equity funds. A world index is weighted by market value, so the largest US companies already carry the largest weights inside it. An S&P 500 fund holds those same companies as its complete universe. A Nasdaq 100 fund holds a hundred of the largest of them again.

Held together, the top names arrive three times at three weights, and each of the three funds charges its own ongoing cost on the part of your money it holds. Whether that is what you wanted is a question this article does not answer. How much of it you have is a question it can.

The reverse case is easier to miss. A developed-markets fund and an emerging-markets fund have almost no names in common, so two funds there repeat almost nothing. The count of funds says nothing on its own. The lists do.

Where the holdings data is

The funds themselves publish the answer. Every ETF issuer puts the full holdings list on the product page, usually as a file you can download, with a weight next to each holding. Two of those files and a spreadsheet give the answer in four steps.

  1. Download the holdings file of each fund from the issuer's product page.
  2. Match the rows on ISIN, so that the same company in two files ends up on one line.
  3. Multiply each company's weight in a fund by the weight of that fund in your portfolio.
  4. Add up the matches. What comes out is the share of your money that sits in companies you own more than once.

What a tracker can and cannot see

No portfolio tracker can take that step for you, ours included. A tracker reads your transactions, and in your transactions a fund is one instrument with one ISIN. What the fund holds never appears in the file your broker exports, so nothing downstream of that file can know it.

What your own dashboard does show

The weight of each fund. The allocation card grouped by position gives the share of your money in every holding. That is the multiplier in the sum above, and it is the number people are most often wrong about, because deposits landed on different dates and prices moved afterwards.

A fund you still think of as a small satellite can have become a quarter of the portfolio without a single new order.

Sector and country. The same card also groups by sector and by country, and here the limit matters. A fund is not looked through. Its sector reads "ETF / Fund" and its country is the one the fund itself is registered in, which for many European trackers is Ireland.

Those two views describe the shares you hold directly, plus how much of the portfolio sits in funds at all. They do not describe what is inside the funds.

The returns, side by side. Funds holding the same companies produce nearly the same line. If two of your holdings have returned nearly the same amount over several years, through the same months up and the same months down, then for your portfolio they have been behaving as one holding.

That is a measurement rather than a verdict, and it is the cheapest version of this check, because it needs no holdings files at all.

Labels add one more view. Assign each holding to a group and every group is read as a portfolio of its own, with its own return against the same index. If two groups you meant to keep apart report the same number, the difference between them is in the labels, not in the holdings.

The number changes on its own

Index weights follow prices, so the top holdings of a fund grow heavier in a year when the largest companies do well, and they do so in every fund that holds them at the same time.

Your own weights move for that reason plus your deposits. Nobody has to buy anything for last year's answer to be out of date.

The natural moment for the check is the day you download an export anyway. The holdings-file part takes ten minutes a year. The weights part is already on the screen. What the resulting number means for your portfolio is yours to decide, and a tracker has no opinion about it.

BullBenchmark rebuilds the weights side of it from the export files you already have. It shows the weight of every holding across all your brokers, the return of each one over any period you pick, and a separate return per label you assign.

The choice of index for those returns is covered in S&P 500 or Nasdaq 100 as a benchmark, and whether the comparison is fair in what it costs to never benchmark your portfolio.

In short

BullBenchmark reads the transaction export from your broker and shows your return next to the S&P 500 and the Nasdaq 100, fed with the same deposits on the same dates, in your own currency. The first two weeks are free and no card is needed.

Related: What it costs to never benchmark your portfolio