question

Upvotes
Accepted
1 0 0 1

Problems with ownership data, python API.

Hi, I wanted to download historical ownership data for several US companies, I checked and to download ownership data I can use three options:

- Ultimate Parent Holdings =TR("NEOF.OQ^C06@RIC","TR.UltPrntPctOfShrsOutHld")
- Consolidated Holdings =TR("NEOF.OQ^C06@RIC","TR.PctOfSharesOutHeld")
- Fund Holdings =TR("NEOF.OQ^C06@RIC","TR.FdAdjPctOfShrsOutHeld").


to get the data I use the following code:


test, e = ek.get_data('4295914290', ['TR.InvestorFullName',

'TR.PctOfSharesOutHeld',

'TR.SharesHeld.calcdate',

'TR.HoldingsDate',

'TR.SharesHeld',

'TR.SharesHeldChange',

'TR.SharesHeldValue'],

{'SDate': '2000-01-24', 'EDate':'2000-04-29', 'Frq' : 'M'})

with which I should get the following values, since I am occupying the consolidated holdings code.

1705526016530.png

But what I get is the following, as if I were using the Ultimate Parent Holdings code.

1705526297370.png




Besides the result gives me many empty cells.

How do I fix this problem?


thanks in advance

refinitiv-dataplatform-eikon#contentpython api
1705526016530.png (174.3 KiB)
1705526297370.png (279.3 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvotes
Accepted
11.1k 22 6 9

@bmurua Thanks for your question. So first off it appears that only end of month or quarterly data is available for Holdings - i tried to match the ownership from the Shareholders Report app to encompass the end of month data - see below:

1706709204387.png

I then use the following API call (using our RD library - it will be the similar call in Eikon Data API)

test = rd.get_data('4295914290', ['TR.InvestorFullName','TR.PctOfSharesOutHeld','TR.SharesHeld.calcdate','TR.HoldingsDate','TR.SharesHeld','TR.SharesHeldChange','TR.SharesHeldValue'],{'SDate': '2000-01-31', 'EDate':'2000-04-30', 'Frq' : 'M'})

test

1706709366384.png

this matches the shareholder report exactly by date - I exported the file and looked at it in excel using:

test.to_excel("test_own.xlsx")

There is of course a monthly duplication as we are requesting Monthly data for 4 Months. The view you see in the Shareholder Report app is 69 rows - which is the filtered view using TR.SharesHeld.calcdate Month (most recent in this case eg 2000-04-30). However - if I look at the Data Item Browser app (type DIB into Eikon Search bar) I don't see a range parameter for the field - just the date is 'As of' which means a single date rather than a range. I checked this further looking at the earliest data in the range say 2000-01-31 which is as you say containing some NA, NaT returns.

test = rd.get_data('4295914290', ['TR.InvestorFullName','TR.PctOfSharesOutHeld','TR.SharesHeld.calcdate','TR.HoldingsDate','TR.SharesHeld','TR.SharesHeldChange','TR.SharesHeldValue'],{'SDate': '2000-01-31','EDate':'2000-01-31','Frq' : 'M'})
test

This returns 9 populated rows as it does in the Shareholders Report app for the same date - as opposed to 9 populated rows padded to 69 rows with NA, NaTs - in the multi-month query. (Interestingly for 2000-02-29 there are 10 populated rows - padded to 69 rows with NA,NaTs as well). I hope this can clarify. So the way to do this correctly is to build the data for each month I believe and then concatenate these months together to form the full dataset.

If you think the data is incorrect feel free to open a content query with using Contact Us button (helpdesk) in the Helios menu as I cant verify the content.

I hope this can help.


1706709204387.png (256.4 KiB)
1706709366384.png (82.6 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.