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.
1
Answers
-
Hi! @Jirapongse Sorry I had limited internet availability! But yeah it worked pretty well, thank you so much!
0
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 中文论坛