The record could not be found' for the instrument 'TYC1=CTD'

ek.get_data() stopped working this working (same code used to work for about 1.5 years):

Exception: [{'code': 251658243, 'col': 1, 'message': "'The record could not be found' for the instrument 'TYC1=CTD'", 'row': 0}, {'code': 251658243, 'col': 2, 'message': "'The record could not be found' for the instrument 'TYC1=CTD'", 'row': 0}, {'code': 251658243, 'col': 3, 'message': "'The record could not be found' for the instrument 'TYC1=CTD'", 'row': 0}, {'code': 251658243, 'col': 1, 'message': "'The record could not be found' for the instrument 'AULC1=CTD'", 'row': 1}, {'code': 251658243, 'col': 2, 'message': "'The record could not be found' for the instrument 'AULC1=CTD'", 'row': 1}

and so on.

Fields are ["CF_NAME", "MATUR_DATE", "COUPN_RATE"], RICs:

["TYc1=CTD", "AULc1=CTD", "FVc1=CTD", "FVc2=CTD", "TYc2=CTD", "AULc2=CTD", "TUc1=CTD", "TUc2=CTD"].

I can see this data in excel, so shouldn't be a permissions issue.

Capture.PNG

Best Answer

Answers

  • Hi @ivan.cherkasov ,

    Take care that RICs are case sensitive.

    Replace "TYC1_CTD" with "TYc1=CTD", "AULC1=CTD " with "AULc1=CTD", ..., it should work.

  • It is in correct case: ["TYc1=CTD", "AULc1=CTD", "FVc1=CTD", "FVc2=CTD", "TYc2=CTD", "AULc2=CTD", "TUc1=CTD", "TUc2=CTD"]. However it is uppercased in the error message for some reason.

    Here is a minimalistic repro:

    >>> ek.get_data(["TYc1=CTD"], ["CF_NAME", "MATUR_DATE", "COUPN_RATE"])
    (  Instrument  CF_NAME  MATUR_DATE  COUPN_RATE
    0   TYc1=CTD      NaN         NaN         NaN, [{'code': 251658243, 'col': 1, 'message': "'The record could not be found' for the instrument 'TYC1=CTD'", 'row': 0}, {'code': 251658243, 'col': 2, 'message': "'The record could not be found' for the instrument 'TYC1=CTD'", 'row': 0}, {'code': 251658243, 'col': 3, 'message': "'The record could not be found' for the instrument 'TYC1=CTD'", 'row': 0}])
    >>>

    +

    >>> ek.__version__
    '1.1.2'

    But, again, exactly the same code used to work for 1.5 years until this morning.


  • Actually, it seems quite strange:

    >>> ek.get_data(["TSLA.O", "tsla.O"], ["CF_NAME", "MATUR_DATE", "COUPN_RATE"])
    (  Instrument      CF_NAME  MATUR_DATE  COUPN_RATE
    0     TSLA.O  TESLA INC/d         NaN         NaN
    1     tsla.O  TESLA INC/d         NaN         NaN, [{'code': 251658244, 'col': 2, 'message': "Error: Field 'MATUR_DATE' was not found in response for the instrument 'TSLA.O'", 'row': 0}, {'code': 251658244, 'col': 3, 'message': "Error: Field 'COUPN_RATE' was not found in response for the instrument 'TSLA.O'", 'row': 0}, {'code': 251658244, 'col': 2, 'message': "Error: Field 'MATUR_DATE' was not found in response for the instrument 'TSLA.O'", 'row': 1}, {'code': 251658244, 'col': 3, 'message': "Error: Field 'COUPN_RATE' was not found in response for the instrument 'TSLA.O'", 'row': 1}])

    I didn't expect to see CF_NAME populated for a RIC with wrong case, "tsla.O", but it was.

  • Same for other continuous RICs:

    >>> ek.get_data(["LCOc1"], ["CF_NAME"])
    ( Instrument CF_NAME
    0 LCOc1 NaN, [{'code': 251658243, 'col': 1, 'message': "'The record could not be found' for the instrument 'LCOC1'", 'row': 0}])
    >>>

    Did smth. change on the backend today?

  • A colleague of mine tried these code snippets in workspace with the same result. So looks like a global problem.


  • Hello @ivan.cherkasov ,

    This seems to be an API issue so, ticket number 10427295 was raised on your behalf to check this, you may follow an update of the investigation/fix from the ticket.

  • It seems like backend is having an issue with continuation rics. Can retrieve data SX1 but not for Sc1.