Upgrade from Eikon -> Workspace. Learn about programming differences.

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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
5 3 4 3

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-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-apipricing
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
21.4k 56 14 20

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 512.0 KiB each and 1.0 MiB total.

Upvotes
32.2k 40 11 19

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 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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