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
50 1 1 4

reaching the limit

I am trying to run

#There are 131 companies
screen = SCREEN.express.universe(Equity(active=True, public=True, primary=True)) \
    .conditions(FORMULA('TR.AvgDailyValTraded3M', '>5000000'), IN('TR.CoRTradingCountryCode', 'BR'),
                NOT_IN('TR.TRBCEconomicSector', 'Financials'),
                NOT_IN('TR.TRBCEconomicSector', 'Real Estate')) \
    .currency('BRL').query
#Quarterly
df1, err1 = ek.get_data(
    instruments=screen,
    fields=['TR.F.RevGoodsSrvc/TR.F.TotAssets',
            'TR.F.EBITDA/TR.F.RevGoodsSrvc',
            'TR.F.IncAvailToComShr/TR.F.ComEqTot',
            'TR.F.IncAvailToComShr/TR.F.TotAssets',
            'TR.F.NetDebt/TR.F.TotAssets',
            'TR.F.CURRRATIO',
            'TR.F.NetCFOpPerShrTTM',
            'TR.F.EBIT.periodenddate',
            'TR.F.EBIT.calcdate'],
    parameters=
    {
        'SDate': '2008-01-01',
        'EDate': '0D',
        'Period': 'LTM',
        'Frq': 'FQ',
        'Curn': 'BRL'
    }
)
#Monthly
df_multiples, err_multiples = ek.get_data(
    instruments=screen,
    fields=['TR.EVToSales',
            'TR.EVToSales.date',
            ],
    parameters=
    {
        'SDate': '2008-01-01',
        'EDate': '0D',
        'Period': 'LTM',
        'Frq': 'CM',
        'Curn': 'BRL'
    }
)
#Monthly
df_price, err_price = ek.get_data(
    instruments=screen,
    fields=['TR.CLOSEPRICE',
            'TR.CLOSEPRICE.date'
            ],
    parameters=
    {
        'SDate': '2008-01-01',
        'EDate': '0D',
        'Frq': 'CM',
        'Curn': 'BRL'
    }
)
#Daily
df_vol, err_vol = ek.get_data(
    instruments=screen,
    fields=['TR.CLOSEPRICE',
            'TR.CLOSEPRICE.date'
            ],
    parameters=
    {
        'SDate': '2008-01-01',
        'EDate': '0D',
        'Frq': 'D',
        'Curn': 'BRL'
    }
)


I am getting the error below:

eikon.eikonError.EikonError: Error code 2504 | UDF Core request failed. Gateway Time-out


I know there is a daily limit for Eikon API, however, I would like to know how to circumvent this issue.

Using the screen code, I only can run the code at once. Could I run splitting this code?

Request per each interval?

How many companies per interval?

Thanks in advance




eikon-data-apipythonapi-limits
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
80k 257 52 75

@rafael01

Sorry for the issue you are facing, let me see if I can help you in resolving this.

It is not effective to use a screener in every request. The first request should be used to get a list of RICs from that screener.

rics, err1 = ek.get_data(
    instruments=screen,
    fields=['TR.CommonName'])
rics

Then, use rics["Instrument"].to_list() in the subsequent requests.

df2, err1 = ek.get_data(
    instruments=df1["Instrument"].to_list(),
    fields=['TR.F.RevGoodsSrvc/TR.F.TotAssets',
            'TR.F.EBITDA/TR.F.RevGoodsSrvc',
            'TR.F.IncAvailToComShr/TR.F.ComEqTot',
            'TR.F.IncAvailToComShr/TR.F.TotAssets',
            'TR.F.NetDebt/TR.F.TotAssets',
            'TR.F.CURRRATIO',
            'TR.F.NetCFOpPerShrTTM',
            'TR.F.EBIT.periodenddate',
            'TR.F.EBIT.calcdate'],
    parameters=
    {
        'SDate': '2008-01-01',
        'EDate': '0D',
        'Period': 'LTM',
        'Frq': 'FQ',
        'Curn': 'BRL'
    }
)
df2

For the limitations, please refer to the Eikon Data API Usage and Limits Guideline.

According to the error message, it could be a timeout on the server.

1666670470662.png

For the last request (Daily), please try to split requests for a few years instead.

df_vol, err_vol = ek.get_data(
    instruments=rics["Instrument"].to_list(),
    fields=['TR.CLOSEPRICE',
            'TR.CLOSEPRICE.date'
            ],
    parameters=
    {
        'SDate': '2020-01-01',
        'EDate': '0D',
        'Frq': 'D',
        'Curn': 'BRL'
    }
)
df_vol

I hope this will help.


1666670470662.png (16.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.

Thanks @Jirapongse . I will keep in touch with you.

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.