The ETF constituents and contribution function (HDS) provides an overview of the ETF composition and quantifies how components have contributed to the overall performance of an ETF. Each ETF stock member has a weight, performance and contribution. In addition, the HDS function breaks down the weight, performance and attribution by sector and sub-sector.

You can access the function when an ETF is loaded into Koyfin.

To access the function from the command bar, type <Ticker> and "HDS". For example, SPY HDS.

You can download the ETF holdings and constituents to CSV (or Excel) by hitting the download button at the top of the constituents table.

Contribution is a way to decompose the return of an ETF to explain how stocks and sectors have impacted the return of the ETF. The calculation for contribution is the performance multiplied by the weight. Contribution is additive, which means that summing up the contribution for individual components (stocks or sectors) is equal to the total performance of the ETF.

In the example below, the HDS function shows that the Dow Jones Industrials ETF (DIA) is up 10.5% over the past year. Information Technology sector accounts for 367 bps of the 10.5% 1-year return (about ⅓ of the return). And UnitedHealth Group Incorporated (UNH) accounts for 114 bps or  about 10% (114 bps / 1050 bps) of the DIA 1-year return even though the stock is only 6.85% of the ETF.

Note: 1-day contribution is updated with live prices throughout the day.

Calculation details and caveats

For a stock, we calculate the attribution by multiplying the estimated weight at the beginning of the period with the performance during the period. The reason we have to estimate the weight is that we don't have constituents going back in history. We only have the current constituents.

In a perfect world, the sum of the attributions for stocks and sectors should match the performance of the ETF. However because we only calculate the attribution of US-listed stocks and we only have current constituents, the attribution will not sum up exactly to the actual performance.