Determine Index constituents from Joiners & Leavers
Hi there,
I am currently trying to stitch together historical index constituents from joiners and leavers data. To get the data, I am using the command:
lj, err = ek.get_data(RIC, ['TR.IndexJLConstituentChangeDate(SDate={0},EDate={1},IC=B)'.format(start_date, end_date,'TR.IndexJLConstituentChangeDate(SDate={0},EDate={1},IC=B).change'.format(start_date, end_date,'TR.IndexJLConstituentName(SDate={0},EDate={1},IC=B)'.format(start_date, end_date, 'TR.IndexJLConstituentRIC(SDate={0},EDate={1},IC=B)'.format(start_date, end_date)])
To test this, I am using the HDAX as a test case '0#.GDAXHI'.
Now from this data, the goal is to find the current index constituents at any given time. I thought I can just refer to the RICs and filter the latest joiner RICs, which are not leavers yet. However, I am struggling a bit with the data that I am getting back. For instance, the company 'Salzgitter Werke', has joined the index early on, and the left twice, but based on a different RIC. (so it seems I cannot use RICs for this exercise, cause the RIC KLKG.F^A11 never left according to this)
In general I see many joiners and leavers at the same date, with changed tickers (example here)
So my question, based on this data: how do I back out the list of index constituents at any given date using only joiners and leavers data?
Many thanks.
Best,
Chris
Best Answer
-
I think the data from Eikon Data API is similar to the data from the Eikon Leavers and Joiners.
This is why you need to contact the content team regarding how to process the data.
Another API that can retrieve historical items in indices is Tick History REST API.
Tick History REST API has the HistoricalChainResolution endpoint which can resolve current and past chain constituents.
For example, the request looks like this:
{
"Request": {
"ChainRics": [
"0#.GDAXHI"
],
"Range": {
"Start": "2001-01-12T00:00:00.000Z",
"End": "2001-01-13T00:00:00.000Z"
}
}
}The response is:
},
{
"Identifier": "SRZG.DE",
"IdentifierType": "Ric",
"Source": "",
"Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxTUlpHLkRFfA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6"
},
{
"Identifier": "SZUG_p.DE",
"IdentifierType": "Ric",
"Source": "",
"Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxTWlVHX3AuREV8",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6"
},
{
"Identifier": "TAGG.DE",
"IdentifierType": "Ric",
"Source": "",
"Key": "VjF8MHgzMDAwMDAwMDAwMDAwMDAwfDB4MzAwMDAwMDAwMDAwMDAwMHx8fHx8fHxUQUdHLkRFfA",
"Description": "Historical Instrument",
"InstrumentType": "Unknown",
"Status": "Valid",
"DomainCode": "6"
},
{0
Answers
-
Hi @auth ,
In case you'd like to get the list of index constituents at any given date, you may put the date parameter after the RIC, for example
df1, err = ek.get_data('0#.GDAXHI(19980324)',
['TR.RIC','TR.CompanyName'])
df1You may get the date when there're any leavers/joiners and use the code above to get the constituents list at any date.
hope this could help
0 -
Hi
@raksina.samasiriMany thanks for your answer. I am aware that I can do this though. Reason why I am asking is because for my needs, it is much easier and less data intensive to build the list of tickers for each index from Joiners/Leavers, rather than having to pull the entire list each time there is an update.
I am sure it must be possible to reconstruct the list with your command, with the Joiners/Leavers data, I just haven't figured it out yet. Any help would be much appreciated...
Best,
Chris
0 -
Hi @auth ,
This forum is dedicated to software developers using Refinitiv APIs. The moderators on this forum do not have deep expertise in every bit of content available through Refinitiv products, which is required to answer content questions such as this one.
The best resource for the content questions is the Eikon support team, which can be reached by submitting queries through MyRefinitv. The support team will either have the required content expertise ready available or can reach out to relevant content experts to get the answer for you.
However, in this case, I open the case number 10755576 on behalf of you and the support team is going to contact you soon for the explanation and the suggestion (if any other field can be used in your use case)
0 -
Hi there,
unfortunately not, no. It seems that there are ticker changes in this dataset that make it somehow unusable on its own I feel.
I am still discussing this with the content team, but if the ticker changes are not updated across the dataset, I cannot see why this data is any useful?
For instance, if KLKG.F^A11 is just changed to KLKG.DE^A11 and previously left untouched, it looks like the former is never leaving. How do people (or internally at Refinitiv?) use this dataset at all then as a standalone?
0 -
For sure, this I understand. From content experts I only get the info that the RIC has been changed though, but that also doesn't really solve the issue and is just a confirmation of what I already know anyhow.
Would still like to know how this dataset should (and can) be used if RICs cannot be compared (i.e.: if two or more different RICs point to the same company in the same dataset...)Is there an API call that gets me all RIC changes for a single entity?
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛