How can I find the RIC for green bond ISIN to download historical prices?

I obtained a list of green bond ISIN via rdp.search() tool using python. For this list I then wanted to download historical prices. This also worked for most of the green bonds. I obtained prices between 2018 and 2023 using rdp.get_data(). However for some ISIN only bid prices are returned and no ask prices or spreads.
I identified the ISIN as follows:
['JP376280AG96','JP525003CH18','KR6064311899','FR0013188067','JP342980AJA5','JP344040AJA6',
'JP344040BJA4','FR0013398229','KR60298889G8','KR60298899G7','KR6065904981',
'KR6138094992','KR6138093994','KR60050829A5','CND100009PX8','CND10000LT35','XS1197336263','XS1434560642','JP316572BMA4','FR0013301074','PLO343300011','JP324640AN50','NO0011160368']
Someone from the helpdesk told me that the ISIN is not linked to the prices and that I need to use the RIC. So I tried to obtain the correct RIC for the ISIN. RIC only with suffix "=" often does not work but "=RRPS" seems to have historical prices.
data = rdp.get_data(
universe=['JP376280AG96'],
fields=['TR.BondRIC','TR.FiParentImmedOrgID'],
)
data
rrps_bondrics = data[data['TR.BondRIC'].str.endswith('=RRPS')]
unique_rrps_bondrics = rrps_bondrics['TR.BondRIC'].unique()
Result: ['JP00034307=RRPS', 'JP00044307=RRPS', 'JP00064307=RRPS', 'JP00084307=RRPS', 'AUNOM0232=RRPS', 'JP00094307=RRPS', 'JP00104307=RRPS', 'JP00114307=RRPS' 'JP00134307=RRPS', 'JP00124307=RRPS', 'JP00144307=RRPS']
I guess the =RRPS suffix is the correct one but for the example ISIN I get several RIC with =RRPS suffix and only one contains prices
data = rdp.get_data(
universe=['JP00034307=RRPS'],
fields=['TR.ASKPRICE.date', 'TR.BIDPRICE.date', 'TR.ASKPRICE', 'TR.BIDPRICE'],
parameters={'SDate': '2020-02-01', 'EDate': '2020-02-06', 'Frq': 'D'})
data
My questions are: Why can I not simply use the ISIN to request prices for these bonds? How can I identify the correct RIC that has prices available and download the prices efficiently?
Thank you for the support.
Best Answer
-
I have resolved the issue. I needed to open another session using "rd.open_session()" and then the symbol conversion worked.
Still, the RIC returned is not the BondRIC that has historical pricing infromation stored. Is there any advide how to obtain the RIC with suffix "=RRPS"?
See an example of multiple BondRIC below. I am still trying to figure out the differences with the help desk team, in case anyone has information on that.
0
Answers
-
Hi @eikonpb3 ,
I would advise using the LDL (more about it on this site).
Have you tried the below?response = symbol_conversion.Definition(
symbols=["US5949181045", "JP376280AG96"],
from_symbol_type=symbol_conversion.SymbolTypes.ISIN,
to_symbol_types=[
symbol_conversion.SymbolTypes.RIC]).get_data()
response.data.dfld.get_data(
universe=response.data.df.RIC.to_list(),
fields=['TR.ASKPRICE.date', 'TR.BIDPRICE.date', 'TR.ASKPRICE', 'TR.BIDPRICE']).
I tried on CodeBook :
If there is any data missing, please look into another field on the DIB.
Failing that, please reach out to myaccount.lseg.com. This is because, if you are after a specific field you cannot find on the DIB, this would be a content question, for which our agents on myaccount.lseg.com would be better suited to answer you.0 -
Dear @jonathan.legrand
thank you for the provided solution. I tried the code you provided and the following works:
What is not working is the symbol conversion. I get the following error: "AttributeError: No default session created yet. Please create a session first!" I am unsure because Workspace is running and the session is opened.
My original issue was also that it seems for the RICs that you received via the conversion no "Ask Price" (this is the correct field, no other fields can be used) is returned. This is the case, because the RIC only has the "=" suffix but it needs to be the RIC with the "=RRPS" suffix. Apparently, bonds can have several RIC. Thats what I have learned from the helpdesk. They also told me it is a coding question and not a content question anymore, so I should ask here. Is it possible to convert the ISIN to the BondRIC or a RIC with a specific suffix?
Thank you!
0 -
You can use the Search API to get a RIC that ends with '=RRPS'. The code looks like this:
response = search.Definition( view=search.Views.SEARCH_ALL, filter="IssueISIN eq 'JP376280AG96' and endswith(RIC,'=RRPS')", select="BusinessEntity,DocumentTitle,RIC", ).get_data() response.data.df
The output is:
2
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
- 615 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
- 250 ETA
- 555 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
- 643 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
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 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 中文论坛