The instrument issue when I fetch historical PE ratio of SPX constituents

I use the following statement to fetch historical PE ratios of SPX constituents.

rcc, err=ek.get_data("0#.SPX(2002-08-09)",fields=["TR.RIC","TR.InstrumentDescription", "TR.RIC.date"])
instruments=rcc['RIC'].tolist()
df,err=ek.get_data(instruments, ['TR.PE', ‘TR.PE.date'], {"SDate": "2002-08-09", "EDate":"2002-08-09"})

Below is the message from Spyder.

 File "C:\Users\xxx\Anaconda3\lib\site-packages\eikon\data_grid.py", line 189, in get_data
    result = eikon.json_requests.send_json_request(_endpoint, payload, debug=debug)

  File "C:\Users\xxx\Anaconda3\lib\site-packages\eikon\json_requests.py", line 127, in send_json_request
    _check_server_error(result)

  File "C:\Users\xxx\Anaconda3\lib\site-packages\eikon\json_requests.py", line 203, in _check_server_error
    raise EikonError(int(server_response['ErrorCode']), error_message)

EikonError: Error code 1422 | Can not process metadata for request: DataGrid_StandardAsync.requests.instruments - non-empty is required

(1) I manually create a subset of the "instruments" and run the get_data statement. And it works fine. But when I include the instrument with the 500 RICs, it reports errors.

(2) Some tickers do not return PE ratio, such as TNB.N^E12. Do you have any other alternative get PE ratio for this RIC?

Can you advise? Thank you.

Best Answer

  • chavalit-jintamalit
    Answer ✓

    Hi @ylian

    1. The instruments variable contains empty value. So it causes the error.

    image

    2. Please contact the Refinitiv Content Helpdesk at https://my.refinitiv.com/ to get help on the field you are interested in.

    Or you can use Data Item Browser to explore what field may fit with your requirement.

    Data Item Browser tutorial is here.

Answers