ETF Tool

ETF Overlap Analyzer: Weighted Overlap Across Two to Five Funds

Investment Education, Research & Tools for Smarter Decisions.

Paste the published holdings for two to five funds and see how much of their weight sits in the same securities. The tool reports weighted overlap for every pair, the names held by more than one fund, sector overlap, and, once you add your own fund weights, the combined look-through exposure to every underlying position.

By Swoopr Editorial Team

Published · Updated

AI-assisted content · Swoopr Investment is responsible for the final published article.

Business professional analyzing stock market data on a laptop for investment insights.
Photo by Artem Podrez via Pexels

Direct Answer

A fund overlap analyzer compares the published holdings of two or more funds and reports how much of their weight sits in the same securities. The figure it reports, weighted overlap, is the sum across every shared name of the smaller of the two weights: if one fund holds a name at 8% and another holds it at 3%, that name contributes 3 percentage points of overlap. Enter the holdings for two to five funds below to get the overlap for every pair, the names they share, sector overlap, and the combined exposure once your own portfolio weights are applied.

Compare Fund Holdings

Paste each fund's holdings one per line as TICKER,WEIGHT, adding an optional third column for the sector: TICKER,WEIGHT,SECTOR. Weights are percentages of the fund. Add a portfolio weight for each fund if you also want the combined look-through exposure across all of them. Two funds are the minimum; five is the maximum this page will analyse at once.

Fund 1
Fund 2
Weight basis

How Is Weighted Overlap Calculated?

Weighted overlap is the sum, across every security both funds hold, of the smaller of the two portfolio weights.

Overlap = Σ min(weight in fund A, weight in fund B), for every security held by both

Taking the minimum rather than the average or the sum is what makes the number mean something concrete. If fund A holds a name at 8% and fund B holds the same name at 3%, only 3 percentage points of the two funds are genuinely the same position. The other 5 points in fund A have no counterpart in fund B, so counting them as shared would overstate the duplication.

The result is expressed in percentage points of portfolio weight, not as a similarity score between 0 and 1. Two funds that both hold nothing but the same ten names in the same weights produce 100 points of overlap. Two funds with no security in common produce zero. Everything in between is a count, and the tool also reports the same figure as a share of each fund separately, because a fund whose holdings you supplied in full and a fund whose top ten you supplied are not comparable denominators.

Why Partial Holdings Are Not Rescaled to 100%

Most people reach for a fund's top ten holdings because that is what the fact sheet prints. Ten names might be 55% of a broad fund. Scaling those ten up so they total 100%, then comparing them with another fund's top ten scaled the same way, produces a number that looks like full-fund overlap and is not. The rescaled figure answers a narrower question: how much of each fund's disclosed slice is shared.

This page keeps both answers available and always states which one it used. On the default setting the weights are taken exactly as entered, and the result reports the coverage: "holdings were supplied for 55% of fund A and 62% of fund B." The true overlap across the full funds is at least the figure shown and cannot be inferred from a partial list, because nothing in a top-ten table says whether the remaining 45% is the same or entirely different.

Is High ETF Overlap Bad?

Overlap has no good or bad direction on its own, and this tool deliberately does not grade it. Two funds can overlap heavily for reasons that are entirely intentional and reasons that are entirely accidental, and the number alone cannot tell those apart.

Intentional overlap is common. Someone who holds a broad market fund as a core position and adds a sector fund on purpose has decided to concentrate further in that sector. The overlap figure measures that decision; it does not second-guess it. A fund-of-funds product, a target-date fund, and a core-and-satellite allocation all produce high overlap by design.

Accidental overlap is what the tool is most useful for finding. Three funds bought at different times for different reasons, each described in its own marketing as a distinct strategy, can turn out to put half their combined weight into the same twenty names. That is a concentration the buyer did not choose, and it is invisible from the fund names, the categories, or the expense ratios.

The questions worth asking about an overlap figure are what caused it, whether it was intended, and what the combined position size in the shared names actually is. Those are decisions about a specific portfolio, which is why the output is a set of numbers rather than a verdict.

Where Do You Find a Fund's Holdings?

Every exchange-traded fund relying on the SEC's ETF rule publishes its full portfolio holdings on its own website each business day, before the market opens, in a form anyone can download without a subscription. That daily file, not a summary table, is the input this tool is built for. It typically carries the security name, an identifier, the share or par amount, the market value, and the weight.

Registered funds also file portfolio holdings with the SEC on Form N-PORT. Those filings are a slower but authoritative record, and they cover mutual funds that publish nothing daily on their own site.

  1. Open the issuer's page for the fund and find the holdings download, usually a CSV or XLSX link near the portfolio section.
  2. Keep the ticker or identifier column and the weight column. Delete everything else.
  3. If the file gives market values rather than weights, divide each value by the total and multiply by 100 first. This tool reads percentages, not dollars, and rejects a column that looks like dollar amounts rather than converting it silently.
  4. Add a sector column if the file has one. Sector overlap is skipped for any fund without it, and the tool says so rather than filling the gap with a guess.
  5. Note the as-of date on each file. Comparing a fund's January holdings against another fund's July holdings produces a number about two different points in time.

Swoopr does not license a holdings feed, so this page never looks a ticker up. Everything it reports comes from what you paste into it, which is also why the example button loads fictional funds rather than inventing weights under a real ticker.

Worked Example: Three Funds, One Portfolio

Take three fictional funds. The broad fund holds AAA at 30%, BBB at 25%, CCC at 25% and DDD at 20%. The sector fund holds AAA at 40%, BBB at 10% and EEE at 50%. The thematic fund holds AAA at 60% and FFF at 40%.

Broad against sector: AAA contributes min(30, 40) = 30 points, BBB contributes min(25, 10) = 10 points, and nothing else is shared. Weighted overlap is 40 percentage points. Both funds were supplied in full, so that is 40% of each.

Broad against thematic: only AAA is shared, contributing min(30, 60) = 30 points. Sector against thematic: again only AAA, contributing min(40, 60) = 40 points.

Now apply portfolio weights of 50% broad, 30% sector and 20% thematic. Combined exposure to AAA is 0.50 × 30 + 0.30 × 40 + 0.20 × 60 = 15 + 12 + 12 = 39% of the portfolio. No individual fund holds AAA above 60%, and no fund is more than half the portfolio, yet AAA is 39% of everything owned. That figure is the one the pairwise overlap numbers were pointing at and the one a fund-by-fund view never shows.

What Is Look-Through Exposure?

Look-through exposure is the weight a portfolio has in an individual security once every fund's holdings are multiplied by that fund's share of the portfolio and the results are added together. It answers the question overlap points at without answering directly: not "do these funds hold the same things" but "how much of my money is in this one company."

The arithmetic is one multiplication and one addition per position. A fund that is 40% of the portfolio and holds a name at 5% contributes 2 percentage points. Another fund at 25% of the portfolio holding the same name at 8% contributes 2 more. The combined exposure is 4%, which is larger than either fund suggests and smaller than the sum of the two fund weights.

The tool reports the largest combined exposures, the number of funds contributing to each, the cumulative top one, top five and top ten weight, and a Herfindahl index over the modelled slice. When the fund weights supplied do not add to 100% of the portfolio, the remainder is reported as unmodelled rather than redistributed, so every figure stays a share of the whole portfolio rather than a share of the funds alone.

What This Tool Does Not Model

Frequently Asked Questions

What is ETF overlap?

ETF overlap is the portion of two funds' portfolio weight invested in the same underlying securities. It is measured in percentage points, not as a count of shared names: two funds might share thirty tickers that together account for 4% of each fund, or share three tickers that account for 45%. The second case is the one that changes a portfolio's concentration, which is why the calculation weights every shared name by how much of each fund it actually represents.

How is weighted overlap calculated?

For every security held by both funds, take the smaller of the two portfolio weights. Add those minimums together. The total is the weighted overlap, expressed in percentage points. A name held at 8% in one fund and 3% in the other contributes 3 points, because only 3 points of the two positions are the same exposure. Securities held by only one fund contribute nothing.

Is high ETF overlap bad?

Not on its own, and this tool does not grade it. Overlap is often deliberate: a core holding plus a sector fund is supposed to concentrate further in that sector. The figure becomes a problem when it was not intended, which is why the useful follow-up is not "is this number too high" but "did I choose this, and how large is my combined position in the names being duplicated." The look-through view answers the second half.

Is there a threshold where overlap becomes a problem?

There is no universal threshold, and any page that prints one is inventing it. The same 50% overlap figure means something different for a core-and-satellite allocation where it was planned, for two funds bought as diversification from each other, and for a portfolio where the shared names are already the largest positions held directly. What the arithmetic can settle is the combined weight in each duplicated name, which is a fact about the portfolio rather than a rule of thumb.

Can I calculate overlap from a top ten holdings list?

You can, and the result is a genuine lower bound rather than the full-fund figure. Ten names may be 55% of one fund and 88% of another; overlap measured across those slices tells you nothing about the remaining weight. This page reports the coverage on every run for that reason, and offers the rescale-to-100% option separately so a reader who wants the disclosed-slice comparison can ask for it explicitly rather than getting it by default.

Where do I find an ETF's holdings?

Exchange-traded funds relying on the SEC's ETF rule publish their full portfolio holdings on their own website every business day before the market opens, free to download. Registered funds also report portfolio holdings to the SEC on Form N-PORT, which covers mutual funds that publish nothing daily. Use the issuer's own file rather than a third-party summary, and note the as-of date so you are comparing the same point in time across funds.

What is look-through exposure?

Look-through exposure is the total weight a portfolio holds in one security after multiplying each fund's holding weight by that fund's share of the portfolio and summing across funds. A fund at 40% of the portfolio holding a name at 5% contributes 2 percentage points; another fund at 25% holding it at 8% contributes 2 more, for 4% combined. It converts a set of fund positions into the position sizes actually held.

Does sector overlap matter if the funds hold different stocks?

It can. Two funds with almost no shared names can still put most of their weight into the same two or three sectors, in which case they respond to the same rate moves, the same regulatory news and the same demand cycle. Sector overlap applies the identical minimum-weight arithmetic to sector buckets instead of individual names. It is reported only for funds where a sector was supplied for at least one holding, and funds without sector labels are named in the notes rather than quietly excluded.

Why does the analyzer reject a blank weight instead of treating it as zero?

Because a blank cell and a zero weight are different facts, and conflating them makes the output quietly wrong. A blank means the weight was not supplied; a zero means the fund holds the name at no weight. Reading blanks as zeros would let an incomplete paste produce a confident-looking overlap figure computed from holdings that were never entered. The tool reports the offending line number instead, along with every other bad line in the same pass.

Can two funds tracking different indexes still overlap heavily?

Yes, and it is common. Index construction rules differ in ways that change the tail of a portfolio far more than the top of it, so two funds tracking different indexes over the same market can hold nearly identical largest positions and diverge only in names that carry small weights. Because weighted overlap counts percentage points rather than tickers, that pattern produces a high figure even when the two holdings files differ by hundreds of rows.

Turning the Overlap Number Into a Decision

The overlap figure is a starting point, not a conclusion. Once you have it, three follow-up questions do most of the work.

Was the overlap chosen? Look at why each fund was bought. A core index fund plus a deliberate sector tilt should overlap; that was the plan. Three funds bought at different times, each pitched as a distinct strategy, should not. The tool's list of names held by more than one fund is where an unintended concentration shows itself, because it names the specific companies rather than reporting a single aggregate.

What is the combined position size? This is the question overlap is really about. Enter portfolio weights and read the look-through table: a name at 39% of everything owned is a different situation from one at 4%, even if the pairwise overlap figure is identical in both cases. The top one, top five and top ten cumulative figures put the same point in one line, and the Herfindahl index summarises how much of the modelled slice sits in a handful of names.

What would change it? Overlap is a snapshot. Funds rebalance, indexes reconstitute, and a thematic fund's holdings can turn over substantially inside a year. Re-running the comparison after a reconstitution date, using freshly downloaded holdings files, shows whether the duplication is structural or a temporary artefact of when you measured.

Two things the number cannot do are worth stating plainly. It cannot tell you whether a fund is worth owning, and it cannot substitute for reading what each fund is designed to hold. A low overlap figure between two funds that are both concentrated bets on the same theme is not diversification, and a high figure between a core holding and its own sector sleeve is not a mistake. The arithmetic reports what is duplicated. Deciding what to do about it takes the rest of the context, which is why the output stops at the numbers.

Related Tools and Reading

References