Historical ownership data over time

Hi everyone, I'm kinda new in refinitiv and I wanted to get the historical ownership over time of some companies for a 20 year span.
I have found that data is available in workspace but I was wondering how could I get it through the api to directly export it into a .CSV file
df = ek.get_data('EQNR.OL', ['TR.PctOfSharesOutHeld', 'TR.InvestorFullName'],
{'SDate': '-20', 'EDate': '0', 'Frq': 'Y'})
#How can I make it so it extracts data from 1-1-2000 to 1-1-2024?
# Extract the DataFrame from the returned tuple
actual_df = df[0]
filtered_df = actual_df[actual_df['Investor Full Name'].str.contains(
"Vanguard|BlackRock|StateStreet", case=False, na=False)]
I want it to contain the information of these three investors in their multiple countries, so just rows that contain either of those three names.
My programming skills are no good, anyone can help me out please?
Also, is there any way to scalate it so I can get data for multiple companies in just one .csv?
Thanks so much in advance!
Best Answer
-
Thank you for reaching out to us.
I checked the Data Item Browser tool and found that the TR.PctOfSharesOutHeld field doesn't support the EDate parameter.
You can use the SDate parameter to get the data on a specific date.
The code look like this:
df, err = ek.get_data('EQNR.OL', ['TR.PctOfSharesOutHeld.InvestorPermId',
'TR.PctOfSharesOutHeld.Date','TR.PctOfSharesOutHeld'],
{'SDate': '2020-12-31',
'StartNum':0,
'EndNum':100})
df["Investor Perm Id"] = df["Investor Perm Id"].astype('Int64').astype('string')
df_company, err = ek.get_data(df["Investor Perm Id"].to_list(),['TR.CommonName'])
df_company["Instrument"] = df_company["Instrument"].astype('Int64').astype('string')
pd.merge(df, df_company, left_on="Investor Perm Id",right_on="Instrument")The TR.PctOfSharesOutHeld.InvestorPermId field contains the PermIDs of the investors so I need to send another request to get the common names of those investor PermIDs.
df["Investor Perm Id"] = df["Investor Perm Id"].astype('Int64').astype('string')
df_company, err = ek.get_data(df["Investor Perm Id"].to_list(),['TR.CommonName'])Then, I merged those two dataframes together by using the investor PermIDs.
df_company["Instrument"] = df_company["Instrument"].astype('Int64').astype('string')
pd.merge(df, df_company, left_on="Investor Perm Id",right_on="Instrument")The output looks like this:
You can change the value in the SDate parameter to get data on another date.
df, err = ek.get_data('EQNR.OL', ['TR.PctOfSharesOutHeld.InvestorPermId',
'TR.PctOfSharesOutHeld.Date','TR.PctOfSharesOutHeld'],
{'SDate': '2020-12-31',
'StartNum':0,
'EndNum':100})However, you need to have some programming skills to do it.
If not, I suggested you to use the Excel instead. Please contact Eikon or Workspace support team directly via MyRefinitiv regarding how to retrieve those values in Excel.
0
Answers
-
Hi! @Jirapongse Sorry I had limited internet availability! But yeah it worked pretty well, thank you so much!
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
- 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
- 249 ETA
- 554 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
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 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 中文论坛