Identifier conversion to RIC
Hello,
I am trying to get the RIC of a list of banks I got through S&P Capital IQ. For each bank, I have their name, their primary industry, and sometimes their SNL, CIQ, CUSIP, ISIN and LEI identifiers. I converted the ISIN codes to RIC by using the code: ek.get_symbology( symbol = ISIN , from_symbol_type = "ISIN", to_symbol_type = "RIC"). However, I only have a limited number of ISIN identifiers available (only for one third of my sample). The problem is similar for the CUSIP identifier. I have much more SNL, CIQ and LEI identifiers, but they does not seem to be supported as inputs for the function ek.get_symbology. Do you know if there is a function where we could use either the CIQ, the LEI identifiers or even the name of the banks to get their RIC?
Thanks a lot in advance.
Best Answer
-
Hi @eikon114
There is an RDP service (symbology) that will support the conversions you are after. For example, converting the following LEI to a RIC:
import refinitiv.data as rd
...# Symbology
request_definition = rd.delivery.endpoint_request.Definition(
method = rd.delivery.endpoint_request.RequestMethod.POST,
url = 'https://api.refinitiv.com/discovery/symbology/v1/lookup',
body_parameters = { # Specify body parameters
"from": [
{
"identifierTypes": ["LEI"],
"values": ["549300561UZND4C7B569"]
}
],
"to": [
{
"identifierTypes": ["RIC"]
}
],
"path": [
{
"relationshipTypes": ["InverseIsPrimarySecurityOf"],
"objectTypes": [
{
"from": "Organization",
"to": "AnyInstrument"
}
]
},
{
"relationshipTypes": ["InverseIsValuationQuoteOf"],
"objectTypes": [
{
"from": "AnyInstrument",
"to": "AnyQuote"
}
]
}
],
"reference": ["name","status","classification"],
"type": "strict"
}
)
response = request_definition.get_data()# Dump the json response from the platform containing the results
response.data.raw{'data': [
{
'input': [
{
'value': '549300561UZND4C7B569',
'identifierType': 'LEI'
}],
'output': [
{
'value': 'TRI.TO',
'identifierType': 'RIC',
'name': 'THOMSON REUTERS ORD',
'status': 'Active',
'classification': 'Ordinary Shares'
}]
}],
'requestId': 'cae84148-61ce-4b1c-aac9-e2036035a519',
'effectiveAt': '2022-03-21T15:43:21.313Z',
'messages': []
}2
Answers
-
Hi @eikon114,
Judging by the function `ek.get_symbology` mentioned in your question, I'm guessing that you're coding in Python?
Have you seen this answer (below) from my colleague? Does it answer your question?
If the above fails to help you, may I ask if searching the LEI, CIQ or name of the banks in the Eikon/Workspace search bar returns the correct RIC you're after? If so, I'd suggest using the Search API in Python. There's a great article on just that here:
https://developers.refinitiv.com/en/article-catalog/article/building-search-into-your-application-workflow
I also wrote a function that uses this API to output data in excel if that interests you. It is yet to be put into an article:https://gist.github.com/johnukfr/241c2b360a30f96371f430005c8d7738
2 -
Hi @eikon114
The above suggestion requires access to the PermID API.
If you don't have access to PermID API, you can also take a look at a simple bulk symbology conversion example I put together for a client - using the RDP Library - which can connect to Eikon as well as the Refinitiv Data Platform.
The above defaults to converting ISINs to RICS - but you can easily change the code to use others such as LEI.
You can run the above example against Eikon by creating a desktop session (rather than the platform session)
session = rdp.open_desktop_session(APP_KEY)
Note, however, that we will be replacing the RDP Library with the newer RD library - which also offers similar as well as additional features to the RDP library.
See the Symbology Tutorial for the RD Library
Symbology Tutorial | Refinitiv Developers
as well as the Endpoint tutorial - which is the interface used by my example above.
Endpoint Tutorial | Refinitiv Developers
2 -
You can use LEIs with the get_data method to get RICs. For example:
df, err = ek.get_data(
instruments = ['549300561UZND4C7B569@LEI','WFLLPEPC7FZXENRZV188@LEI'],
fields = ['TR.RIC']
)
dfThe output is:
With the get_symbology method, you can set best_match=False to get all mapped symbols.
ek.get_symbology( symbol = ISIN , from_symbol_type = "ISIN", to_symbol_type = "RIC", best_match=False)
2
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 中文论坛