This is the working specification for the desk: what is in it, where every figure comes from, the arithmetic that produces it, what is checked every night, and what it cannot tell you. It is written to be checkable by someone who does not trust it.
Scope
289 thematic ETFs, of which 234 have filed a public holdings report. A fund is placed in a theme by what it holds, not by what it is called. Themes are ETFIQ’s editorial taxonomy and the page says so; nothing else on this desk is editorial.
Sources
| Source | What it provides | Read | Spec |
|---|---|---|---|
| SEC Form N-PORT | Every security a fund reported holding, with weights, as filed | On filing | document |
| Issuer daily holdings files | Same-day holdings where an issuer publishes them, preferred over a stale filing | Every trading night | · |
| Tiingo end-of-day | Returns and drawdown | Every trading night | document |
| Index constituent books | The S&P 500 and Nasdaq-100 books that overlap is measured against, taken from IVV and QQQM filings | On filing | · |
Definitions and arithmetic
Let a fund hold securities with weights wi summing to 1, and an index hold weights vi summing to 1, matched security by security.
- Weight overlap (ETFIQ)
- The share of money two portfolios hold in the same securities at the same weight: Σi min(wi, vi), as a percentage. Above 50%, holding both is close to holding one of them twice.
- Active share (ETFIQ)
- 100 minus weight overlap. It is the part of the fund doing something the index is not, and it is the part a fee is actually buying.
- Already in the index (ETFIQ)
- The fund’s summed weight in securities the index holds at all, regardless of the index weight. This is deliberately a different question from overlap: a fund can be entirely made of S&P 500 names and still have high active share, because it holds them at very different weights.
- Security matching
- Securities are matched on an internal identifier first, then ticker, then name. Each holding on one side is matched to at most one on the other, so a fund holding two share classes of the same issuer cannot double-count. The identifier published in ETFIQ books is an opaque ETFIQ id, because CUSIPs are licensed and are not redistributed here.
- Cost of index exposure (ETFIQ)
- The fund’s expense ratio divided by its active share: what the fee works out to per unit of genuinely differentiated exposure. A cheap fund that is mostly the index can be expensive by this measure, and the desk reports it because the headline fee hides it.
Invariants
Overlap arithmetic is easy to get wrong in ways that survive a plausibility check, so the census tests properties that must hold whatever the implementation:
- A fund against itself is 100% overlap and 0% active share.
- Overlap is symmetric: overlap(a, b) equals overlap(b, a).
- Active share equals 100 minus overlap, always.
- Known answers must land: SPY and IVV against the S&P 500 are 0% active share, and a fund holding no index constituents is 0% in-index.
These exist because a real bug once passed every other check. Overlap was being computed from a published book that had been truncated, while the holdings count reported the full filing, so a fund showed measurable active share against itself. An invariant catches that; a plausible-looking number does not.
What this desk cannot tell you
- N-PORT filings lag. A filed book is as of its period end, which can be up to several months old; the filing date is stated beside every figure derived from it.
- Net assets come from the freshest source that can be dated: the issuer’s own daily file where one exists, then the issuer’s product page, then the latest filing. Each figure says which of the three it is and the date it applies to, because they do not move at the same speed. A filing reports the whole registered fund, so where an ETF is one share class of a fund that also has mutual fund classes, the filed figure covers all of them and is larger than the ETF alone.
- Overlap is measured on securities, not on economic exposure. Two funds holding different share classes, or a swap on the same underlying, will not register as overlapping.
- Theme assignment is editorial. The holdings are not.
How to check any of this
Every published figure is available as JSON at a stable address on the open data page, free to use with attribution and the as-of date. Every number is recomputed nightly from the raw sources by independent code and the result is published on the statistics page. Where ETFIQ has published a figure that turned out to be wrong, it is recorded on the corrections page rather than quietly changed.
ETFIQ is an independent publisher of exchange-traded fund data. It is not a fund issuer, broker-dealer or investment adviser, takes no payment from issuers, and makes no recommendations. A figure marked ETFIQ is one ETFIQ computed; every other figure is the issuer’s or the exchange’s, and is labelled as such on the page it appears on.