In comparing the results returned by get_data and get_timeseries, I found one example where they return different results for the same field:
ek.get_data(['ESH9^1'], ['TR.OPENPRICE.Date', 'TR.OPENPRICE', 'TR.HIGHPRICE', 'TR.LOWPRICE', 'TR.CLOSEPRICE', 'TR.ACCUMULATEDVOLUME'], {'SDate': '2019-03-01', 'EDate': '2019-03-01', 'FRQ': 'D'})
returns:
Instrument Date Open Price High Price Low Price Close Price Accumulated Volume
0 ESH9^1 2019-03-01T00:00:00Z 2785.25 2808.25 2783 2807 1265597
while:
ek.get_timeseries(['ESH9^1'], fields=['TIMESTAMP', 'OPEN', 'HIGH', 'LOW', 'CLOSE', 'VOLUME'], start_date='2019-03-01', end_date='2019-03-01', interval='daily')
returns:
ESH9^1 OPEN HIGH LOW CLOSE VOLUME
Date
2019-03-01 2785.25 2808.25 2783.0 2805.0 1265597.0
In this example, the Close field values differ between the two function calls (2807 returned from get_data, 2805 returned from get_timeseries). Should these functions be returning the same data for all of these fields?
When using get_data method with these futures TR.CLOSEPRICE returns the last trade price of the day. The official close price aka the settlement price can be retrieved using the field TR.SETTLEMENTPRICE. The value returned by TR.SETTLEMENTPRICE field corresponds to the CLOSE value returned by get_timeseries method.
How to properly download expired commodity futures data
Eikon Python API: No negative values via get_data / get_timeseries
Missing dates for get_timeseries and no VWAP data for German stocks
Eikon Data API consistency across get_data and get_timeseries
How to sort an ek.get_data request by instrument and fiscal period (absolute)?