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