question

Upvotes
Accepted
27 1 0 3

Reliable way to get RIC code from ISIN through any API

Hi all,


I need to retrieve some information on various asset of different asset classes (Fx, Indexes, ...)

I have ISIN, CUSIP and SEDOL information for each asset, and i can get basically any information, except RIC code.


Here is what I tried, to get for exemple the RIC of isin : IE00B4L5Y983, which is an ETF

df = rd.discovery.search(
        view = rd.discovery.Views.SEARCH_ALL,
        filter="ISIN eq 'US4592001014'",
        select = "BusinessEntity,DocumentTitle,RIC,RicRoot",
        top = 100)


it returns and empty dataframe.

I also tried using other codes like cusip or sedol but same, no results.

I also tried doing a general search, but the results are unreliable

response = rd.content.search.Definition("IE00B4L5Y983").get_data()
response.data.df


I am aware that RIC code isn't unique to an asset, but i'm trying to get any valid RIC code for a given ISIN, if possible the main RIC code.


I don't think that it is possible that there is 0 way of doing this, there has to be a map from ISIN to main RIC for all asset classes, but I haven't found it yet.


For testing, here is another exemple that doesnt have a ISIN => RIC bridge. Isin : EU0009652759 (eur/usd fx pair)

I'm really looking for any reliable way to get RIC code from non-refintiv data.

Thanks for your help.

python#technologyricsisinrefinitiv-data-libraries
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvotes
Accepted
17.8k 82 39 63

Hi @adam.leroux

Have you tried the symbol conversion interface? For example:

import refinitiv.data as rd
from refinitiv.data.content import symbol_conversion

...

response = symbol_conversion.Definition("US4592001014").get_data()
response.data.df

1714767711606.png

The symbol conversion API will make an attempt to detect the type of symbol provided. However, you may need to be explicit as with the symbol: 'IE00B4L5Y983'. For example:

response = symbol_conversion.Definition("IE00B4L5Y983",
                     from_symbol_type=symbol_conversion.SymbolTypes.ISIN).get_data()

1714768492572.png

However, when I tried the ISIN: 'EU0009652759', it wasn't recognized. Because the moderators of this site are not content experts, its difficult to determine what is specific about this instrument. You can contact the Helpdesk and they should be able to bring in a content expert to explain the specifics around this instrument.


1714767711606.png (17.5 KiB)
1714768492572.png (22.9 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi !


Yes i've tried using this method but its very unreliable as to which ISINs return a non empty dataframe.


Around 1/2 of ISINs are just not recognized using this, for some unknown reason.

This is why i'm trying to see if there is a more reliable way to do this.


Thanks

Hi @adam.leroux

If you contact the Helpdesk and provide examples where it works and does not, there may be a legitimate reason why this is the case. It might be possible to utilize the Search APIs to account the reasons which could allow a more consistent and reliable approach to pull down the mappings.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.