I would like to obtain daily historical prices, but n minutes before market close (where n is a user-definedd parameter). Would that be possible?
It would be greatly appreciated if I could obtain something similar for prices after market open.
Thank you!
I don't think Eikon provides this data. You can get historical timeseries for the official Close price.
Other products like Datascope Tick History might be better suited for your query. There, you will be able to download all market activity and pick the datapoint at the time of interest.
I totally agree with Gurpreet that Tick History product and REST API are better suited for this requirement.
If you only have Eikon and are limited to using Eikon Data API, you may be able to get away with the following hardly graceful approach:
ricList = ['IBM.N','T.N','B.N'] ek.get_timeseries(ricList, start_date = "2020-01-27T16:15:00", end_date = "2020-01-27T16:25:00", interval="tick",count=1)
instruments on the list IBM.N, T.N and B.N are NYSE, with market close at 4:30 = 16:30, so we literally ask for a single data point 5-15 min prior to market close.
And in order to get it as daily, you may loop through the dates:
from datetime import datetime from dateutil.rrule import rrule, DAILY l = list(rrule(DAILY, dtstart=datetime(2020, 1, 2), until=datetime(2020,1,27))) ricList = ['IBM.N','T.N','B.N'] for i in l: point_start_date = i.strftime("%Y/%m/%d") + "T16:15:00" point_end_date = i.strftime("%Y/%m/%d") + "T16:25:00" print(point_start_date, '-',point_end_date) try : dat = ek.get_timeseries(ricList, start_date = point_start_date, end_date = point_end_date, interval="tick",count=1) print(dat) except : print("Not trading ")