ETF portfolio x-ray

What your ETFs hold underneath, company by company, how much they overlap and how they moved together.

Connect your agent Copies a setup prompt

Each ETF with what it is worth in dollars, or its weight (60%), or nothing for equal parts. A table pasted from a broker is read too. Up to 60 ETFs. The amounts stay in your browser.

Examples

What does the x-ray answer?

  • The 10 largest companies under your ETFs, with the weight each ETF brings to them and their value when you give amounts, and every holding on request.
  • How much each pair of your ETFs overlaps, by weight.
  • Where the risk comes from: each ETF's share of the capital and of the risk, and how closely the ETFs moved together.
  • What $100 in your ETFs became over three years, held at your weights.
  • What the ETFs cost at your weights, and the portfolio's sectors and countries.
  • Answers you can quote, each naming the ETFs with their weights, giving the dates of the files and ending with the address of the result.
  • A link, a 1200 x 630 image, a citation, a PDF report and CSV files for every result.
How these figures are produced
Holdings underneath
Each ETF's holdings from its latest file, multiplied by the weight you give the ETF, then added up by ticker and sorted by weight to 0.001 point, as the MCP tool get_etf_portfolio_lookthrough and /api/v1/lookthrough count and sort them. Alphabet's two share classes, GOOGL and GOOG, are two lines, and a company listed in two markets, such as ASML in QQQ and ASML.NL in VXUS, is two lines, so it adds nothing to the overlap of those two ETFs.
Weights and amounts
One ETF per line, the ticker then what it is worth. Numbers that add up to 100 are weights in percent, otherwise amounts in any currency, and the Value column gives each company's part of the total in that unit. 40,000, 40 000, 40.000,00 and 40k read the same. An ETF on two lines, as in an export of two accounts, is one ETF with its amounts added. Without numbers every ETF counts equally. The link to a result carries each ETF's weight rounded to 0.01 point, never the amounts, and the result is computed from those weights; the amounts stay in this browser.
Overlap by weight
For every company two ETFs both hold, the smaller of its two weights, summed. 100% means the same holdings at the same weights; 0 means no company in common. The share of an ETF is the part of its weight in those companies.
Share of risk
Each ETF's part of the portfolio's variance (Euler decomposition), from the covariance of weekly returns over up to three years, annualised, so the column adds up to 100%. Volatility is annualised from weekly returns. The diversification ratio is the ETFs' volatilities averaged by weight, divided by the portfolio's volatility; independent bets are its square; effective holdings are one over the sum of the squared weights. Every ETF needs a year of weekly returns, and the figures are measured on the weeks every ETF has.
Growth of $100
Weekly closing prices adjusted for dividends and splits, so dividends count as reinvested. The portfolio is held at the weights given and brought back to them at every weekly close, which is how the volatility is measured: the same weekly returns, on the weeks every ETF has, up to 156. A week ends on its Friday close, or the Thursday when the exchange is shut that Friday, and the last one on the latest close. The largest fall from a peak is measured on those weekly closes. From 5 ETFs the chart draws the portfolio alone.
Cost
Each ETF's expense ratio as its fund file gives it, from its latest SEC filing with the date of that filing, or from market data, undated. The portfolio's is each ratio at the ETF's weight.
Sectors, countries and mega-cap tech
The same measures as Diversify, each ETF's breakdown at the weight you give it. Mega-cap tech is a fixed list: Apple, Microsoft, Nvidia, Alphabet, Amazon, Meta Platforms, Broadcom and Tesla, every listed class of each. A company's sector is that of the single-sector index funds that hold it, else that of its SEC industry code; when a sector is found for less than 50% of the stock weight, no sector weight is stated. A company listed abroad counts under the country of its market; a US-listed company counts under the United States unless it is Canadian or files with the SEC as a foreign issuer, then under the country of its business address.
ETFs covered
The x-ray looks through the 624 ETFs read every weekday night from their issuers' own files and the 2,009 other US stock ETFs from their latest SEC filing, and every answer gives the date of each ETF's holdings. A bond ETF, a trust or an ETF of swaps and futures holds no shares to look through, and the field sets it aside with a note.
Dates
Every answer gives the date of each ETF's holdings file, and each ETF links to its page, which shows the file and its source. How every figure on the site is produced.