Index membership changes create a powerful mechanical force in equity markets. When a stock is added to a major index like the S&P 500, index-tracking funds must buy it. When a stock is removed, those same funds must sell. This demand and supply shock, often concentrated around the effective date, is known as the reconstitution effect.
This notebook studies that effect end-to-end using the LSEG Data Library for Python. It retrieves historical joiner/leaver events, measures market-adjusted abnormal returns and abnormal trading volume around each event, aggregates the results into composite patterns, and then screens the current universe for potential future joiner and leaver candidates.
The workflow covers:
- Retrieving historical index constituent changes (joiners and leavers)
- Collecting price and volume history for affected stocks and a benchmark index
- Measuring cumulative abnormal returns (CAR) and abnormal volume around event dates
- Aggregating event outcomes to evaluate the consistency and size of the effect
- Screening for likely future candidates based on market cap, earnings, float, and liquidity criteria
The output is not a trade recommendation. It is an evidence-based analytical framework and watchlist to support deeper investigation in Workspace.
Details and concepts are further explained in the What Happens to a Stock When It Joins (or Leaves) a Major Index? article published on the LSEG Developer Community portal.
The source code presented in this project has been written by LSEG only for the purpose of illustrating the concepts of creating example scenarios using the LSEG Data Library for Python.
Note: To ask questions and benefit from the learning material, I recommend you to register on the LSEG Developer Community
To execute the workbook, refer to the following:
License(s):
- An LSEG Workspace desktop license that has API access
Development Environment
- Tested with Python 3.12.14
- Packages: lseg-data pandas plotly
- LSEG Data Library for Python installation: 'pip install lseg-data'
The package includes a single Jupyter Notebook demonstrating features of the service. Depending where you plan to access the content from, you will need provide the proper credentials:
-
Desktop Access
The notebook has been set up and tested to access data within the LSEG Workspace desktop application.
- Nick Zincone - Release 1.0. Initial version