Issue with get_data returning multiple rows for one single investor

Hello, I want to get a field called TR.InvestorType using Python. I noticed that when I do:
data, err = ek.get_data(["5000001154","4295955751"], TR.InvestorType, {CURN: USD})
I get the right results. Then when I add for example the ID 4295895691:
data, err = ek.get_data(["5000001154","4295955751","4295895691"], TR.InvestorType, {CURN: USD})
then I get multiple rows for 4295895691 and I don't get the results for the first two companies anymore. Anyone has an idea on why I am getting this behavior?
Best Answer
-
- can you fix this so we don't have to do all this extra work to get correct data?
I believe that the data is correct. It is possible to have multiple investors.
There are multiple investors to the "4295895691" identifier.
- How can I get only one row returned (the most recent or the populated investor type data for ID 4295895691)
You can use "Data Item Browser" to explore the supported parameters on TR.InvestorType field.
In this case, you can set "End Number" to 1 so you would only get the first row in the result.
- Why these IDs return different data sets? Is it because one is listed and the others are not? How can we separate the two types?
I believe that the data is correct. It is possible to have multiple investors.
If you need further clarification on the content, you can contact Refinitiv Content Helpdesk at https://my.refinitiv.com/
Helpdesk would be able to suggest if there are any fields to allow you to separate them.
0
Answers
-
Hello @charles.malafosse,
As I was able to confirm by running Eikon search on these instruments,
Some Permids (the identifiers you request by is permid) map to one RIC,, some to none ( the first two, they are "unlisted"), some to many such as the third, Alliance Trust.
Suggest to try this request to see this difference in action
data, err = ek.get_data(["5000001154","4295955751","4295895691"], ['TR.InvestorType', 'TR.CommonName','TR.CompanyName'])
For me this results in
It appears, that you are looking for results that correspond to a listed RIC.
0 -
As @zoya faberov pointed out and as you observed, the 3rd PermID ("4295895691") does have multiple (~185 rows) returned. If you only want the InvestorType for both, I think you will have to merge the results. It appears the get_data() doesn't understand how to merge these 2 different data sets into one.
For example:
df1,err = ek.get_data(["5000001154","4295955751"], "TR.InvestorType")
df1df2, err = ek.get_data(["4295895691"], ['TR.InvestorType'])
df2df = pd.concat([df1, df2])
df0 -
Just want to make the result more obvious.
This is the sample code:
data, err = ek.get_data(["5000001154","4295955751","4295895691"],
['TR.InvestorType.instrument', 'TR.InvestorType.investorid', 'TR.InvestorType',
'TR.CommonName.instrument', 'TR.CommonName',
'TR.CompanyName.instrument', 'TR.CompanyName'])
data.head(10)The multiple records are acutually from different investor ids.
0 -
@nick.zincone.1 @zoya.farberov @chavalit.jintamalit
Hi all, thanks for your answers. I have a couple of questions:
- can you fix this so we don't have to do all this extra work to get correct data?
- How can I get only only one row returned (the most recent or the populated investor type data for ID 4295895691)
- Why these IDs return different data sets? Is it because one is listed and the others are not? How can we separate the two types?
Thanks
0 -
Try selecting by value
data, err = ek.get_data(["5000001154","4295955751","4295895691"], ['TR.InvestorType', 'TR.CommonName','TR.CompanyName'])
data.loc[data['Company Common Name'] != '']
0 -
Going back to this issue, when I add the parameter you suggested:
parameters={"CURN": "USD","EndNum":1}
data, err = ek.get_data(["5000001154","4295955751","4295895691"], "TR.InvestorType", parameters)I get:
Instrument Investor Type Description
0 5000001154
1 4295955751
2 4295895691 Investment Advisor/Hedge FundSo this didn't resolve my problem that the first 2 investors types were missing. Please note I don't want to do one request per investor as I have thousands of them so this would take too much time.
0 -
I think the backend may try to request data as "RIC" type.
So please separate your identifiers into 2 groups.
0 -
chavalit.jintamalit, that is a very strange behavior. Is that normal? How do I know which code is understood as RIC? If I submit a permid, why would it match on RIC?
0 -
I believe that this is a deficiency in this specific backend component that serves this data.
The input Perm ID you have, some of them cannot be mapped to RIC code.
Here is the result when you mixed them on both Eikon Data API and Eikon Excel(same behavior):
Here is to be more precise, the code explicitly set the instrument type and still the same behavior:
So the workaround is to try to map PermID to RIC code first.
Then divide the instruments into 2 lists as suggested earlier.
0 -
thanks for your answer but wouldn't it be easier if you just fix the deficiency?
Best
0 -
I have raised a ticket 08965493 on your behalf to Refinitiv Helpdesk.
They will contact you regarding this case.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
- 685 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
- 252 ETA
- 556 WebSocket API
- 38 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
- 652 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
- 917 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 中文论坛