holdings data on the ultimate parent level

Jochen
Jochen Newcomer

I'm interested in extracting holdings data of securities (say "AAPL.O" as an example) via the get_data() function of the LSEG Data Library. Using fields such as "TR.HoldingsDate, TR.InvestorFullName, TR.SharesHeld, TR.SharesHeldValue, TR.FilingType" gives me the holdings on the consolidated level. This means I get separate holdings reported for each subsidiary of one parent company. For example, I get the holdings reported by BlackRock Institutional Trust Company, N.A. and BlackRock Asset Management Ireland Limited which are both subsidiaries of BlackRock Inc. What I would like to extract instead is the holdings on the ultimate parent level, i.e. BlackRock Inc. When navigating through the Workspace desktop I can access this information under "AAPL.O SHARE" by using the settings gear on the right. There I can select either the consolidated holdings that I'm also able to extract in Python or the ultimate parent level which is what I would like to extract. I know the information is available in the background as there's also lists of all subsidiaries of a specific parent available. The question is just how to include it into my data request.

To work around this issue I tried including fields such as TR.UltimateParent or TR.UltimateParentId into my get_data() function but it returns those information for my instrument "AAPL.O" and not for each row containing a different (subsidiary) investor. If there was a way to extract the UltimateParent Name or ID I could at least manually aggregate the holdings to the parent level myself.

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @Jochen

    Thank you for reaching out to us.

    I found this TR.UltPrntPctOfShrsOutHld which can return Investor Permament IDs.

    df = ld.get_data(universe=["AAPL.O"],
                     fields=["TR.UltPrntPctOfShrsOutHld","TR.UltPrntPctOfShrsOutHld.InvestorPermId"],
                     parameters={'StartNum':1,'EndNum':100})
    df
    image.png

    Then, you can use the PermIDs to get names.

    df1 = ld.get_data(universe=df["Investor Perm Id"].dropna().to_list(),
                      fields=["TR.CommonName"])
    df1
    image.png

    Please contact the helpdesk team directly via MyAccount regarding this field and other fields.

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.