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,
Best Answer
-
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
0
Answers
-
@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.
0 -
@jason.ramchandani01 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
0 -
@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'])
dfdf,err = ek.get_data('600000.SH',['TR.InvestorFullName','TR.HoldingsDate','TR.SharesHeld'])
dfI hope this can help.
0 -
@jason.ramchandani01 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
0 -
@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
0 -
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.
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 614 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 248 ETA
- 552 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 640 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 191 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛