Symbol support with Workspace get_history

I am migrating a solution from Eikon to Workspace. Here is code to pull some daily bars:

import sys
import refinitiv.data as rd
import pandas as pd
import datetime
rd.open_session(app_key =<>KEY)

Symbol_T = sys.argv[1]
Date_T = sys.argv[2]
universe = [Symbol_T]
df = rd.get_history(universe, end = Date_T, fields=["OPEN_PRC","HIGH_1","LOW_1","TRDPRC_1","ACVOL_UNS"], interval = 'daily')

Typical equity symbols work fine… IE: AAPL.OQ, MSFT.O and others: XAU=, XAG=

These symbols (/CADUSD, /.FTSE) did not need any conditioning when calling get_timeseries from EIKON, but are now returning the error below from Workspace.

Traceback (most recent call last):
File "D:\Users\SERVERMTL\AppData\Local\Programs\Python\Python39\lib\idlelib\run.py", line 564, in runcode
exec(code, self.locals)
File "C:\PNC\Stats\Python\PY_getTimeSeriesTestTicks.py", line 39, in <module>
df = rd.get_history(universe, start = ek_Start_T, end = ek_End_T, fields=["TRDPRC_1","TRDVOL_1"], interval = "tas") # tick => tas (time and sales)
File "D:\Users\SERVERMTL\AppData\Local\Programs\Python\Python39\lib\site-packages\refinitiv\data\_access_layer\get_history_func.py", line 206, in get_history
raise RDError(-1, except_msg)
refinitiv.data._errors.RDError: Error code -1 | No data to return, please check errors: ERROR: No successful response.
(TS.Intraday.UserRequestError.90001, /CADUSD - The universe is not found)


Any special handling that I need to do? Escaping? Or is this perhaps a permissions error?

Best Answer

  • Jirapongse
    Answer ✓

    @dgarrard

    Thank you for reaching out to us.

    "/CADUSD" is an invalid RIC and it doesn't work in ek.get_timeseries. It returned the following error.

    EikonError: Error code -1 | /CADUSD: Invalid RIC | 

    The correct RIC should be CAD=.

    The historical pricing endpoints in the RD libaray suport the qos parameter to subscribe to delayed RICs.

    To use the qos parameter, please refer to the historical_pricing.summaries.Definition in the content layer.

    The code looks like this:

    response = historical_pricing.summaries.Definition(
        [".FTSE"], 
        interval=Intervals.DAILY,   
        extended_params={"qos":"delayed"}
    ).get_data()
    response.data.df

    The historical pricing examples are on GitHub.