How to retrieve pricing data for Mutual Funds with one ISIN code, traded at 4 different exchanges...

... with 4 different prices?
I want to find a price for Mutual Fund with ISIN code IE00B1XNHC34 - iShares Global Clean Energy. It is traded in London, at the Swiss Exchange, at Borsa Italiana and at Deutsche Börse.
Using
ek.get_data("IE00B1XNHC34", ['BID', 'ASK'])
I get the price for the instrument traded in London. However, I need the price of this instrument traded at Borsa Italiana.
Please advice.
Best Answer
-
Hi @ jason.ramchandani - Thank you Jason.
Is there a fixed conversion to go from INRG.l to INRG.MI that you know of?
0
Answers
-
Hi @vanderkroon - if you copy and paste the isin into the eikon search bar - you can get a list of RICs for that ISIN - which for the milan stock exchange is INRG.MI.
ek.get_data("INRG.MI", ['BID', 'ASK'])
I hope this can help.
0 -
Hi @ jason.ramchandani - Thank you Jason. Yes that works for the bid and ask. Unfortunately this approach does not produce results when retrieving historical data, e.g.:
ek.get_data("INRG.MI", ['TR.NETASSETVAL.date', 'TR.NETASSETVAL'],
{'SDate': '-2Y', 'EDate': '0D'})or
ek.get_data("IE00B1XNHC34.MI", ['TR.NETASSETVAL.date', 'TR.NETASSETVAL'],
{'SDate': '-2Y', 'EDate': '0D'})Results in an error message:
[{'code': 412, 'col': 1, 'message': 'Unable to resolve all requested identifiers.', 'row': 0}, {'code': 412, 'col': 2, 'message': 'Unable to resolve all requested identifiers.', 'row': 0}]
How should I go about retrieving historical data?
0 -
@vanderkroon Hi so fundamental data pertaining to the fund will not change depending on the listing exchange. In this case you can use the main ISIN Code (which will use the primary RIC or main listing) - by the way IE00B1XNHC34.MI is not valid - an ISIN does not have .xx suffix only RICs have those.
df,err = ek.get_data("IE00B1XNHC34", ['TR.NETASSETVAL.date', 'TR.NETASSETVAL',{'SDate': '-2Y', 'EDate': '0D'})
dfTo see what the primary identifier is you can use :
df,err = ek.get_data("IE00B1XNHC34", ['TR.PrimaryRIC'])
dfI hope this can help.
0 -
@vanderkroon as this is a fund you could also use the symbology service to resolve the ISIN:
ek.get_symbology(['IE00B1XNHC34'],from_symbol_type='ISIN')
and then use the lipperID to call the fundamental information:
df,err = ek.get_data("65101708", ['TR.NETASSETVAL.date', 'TR.NETASSETVAL'],{'SDate': '-2Y', 'EDate': '0D'})
dfI hope this can help.
0 -
Once you have the RIC root INRG then you can try appropriate exchanges such as .MI - but I though about it and maybe the best way is to use the new Refinitiv Data Platform Search service. This will give you a list of all RICs associated to the ISIN. You need to install a new library pip install refinitiv.dataplatform and then :
import refinitiv.dataplatform as rdp
session = rdp.open_desktop_session('YOUR APP KEY HERE')
res = rdp.search('IE00B1XNHC34')
display(res)Once you have this you can use the list returned to get the prices for each of these:
rics = res['RIC'][1:].astype(str).values.tolist()
df, err = ek.get_data(rics, ['BID', 'ASK'])
dfThis seems more robust. I hope this can help.
0 -
Is there a fixed conversion to go from INRG.L to INRG.MI that you know of?
I found the answer myself. the INRG.L is denoted in GBP as is the (historical) data of "IE00B1XNHC34". When you convert he price in GDP to EUR the price equals the INRG.MI price (to divided by 100).
Consider it solved.
0 -
Adding to the post by @jason.ramchandani01 you can try the below syntax to find the RIC for specific ISIN that is traded on the exchange of your choice:
df = rdp.search(
view = rdp.SearchViews.FundQuotes,
query = 'IE00B1XNHC34',
select = 'RIC,ExchangeName',
filter = "ExchangeName eq 'Milan Stock Exchange' and AssetState ne 'DC'",
)
df['RIC'][0]'INRG.MI'
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
- 641 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
- 89 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛