Skip to main content
Screening ETFs by portfolio shape filters on measurements taken directly from each fund’s newest holdings day: how many positions it holds, how concentrated the top of the book is, how its equity weight splits across cap bands, and — for bond funds — its duration and treasury share. These are measured numbers, not labels, so they work on any fund with a holdings feed regardless of how it is classified.
Plan: Fund · Credits: 1 per call; screen facets are free

The Concentration Filters

number
Floor on the number of holdings lines.
number
Floor on the share of the book in the ten largest positions, 0..1. max_top10_share sets the ceiling — the way to require diversification.

The Cap-Band Filters

number
Floor on the large-cap share of linked equity weight, 0..1. max_large_share sets the ceiling.
number
Floor on the small-cap share of linked equity weight, 0..1.
Cap bands are measured, not labels: sector and thematic funds carry no cap-band label at all, so “large-cap biotech” is a segment plus specialization plus min_large_share — see Screen ETFs by Asset Class.

The Bond-Book Filters

number
Floor on weighted bond duration, in years. max_duration sets the ceiling — max_duration=1 is the ultra-short bucket.
number
Floor on the treasury share of the bond book, 0..1.

Where These Numbers Come From

Every filter on this page reads the fund’s holdings profile, computed from the newest holdings day of its portfolio — the same measurement layer served in the portfolio block of the ETF profile. Funds without a holdings feed have nulls here and silently drop out of these filters; the free facets endpoint reports how many funds carry a holdings profile. On exposure-hidden funds the profile is computed on notional exposure, not raw market values. By geography · By asset class · ETF holdings · ETF screening overview