Concentration
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.
| Parameter | Type | Description | Example |
|---|---|---|---|
rounding | int | None | The number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit. | 2 |