question

Upvotes
Accepted
1 1 1 5

How can a RIC be connected to multiple ISIN?

Hello guys,

while using the API and requiring RIC & ISIN for Instruments traded on the chinese markets, I have received for some Instruments two or more ISIN numbers (TR.RIC,TR.ISIN).

As I have read on this site: (https://developers.refinitiv.com/en/article-catalog/article/isin-to-ric-conversion-with-dss-datascope-select-rest-api), it is stated that "Refinitiv products use RICs (Reuters Instrument Codes), which uniquely identify financial instruments, including where they are traded".

This in turn would mean that many RICs indeed could be connected one specific ISIN as it might be traded on several venues, but what would be the explanation the other way around?

I have also obtained (TR.Instrument.Type) and they are all the same, namely Ordinary Shares. As I have also obtained "TR.SharesHeld", is this number then independent of the ISIN obtained and thus only relates to the specific RIC?


Two examples:

600000.SS CNE0000011B7

600000.SS CN0009282731


600009.SS CNE000000V89

600009.SS CN000A0JEAT4

600009.SS CN0009145730


Thanks & kind regards,









eikon-data-apirdp-apirefinitiv-data-platformricsisin
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.

@s2782245

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,

-AHS

Upvotes
Accepted
261 2 0 2

Hi @jason.ramchandani


The ISINs linked to these RICs has changed over time, below are the effective from/to dates.


600000.SS

Current ISIN - CNE000000V89 – Begin date: 11-OCT-2007

Old ISIN - CN0009282731 – Begin date: 22-SEP-2003 End date: 11-OCT-2007


600009.SS

Current ISIN - CNE000000V89 – Begin date: 11-OCT-2007

Old ISIN - CN0009145730 – Begin date: 30-MAR-2007 End date: 11-OCT-2007

Old ISIN - CN0009145730 – Begin date: 13-JAN-1998 End date: 30-MAR-2007

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.

Upvotes
10.2k 18 6 9

@s2782245 I'm not sure where you are getting those other ISINs from. If I search for the following - I get what is expected - multiple RICs tied to a single ISIN.

If I try the second RIC in your first example I get nothing (I also checked those ISINs on my Eikon Desktop and they were not listed):

It was the same with your second example. The first ISIN return multiple RICs correctly. The other two ISINs returned a blank.

The APIs are returning the correct information as far as I can tell. The system can find no record of the other ISINs you listed. What was the source of those - I don't think it could be from RDP as there are no records for those ISINs? I hope this can help.



1606999112962.png (208.9 KiB)
1606999240247.png (19.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.

@s2782245

Thank you for your participation in the forum. Are any of the replies below satisfactory in resolving your query? If yes please click the 'Accept' text next to the reply that best answers your question. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

-AHS

Upvotes
1 1 1 5

@jason.ramchandani hey, thank you for your post on this issue.

I am a little confused by your first sentence.

Just to make sure, did you mean to say you're not sure where I got the two other RICs from (as you wrote) or did you mean you are not sure where I got the other ISINs from.

Just to make my examples clear:










Further Information that might be valuable:

I altered the month indicator from M=0 to M=-240 to obtain the sample data. The majority of the data obtained has ISINs starting with "CNE", however the other ISINs (starting with "CN0") still exist.

From a theoretical perspective, one RIC as specifying one very financial instrument that is traded on one very specific exchange, can not have multiple ISINs, right?

The other way around, however is possible, namely one ISIN and multiple RICs, right?

Summing up, the questions are:

1) Is the RIC a unique identifier for a financial Instrument traded on a specific venue?

2) Do numbers obtained on "TR.InvestorFullName", "TR.HoldingsDate", "TR.SharesHeld" then refer to the RIC or the specific ISIN?


Thanks & kind regards



isin-example.jpg (32.1 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.

Upvotes
10.2k 18 6 9

@s2782245 yes apols meant other ISINs in the first line of my response - i changed it now.

In the sample I posted you can see that 'CNE0000011B7' is a valid ISIN and has several RICs attached to it - related to listings on different venues. Basically each of those RICs is a unique identifier - relevant to the exchange it is listed on.

On the other hand 'CN00092827312' is not a valid ISIN. Nor is 'CNE000001DX02', nor is 'CNE000000ZT33' nor is 'CN0009239293'. So there will be no information about them anywhere on our system - hence my question - from where did you get them.

Please could you show the API call code that is returning these invalid ISINs.

To answer your specific points:

1) Yes that is basically correct. Regarding RIC structure - there are some slightly more complex rules for expired RICs, there are also Primary RICs and the like and there may be local variations I am not aware of. For more details on RIC structure and meaning for specific cases please contact the helpdesk where the content team are better placed to give you more complete answers.

2) Please can you include a sample API call so I can see the return - then I can answer. Different listings of the same company would return back the same fundamental and reference data (except data to do with listing details such as exchange) as the underlying company is the same. For example the following Eikon API calls return:

df,err = ek.get_data('600000.SS',['TR.InvestorFullName','TR.HoldingsDate','TR.SharesHeld'])
df

df,err = ek.get_data('600000.SH',['TR.InvestorFullName','TR.HoldingsDate','TR.SharesHeld'])
df

I hope this can help.


1607005238083.png (172.5 KiB)
1607005377894.png (174.2 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.

Upvotes
1 1 1 5

@jason.ramchandani thank you for your answer. It is quite interesting though. I have encountered this issue on several different API calls (all of them either SSE or SZE stocks).

So for each stock listed on .SS or .SZ, the following calls have been made in a monthwise fashion. This means starting from: M=0 to M= -240 for every single Stock.

(Examples always for 600000.SS and observation month: -50)


Here are my API calls:

1st API call-block:

get_data(600000.SS,

"TR.ISIN",
"TR.InstrumentType",
TR.CompanyName",
"TR.InstrumentIsActive",
"TR.IsDelistedQuote",
"TR.RegStateProvince",
"TR.CompanySharesOutDate",
"TR.CompanySharesOutstanding(Adjusted=1)",
"TR.SharesOutstanding",
"TR.FreeFloat",
"TR.FreeFloatPct",
"TR.FreeFloatAdjRestrShrs",
"TR.FreeFloatPctAdjRstrShr",
"TR.SharesHeldByStrategicInvestors",
"TR.CompanyIncorpDate",
"TR.IPODate",
"TR.InvestorFullName",
"TR.InvestorType",
"TR.InvInvmtOrientation",
"TR.InvAddrCountry",
"TR.EarliestHoldingsDate",
"TR.HoldingsDate",
"TR.SharesHeld",
"TR.PctOfSharesOutHeld",
"TR.PrevHoldingsDate",
"TR.PrevSharesHeld",
"TR.SharesHeldChange",
"TR.PctExchange",
"TR.PctSector",
"TR.PctCountry,

"SDate" = -50,"CH" = "Fd", "RH" = "IN")


2nd API call-block:

get_data(600000.SS,

"TR.RIC",
"TR.ISIN",
"TR.CompanyName",
"TR.InvestorFullName",
"TR.HoldingsDate",
"TR.SharesHeld",
"TR.TotalPctSharesHeld",

"SDate" = -50,"CH" = "Fd", "RH" = "IN")


3rd API call-block:

get_data(600000.SS,

"TR.RIC",
"TR.ISIN",
"TR.CompanyName",
"TR.InvestorFullName",
"TR.HoldingsDate",
"TR.SharesHeld",
"TR.SharesHeldByStrategicInvestors",
"TR.InstrPctHldStrategic",

"SDate" = -50,"CH" = "Fd", "RH" = "IN")


4th API call-block:

get_data(600000.SS,

"TR.RIC",
"TR.ISIN",
"TR.CompanyName",
"TR.InvestorFullName",
"TR.HoldingsDate",
"TR.SharesHeld",
"TR.PrevHoldingsDate",
"TR.PrevSharesHeld",
"TR.SharesHeldChange",
"TR.PctSharesHeldChange",

"SDate" = -50,"CH" = "Fd", "RH" = "IN")


5th API call-block:

get_data(600000.SS,

"TR.RIC",
"TR.ISIN",
"TR.CompanyName",
"TR.InvestorFullName",
"TR.HoldingsDate",
"TR.SharesHeld",
"TR.PctOfSharesOutHeld",
"TR.PctPortfolio",
"TR.TRBCEconomicSector",
"TR.TRBCBusinessSector",
"TR.TRBCIndustryGroup",
"TR.TRBCIndustry",
"TR.TRBCActivity",
"TR.CAVotingRightsPerShare",
"TR.OrgInactiveYear",

"SDate" = -50,"CH" = "Fd", "RH" = "IN")


I have already tried to see whether the "SDate" plays a role, however I have not found any real specific pattern. I got ISINs starting with "CN0" occasionally in all years I have obtained. However it is noteworthy that the latest "Holdings.Filing.Date" for "CN0"-based ISINs is in 2007.

Here an example:





-> to obtain data from September 2007, the month indicator would be M=-158


thanks & kind regards


isin-example-2.jpg (174.1 KiB)
isin-example-3.jpg (151.8 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.

Upvotes
1 1 1 5

@RFielder thank you very much for your input.

To conclude, ISIN might change over time, but as long as RIC stays the same, it is always one and the same financial instrument (traded on one specific venue). As a consequence, data obtained under different ISINS (e.g. "TR.SharesHeld") can be used interchangeably as long as it is the same RIC?


thanks & kind regards

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.

@s2782245

I'm afraid RICs could also be recycled. The same RIC may refer to different instruments at different times. This is rare, but it does happen. Stock RICs generally follow the exchange ticker symbology. On NYSE the ticker 'C' was once used for the stock of Chrysler and now it refers to Citibank. This is one reason Refinitiv introduced PermID, the identifier that does not change over time in the sense that it always refers to the same entity.

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.