Eikon API - Adding ISIN number of entities in output
Hi, I'm trying to add the ISIN number to my current search but not sure how to do it.
Below is my current code which is gathering weekly news headlines from the free text search.
Any help would be great thanks.
Best Answer
-
Hi @s.tank ,
It could be done by managing the dataframe, you may store the news headline in another column and assign the RICs you have got into the list, then use get_data function to retrieve LEI and Company Common name
rd.get_data(['VOD.L','HD.N'],['TR.LegalEntityIdentifier','TR.CommonName'])
1
Answers
-
@s.tank So tone way to do this in Eikon is to get the news metadata that is contained in the News Story - which includes a list q_codes which include PermIDs related to the news. You can then get the P:xxx codes per news item and use that to find the company. When you say ISIN - you are not referring to the same thing as ISINs are instrument specific, not entity specific - ie one company can have many ISINs attached to it, eg equity issues, bonds etc - so you need to be careful here. Here is an example of how to do that for each story in your headline dataframe - see the return frame below:
So here we will add 5 new columns to the headlines dataframe to store a) the storyText itself b) the topic codes (which include any PermID entity) c) the PermIDs extracted from the q_codes d) the RICs of the PermIDs e) the urgency of the news. To access the news metadata we need to use a content layer definition. See below:
# For each news headline get story text and topic codes
baseurl = "/data/news/v1/stories/"
fullcodelist = pd.DataFrame()
compNews['storyText'] = str()
compNews['q_codes'] = str()
compNews['pIDs_mentioned'] = str()
compNews['RICs_mentioned'] = str()
compNews['urgency'] = str()
for i, uri in enumerate(compNews['storyId']):
request_definition = rd.delivery.endpoint_request.Definition(
url = baseurl + uri,
method = rd.delivery.endpoint_request.RequestMethod.GET
)
response = request_definition.get_data()
time.sleep(0.1)
rawr = response.data.raw
if 'newsItem' in rawr.keys():
compNews['storyText'][i] = rawr['newsItem']['contentSet']['inlineData']['$']
topics = rawr['newsItem']['contentMeta']['subject']
rics = [x for x in rawr['newsItem']['assert'] if x['_qcode'].startswith("R:")]
compNews['q_codes'][i] = [d['_qcode'] for d in topics]
compNews['pIDs_mentioned'][i] = [x for x in compNews['q_codes'][i] if x.startswith("P:")]
compNews['RICs_mentioned'][i] = [d['_qcode'] for d in rics]
compNews['urgency'] = rawr['newsItem']['contentMeta']['urgency']['$'] # 1 = hot, 3 = regular
compNewsSo the following columns are added which contain the PermID and the RIC for the company.
One thing to note is that it take 1 API call for each news story - so be careful how many you do as you only have 10K API calls per day in total. I hope this can help.
2 -
Hi Jason
Thanks for the detailed response. I've just realised that I need the LEI not he ISIN number. Also, is there a way to get the company's name and the headline in separate columns?
Thanks
Sonny
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 中文论坛