eikon data api bulk data

I tried to obtain constituent data but it only returns 10 records.

For example,

index_ric = "MCHI.OQ";

df, err = ek.get_data([index_ric],['TR.FundHoldingRIC','TR.FundHoldingName','TR.FundCountryOfDomicile','TR.FundPercentageOfFundAssets','TR.FundNumberOfShares','TR.FundNumberOfSharesChanged'])
df.columns=['INDEX_RIC','RIC','NAME','COUNTRY','PctWgt','SHARES','SHARES_CHANGE']

I expect about 300 names.

=TR("MCHI.OQ","TR.FundHoldingRIC;TR.FundHoldingName;TR.FundCountryOfDomicile;TR.FundPercentageOfFundAssets;TR.FundNumberOfShares;TR.FundNumberOfSharesChanged","StartNum=1 EndNum=1000 CH=Fd RH=IN",B2)


Best Answer

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭
    Answer ✓

    In =TR function you have StartNum and EndNum parameters, whereas in get_data method they're missing. Add these parameters and you'll get the full result.

    ek.get_data('MCHI.OQ',
    ['TR.FundHoldingRIC','TR.FundHoldingName','TR.FundCountryOfDomicile',
    'TR.FundPercentageOfFundAssets','TR.FundNumberOfShares',
    'TR.FundNumberOfSharesChanged'],
    {'StartNum':'1', 'EndNum':'1000'})

Answers