IndexDownloadHelper: retrieval of index and constituent data

During my PhD, I researched index tracking — building stock portfolios that replicate the performance of financial indices like the S&P 500 or DAX. That meant downloading large amounts of historical index and constituent data.
At the time, connection drops and proxy-layer errors in the Eikon API made unattended extraction unreliable.
The lseg-data library, which replaced Eikon, has changed little in this respect:
- errors continue to surface at the network or proxy layer rather than within the SDK;
- sporadic connection failures impede robust automation.
IndexDownloadHelper is a Python package written to address these issues when retrieving index and constituent data. It provides:
- automatic rate-limit handling and adaptive retries;
- batching and chunking to remain within per-request data point limits;
- structured CSV output with a deterministic folder layout;
- a single entry point,
run_manager.py; - configuration via
.envfor reproducible setups.
One command:
python example_usage/run_manager.py
runs the full pipeline — index chains, time series, and constituent fundamentals — and stores the combined result.
A companion optimization suite for index tracking, covering ESG, UCITS, sector, and further constraints, is in preparation.
Please note: the source code cannot be distributed at this time.