Python API return different results from Excel

I want to get the fair value for NYMEX futures. This is the code in Python:

df = ek.get_timeseries(['NGFVc1', 'NGFVc2', 'NGFVc3'], fields='CLOSE',
start_date='2019-05-01', end_date='2019-05-14',
interval='hour')

What I found was that it contains some major discrepancy with Excel:

=RHistory("NGFVc1;NGFVc2;NGFVc3",".Timestamp;.Close","START:01-May-2019 END:13-MAY-2019 INTERVAL:60M",,"TSREPEAT:NO SORT:ASC CH:IN;Fd",A2)

I searched and found some similar issues on this forum in 2017 and 2018. Was the issue fixed?

Best Answer

  • Alex Putkov.1
    Answer ✓

    I'm not sure which threads on the forum you refer to. And I don't see any discrepancy in data returned between get_timeseries method and RHistory worksheet function. The only discrepancy I see is in the timezone. Eikon Data APIs interpret time values in input parameters as time values in GMT and return timestamps in GMT. RHistory by default uses timezone defined in Windows Date & Time settings. Add "TIMEZONE:GMT" to the Request argument of RHistory function and you'll see it returning the exact same result as get_timeseries method.

    =RHistory("NGFVc1;NGFVc2;NGFVc3",".Timestamp;.Close","START:01-May-2019 END:13-MAY-2019 INTERVAL:60M TIMEZONE:GMT",,"TSREPEAT:NO SORT:ASC CH:IN;Fd",A2)

Answers

  • Thanks for the help Alex. The timestamps come out as naive datetimes so I thought it was in local timezone already.