Eikon API Symbology does not produce results as expected
> get_symbology(list("LU0070214613"), from_symbol_type="ISIN", to_symbol_type="RIC",debug=TRUE)
[1] "Request *************************************"
{"Entity":{"E":["SymbologySearch"],"W":{"symbols":[["LU0070214613"]],"from":["ISIN"],"to":[["RIC"]],"bestMatchOnly":[true]}}}
[1] "Response *************************************"
[1] "{\"mappedSymbols\":[{\"bestMatch\":{\"error\":\"No best match available\"},\"symbol\":\"LU0070214613\"}]}"
[1] "Response status *************************************"
[1] 200
I am using R to retrieve data. Symbology works very badly. It does not resolve many ISINs that are in the system. The example of code and json request and response are above.
This ISIN is recognized in the search field of Eikon terminal. It is also successfully resolved by Datastream XREF. I have a long list of ISINs. The best matching ability was from Bloomberg SECF call. Datastream XREF was able to recongnize not as many. The symbology call resolved a small fraction relative to Datastream (ca. 20%)
Is there another alternative to getting RICs based on ISINs?
EDIT: The ISIN gets resolved into "lipperID" (the type is not documented by the author of the package: it would be nice to have a full list of admissible values!). Then if I add "LP" to Lipper ID of 60003513, as it is how RICs are formed and try to get its ISIN it does get correctly resolve to the ISIN I started with. So the information is in the system, but it does not get retrieved correctly.
> get_symbology(list("LP60003513"), from_symbol_type="RIC", to_symbol_type="ISIN",debug=TRUE)
[1] "Request *************************************"
{"Entity":{"E":["SymbologySearch"],"W":{"symbols":[["LP60003513"]],"from":["RIC"],"to":[["ISIN"]],"bestMatchOnly":[true]}}}
[1] "Response *************************************"
[1] "{\"mappedSymbols\":[{\"bestMatch\":{\"ISIN\":\"LU0070214613\"},\"symbol\":\"LP60003513\"}]}"
[1] "Response status *************************************"
[1] 200
Symbol ISIN
1 LP60003513 LU0070214613
Any recommendation for the recommended list of output ID types (I have stocks, warrants, bonds and mutual funds, maybe more, in my list, so I need something very flexible to retrieve price information on the securities in my other dataset)? All advice is greatly appreciated.
I also the this "bestMatchOnly" option in the JSON call. Any chance to get more than one match then? It is not documented in the R package and not something mentioned in the Python webinar.
Best Answer
-
jirapongse.phuriphanvichai
The advice was useful, but in the wrong language. For the fellow R users:send_json_request("SymbologySearch",list(symbols= list('LU0070214613','LU0063383300','NO0003002503','NO0008002227'),from='ISIN',to=list('RIC'), bestMatchOnly=FALSE),debug=F)
Note, that instead of just RIC one can have a list of any available ids. (As mentioned in another thread, DS Mnemonics are not supported.)
For deparsing, I would recommend RJSONIO, but there are surely many other options in R.
1
Answers
-
"LU0070214613" can be mapped to multiple RICs so the result of RIC mapping doesn't appear in bestMatch.
{
"mappedSymbols": [
{
"ISINs": [
"LU0070214613"
],
"LipperIDs": [
"60003513"
],
"RICs": [
"LP60003513",
"987583X.F",
"987583X.H",
"987583X.D",
"987583X.MU",
"987583X.SG",
"987583X.BE",
"FL-JASEA.OL",
"JFUSEAJPY.HE",
"909999.FBF",
"987583X.TG",
"007021461X.LU^A11",
"575692.S^G10",
"LU0070214613.LUF",
"987583X.DX",
"LU0070214613.LUF^H00",
"JD55ff.FP^K10",
"LU0070214613.VI^J13"
],
"SEDOLs": [
"5408364",
"B1KKLY7"
],
"bestMatch": {
"ISIN": "LU0070214613",
"lipperID": "60003513"
},
"symbol": "LU0070214613",
"tickers": [
"IH5Z",
"FL-JASEA",
"JFUSEAJPY",
"909999"
]
}
]
}The bestMatch contains the result of mapping to "ISIN" and "lipperID" which is one-to-one mapping.
By default, bestMatchOnly is set to true in get_symbology function. You can override it by directly using send_json_request function.
import eikon as ek
ek.set_app_id('appid')
payload ={'symbols': ['LU0070214613'],'from': 'ISIN','to': ['RIC'],'bestMatchOnly': False}
df = ek.send_json_request("SymbologySearch", payload, debug=True)
print(df)The result is:
{
"mappedSymbols":[
{
"RICs":[
"LP60003513",
"987583X.F",
"987583X.H",
"987583X.D",
"987583X.MU",
"987583X.SG",
"987583X.BE",
"FL-JASEA.OL",
"JFUSEAJPY.HE",
"909999.FBF",
"987583X.TG",
"007021461X.LU^A11",
"575692.S^G10",
"LU0070214613.LUF",
"987583X.DX",
"LU0070214613.LUF^H00",
"JD55ff.FP^K10",
"LU0070214613.VI^J13"
],
"bestMatch":{
"error":"No best match available"
},
"symbol":"LU0070214613"
}
]
}However, you can limit the number of mapped items by using limit parameter.
payload ={'symbols': ['LU0070214613'],'from': 'ISIN','to': ['RIC'],'bestMatchOnly': False, 'limit': 1}
df = ek.send_json_request("SymbologySearch", payload, debug=True)2
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛