Error code -1 | timed out

Hi, im trying to create a request using this code:

ek.set_app_key(refinitiv_key)
rd.open_session()
start_date = "2023-1-1" 
end_date = (date.today() - BDay(1)).strftime("%Y-%m-%d")
tickers = pd.read_excel(ruta_insumos+"\Diccionario_Eikon.xlsx",sheet_name='Mercado')["Ticker"].to_numpy()
tickers = tickers.tolist()
df = rd.get_history(
    universe=tickers, 
    fields=['TR.BIDPRICE', 'TR.FIXINGVALUE', 'TR.CLOSEPRICE',"TR.MIDPRICE","TR.PARMIDSPREAD"],
    start = start_date, 
    end = end_date
)


Some of the tickers that im using are:

MXGV10YUSAC=RCOGV5YUSAC=RCOGV10YUSAC=RGBP=EUR=JPY=CHF=


And im geeting this error:

RDError: Error code -1 | timed out

Best Answer

  • aramyan.h
    Answer ✓

    Hi @savelez ,


    The time-out usually arises when you have large requests in terms of number of rics and/or fields. You can increase the timeout as below:

    rd.get_config()["http.request-timeout"] = 60

    However, this is not what I would advice doing. Instead consider:

    1. Divide your ticker universe into smaller chunks (based on my experience, something between 100-500 depending on the period length and number of fields is a good starting point)
    2. Group you tickers per asset type and make separate requests for each group. Many times different fields might need to be used depending on the asset type. For example in your request most of the fields are returned NA (CDSs' returned only Par Mid and currencies only Bid and Mid). By using only the fields which are available for the required universe will optimize your query. You can check the fields via the DIB app in Workspace or contacting HelpDesk via Help&Support if needed.
    3. And finally for requesting price series, I would advice using historical pricing fields, instead of the TR fields. For larger periods the service which returns historical pricing fields is more efficient in terms of performance. To find out available historical pricing fields, you can skip the fields parameter and the function will return all available pricing fields for the asset class. Looking at the output of your code for CDSs you might be looking for field named PAR_MID1 and for currencies BID and MID_PRICE. Again, feel free to explore all fields per asset class by skipping fields parameter.


    Hope this helps, let me know if any follow up questions.


    Best regards,

    Haykaz