PlainIndex

Tool · Overlap

Multi-ETF overlap analyzer

The pre-rendered /compare/ pages only cover sensible head-to-heads. For open-ended "how much do these N funds actually duplicate each other" questions, build a selection here. Pairwise overlap is calculated from SEC N-PORT holdings; the matrix is shaded so concentrated overlaps jump visually.

Click a chip to remove. Up to 6 funds at once. Funds without N-PORT holdings data (gold, some commodity ETFs) read as "N/A" in the matrix.

Highest pair

Average pairwise overlap

Across 0 pairs with data

Pairs without data

6

No N-PORT holdings

Overlap %VTIVOOQQQBND
VTI
N/AN/AN/A
VOO
N/AN/AN/A
QQQ
N/AN/AN/A
BND
N/AN/AN/A

Pairs, ranked

  • VTIvs.VOON/A
  • VTIvs.QQQN/A
  • VTIvs.BNDN/A
  • VOOvs.QQQN/A
  • VOOvs.BNDN/A
  • QQQvs.BNDN/A

Selected funds

  • VTIVanguard Total Stock Market Index Fund ETF Shares0.030%
  • VOOVanguard S&P 500 ETF0.030%
  • QQQInvesco QQQ Trust0.18%
  • BNDVanguard Total Bond Market Index Fund0.030%
How overlap is computed

Overlap is the sum, across every security held in both funds, of min(weight_a, weight_b). Conceptually: "if you held equal dollars of both funds, what fraction of your dollar exposure is the same security in both wrappers?" The metric is symmetric — overlap(A, B) equals overlap(B, A).

Holdings are matched on ISIN, with CUSIP as fallback for funds that don't carry ISINs. We deliberately don't match on issuer name — N-PORT name spellings vary ("NVIDIA Corp." vs "NVIDIA Corp") and would create false negatives. Different share classes of the same issuer (GOOGL vs. GOOG) have distinct identifiers and are treated separately, which is the correct behaviour.

Funds without an SEC N-PORT filing (commodity trusts like GLD and IAU; a handful of ETFs not in EDGAR's mutual-fund ticker map) read as "N/A" in the matrix. A gold ETF has well-defined zero overlap with an equity fund, but we don't synthesize that — only computed values are shown.

Overlap reflects the latest N-PORT filing for each fund (typical 30–60 day lag). Daily price moves between filings can shift weights slightly; the overlap number is a snapshot, not a real-time figure.

Holdings overlap reflects the latest N-PORT filing for each fund (typical 30–60 day lag). For funds without N-PORT (commodity trusts, a handful of newer ETFs not yet in EDGAR's mutual-fund ticker map) pairs read as "N/A" rather than zero. See the methodology for the full overlap definition.

PlainIndex publishes data and editorial commentary — nothing here is personalized investment advice. Overlap describes what funds currently hold, not whether holding two funds together is the right choice for any particular portfolio.