Look-Through Exposure
Calculate a portfolio’s exposure after looking through its funds. An ETF’s weight is spread over its own sectors, countries or holdings, a stock counts fully towards its own sector, country or itself, and everything is summed. It shows, for example, that a portfolio of a technology ETF and Apple holds far more Apple and technology than either position suggests. The benchmark’s exposure and the difference (the active exposure) are shown next to it when the benchmark is a fund.
Also known as: look-through analysis, underlying exposure, X-ray.
Look-Through Exposure in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_look_through_exposure as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["QQQ", "AAPL", "XLE", "JNJ"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2021-01-01",
end_date="2025-12-31",
)
toolkit.portfolio.get_look_through_exposure()
Or, after setting up the Finance Toolkit MCP, ask:
What is the sector exposure of an equal-weight portfolio of QQQ, Apple, the Energy Select Sector SPDR (XLE) and Johnson & Johnson, looking through the ETFs, compared with the S&P 500?
Which returns:
| Sector | Exposure | Benchmark Exposure | Active Exposure |
|---|---|---|---|
| Technology | 0.3965 | 0.3757 | 0.0208 |
| Healthcare | 0.261 | 0.0994 | 0.1616 |
| Energy | 0.2512 | 0.0373 | 0.2139 |
| Communication Services | 0.029 | 0.0923 | -0.0633 |
| Consumer Cyclical | 0.0263 | 0.0896 | -0.0633 |
| Consumer Defensive | 0.0156 | 0.0495 | -0.0339 |
| Industrials | 0.0144 | 0.0803 | -0.0659 |
| Utilities | 0.0027 | 0.0204 | -0.0177 |
| Basic Materials | 0.0025 | 0.017 | -0.0145 |
| Financial Services | 0.0005 | 0.1208 | -0.1203 |
| Cash & Others | 0.0004 | 0 | 0.0004 |
| Real Estate | 0 | 0.0175 | -0.0175 |
Parameters
get_look_through_exposure accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
weights | dict[str, float] | None | The weight per asset. Defaults to None, which uses the latest weights of the Portfolio the Toolkit came from, or equal weights. | None, which uses the latest weights of the Portfolio the Toolkit came from, or equal weights |
by | str | What to look through to: “sector”, “country” or “holdings”. Defaults to “sector”. | "sector" |
rounding | int | None | The number of decimals to round the results to. Defaults to None, which uses the Toolkit’s rounding. | 2 |