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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
5 0 2 2

Get historical daily prices, 5-15 minutes before close

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!

eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-dataplatform-eikonpythonpricing
icon clock
10 |1500

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

Upvotes
Accepted
13k 32 12 18

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.


icon clock
10 |1500

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

Upvotes
23k 22 9 14

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 ")

20200128.gif (9.4 KiB)
icon clock
10 |1500

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

Click below to post an Idea Post Idea