Skip to content
All library documents

Retrieving Index Constituents and Their Returns from Bloomberg

Article Quant Q&A · Author: Abdul Rehman Sayed

Summary

The document explains a two-step Bloomberg workflow for retrieving an index’s members and then collecting return data for those securities. It says there is no single field that returns constituents together with their data: first request the member list, then query each security for the desired return fields. The constituent list can be requested with the index-members field, while the data step can use fields for a holding-period total return or a periodic net total-return series.

For a single holding-period return, start and end date overrides define the interval; the document gives examples of monthly, annual, or five-year periods. Bloomberg’s field search and helpdesk are suggested for discovering available field codes. The guidance focuses on equities and total returns including dividends, and it does not provide a complete API implementation, discuss licensing or data availability, or compare return-field definitions beyond the stated distinction.

Key ideas

  • Index membership and security-level returns require separate Bloomberg requests.
  • The index-members field can retrieve the constituent list.
  • A holding-period return field returns one net figure between specified dates.
  • A periodic total-return field provides a series over the selected interval.
  • Field searches and Bloomberg support can help identify suitable data fields.

Tags

Full text
# Getting Index constituents along with returns from Bloomberg


# Getting Index constituents along with returns from Bloomberg












I am interested in getting constituents of an index along with individual stock returns on a 1m,1y, 5y basis through bloomberg terminal as well as through api. Do we have a single command which can serve this purpose ?

## Answer by RobAbMo (score 2, accepted)

https://quant.stackexchange.com/a/37327

There's no single field to return constituents AND data on those constituents. So yes, you need first to query the index constituents and then do queries for the data you want on those securities.

Once you've got the list of constituents, for the returns you can use a number of different fields.

Assuming you're looking at equities and want the total return (including dividends etc...) two particularly useful ones are:

CUST_TRR_RETURN_HOLDING_PER

and

DAY_TO_DAY_TOT_RETURN_NET_DVDS

The first one will give you a single number for the net return between two dates (use the CUST_TRR_START_DT and CUST_TRR_END_DT overrides to define them) while the second one will give you a series of periodic net returns between two dates.

in excel you'd do something like:

```
=bdp("AAPL US Equity",
"CUST_TRR_RETURN_HOLDING_PER","CUST_TRR_START_DT",
<insert a function or pointer to the start date in YYYYMMDD format>,
"CUST_TRR_END_DT", TEXT(TODAY(),"YYYYMMDD"))
```

to get the single 1m, 1y, 5y etc... returns you want to see.

That's a flexible solution, alternatively you'll see that securities often have a number of fixed fields for particularly popular holding periods. e.g:

In general in Bloomberg, if you have access to a terminal, go to a security's page and type `FLDS <search term> <GO>` to find field codes to use for the API/Excel add-in. That and the helpdesk tends to be where I start.

## Answer by dfelex (score 5)

https://quant.stackexchange.com/a/37322

You can use the field `INDX_MEMBERS` to get the constituents. In excel you can use:

```
=BDS("Index Ticker", INDX_MEMBERS)
```

Or in python something like

```
import pybbg

def Main():
    bbg = pybbg.Pybbg()
    IndexConst = bbg.bds('IndexName', 'INDX_MEMBERS')
```

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.