Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
16 5 7 12

Eikon box shows different fund constituents than EIKON Python API

ch0214985100-eikonboxvsrdp-4refinivdevforum-pic2-e.jpgch0214985100-eikonboxvsrdp-4refinivdevforum.jpg@nick.zincone Hi, I am using EIKON API to retrieve Fund constituents using Python ("EAP" in sequel) script shown below. Upon comparing it with what I get from EIKON box (Derived Holding), I see a "slightly" different picture

a. "EAP"result gives a total of weights equal to ~300% whereas EIKON box shows 100% ("ACCOUNTS PAYABLE" which accounts for -200% is missing from "EAP" result together with some smaller stuff.

b. EIKON Box Derived Holdings is ~2,200 rows, whereas the "EAP" result is ~2,000rows ..

Is there an explanation?

Many thanks in advance, Grigorios

**********************************************************************************************************************************

fundISIN = "CH0214985100"

fieldSet = ["TR.FundHoldingRIC", "TR.FundHoldingRIC", "TR.FundCountryOfDomicile","TR.FundHoldingName",

"TR.FundLatestFilingDate", "TR.FundNumberOfShares", "TR.FundNumberOfSharesChanged", "TR.FundPercentageOfFundAssets"]


fund_Info, err = ek.get_data(fundISIN, fieldSet, {'StartNum':1, 'EndNum':2000})

mysum = fund_Info["Percentage of Fund Assets"].sum()

print(mysum)

# 300.5548

eikoneikon-data-apipython#technology#contentfundsconstituents
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.

Upvote
Accepted
10.6k 20 6 9

@grigorios.mamalis You are curtailing the API return by using the EndNum parameter of 2000 - if you say use 20000 - it will return the full 2200 entries as per the terminal. I am using the Refinitiv Data Library here which is a newer and better version of the Eikon Library.

pip install refinitiv-data
import refinitiv.data rd
rd.open_session()
df = rd.get_data(universe=['CH0214985100'],
            fields=['TR.FundHoldingRIC','TR.FundCountryOfDomicile','TR.FundHoldingName',
            'TR.FundLatestFilingDate','TR.FundNumberOfShares','TR.FundNumberOfSharesChanged',
            'TR.FundPercentageOfFundAssets'],
           parameters={'StartNum':1,'Endnum':20000}
           )
df

1717757413417.png

At the bottom you can see the missing ACCOUNTS PAYABLE, EUR CASH, GBP CASH AND JPY CASH entries.

I hope this can help



1717757413417.png (106.0 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.

Upvotes
16 5 7 12

@jason.ramchandani01 Many thanks. I only now realized there was this 2000 figure.

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.