Measure how concentrated every fund is from its holdings: the number of holdings, the largest holding and its weight, the weight of the ten largest (shares of the fund), the Herfindahl-Hirschman index (the sum of the squared weights, after scaling the weights of the holdings to sum to one, so cash and holdings without a weight do not dilute it) and the effective number of holdings (one over that index). A fund of 500 holdings whose ten largest make up a third of it behaves like a fund of far fewer stocks; the effective number says how many equally weighted holdings would give the same concentration.

Also known as: fund concentration, top 10 weight, Herfindahl index, effective number of holdings.

Concentration in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_concentration as shown below.

from financetoolkit import Toolkit

toolkit = Toolkit(["VOO", "QQQ", "RSP"], api_key="FINANCIAL_MODELING_PREP_KEY")

toolkit.etf.get_concentration()

Or, after setting up the Finance Toolkit MCP, ask:

How concentrated are VOO, QQQ and the equal-weight S&P 500 ETF (RSP): number of holdings, largest holding, top 10 weight and effective number of holdings?

Which returns:

  VOO QQQ RSP
Number of Holdings 507.0 105.0 507.0
Largest Holding NVDA NVDA PTC
Largest Weight 0.084 0.0814 0.003
Top 10 Weight 0.3913 0.4665 0.0266
Herfindahl-Hirschman Index 0.023 0.0316 0.002
Effective Number of Holdings 43.4661 31.6935 497.7398

Parameters

get_concentration accepts the following parameters.

ParameterTypeDescriptionExample
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit.2
Share