For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
43 2 1 6

Eikon get_timeseries is returning different dates/values for same RIC depending on if it's submitted by itself or with other RICs

Why would I be getting the following inconsistent results for RIC 'BFO-'?

tmp_df = eikon.get_timeseries(["BFO-"], interval="daily",
                               start_date = "2010-01-01T00:00:00-05:00",
                               end_date = "2021-01-27T00:00:00-05:00", 
                               fields=['CLOSE'])
print(tmp_df.head())
tmp_df = eikon.get_timeseries(["BFO-"], interval="daily",
                               start_date = "2015-02-17T00:00:00-05:00",
                               end_date = "2021-01-27T00:00:00-05:00", 
                               fields=['CLOSE'])
print(tmp_df.head())
tmp_df = eikon.get_timeseries(["BFO-", "BFO-N"], interval="daily",
                              start_date = "2010-01-01T00:00:00-05:00",
                              end_date = "2021-01-27T00:00:00-05:00", 
                              fields=['CLOSE'])
print(tmp_df.head())

Why is the 3rd query 1) returning values beginning in 2015 when the 2nd RIC has data, and not returning values from 2010> where 'BF0-' has valid data, and 2) Why is 'BFO-' returning NaN where in the previous query there were valid values.

eikoneikon-data-apipythonworkspaceworkspace-data-apirefinitiv-dataplatform-eikon
1611842612538.png (15.2 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
7.5k 10 6 8

@jwaldron The reason you are experiencing this is that you are hitting limits of the get_timeseries API call which (from this document) are:

  • get_timeseries: The current limit value (10-Oct-2019) is 3,000 data points (rows) for interday intervals and 50,000 data points for intraday intervals. This limit applies to the whole request, whatever the number of requested instrument.

To get around this you should iterate over RICs and concatenate - for example:

instruments = ['BFO-','BFO-N']
df = pd.DataFrame()

for r in instruments:
    try:
        ts = eikon.get_timeseries(r,'CLOSE',start_date="2010-01-01T00:00:00-05:00",end_date="2021-01-27T00:00:00-05:00",
                               interval='daily')
        ts.rename(columns = {'CLOSE': r}, inplace = True)
        if len(ts):
            df = pd.concat([df, ts], axis=1)
        else:
            df = ts
    except:
        pass
    
df

I hope this can help.


1611844068637.png (73.7 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
43 2 1 6

thank you... somehow I knew the 50k, and thought that applied to either... appreciate the info.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.