Hello,
What is the formula to get the hourly time series with API in Python ?
Thanks a lot.
For a deeper look into our Eikon Data API, look into:
Overview | Quickstart | Documentation | Downloads | Tutorials | Articles
Hello,
What is the formula to get the hourly time series with API in Python ?
Thanks a lot.
Hi,
You just have to specify the interval as below:
req = ek.get_timeseries(["MSFT.O"], interval="hour")
Possible values: 'tick', 'minute', 'hour', 'daily', 'weekly', 'monthly', 'quarterly', 'yearly' (Default 'daily')
Thanks for your answer.
It works very well, now can you please tell me how to decide the time zone ? it seems that all is using GMT timezone...
Hi @emmanuel.chaslin, Please see this answer on how to specify the timezone in your timeseries call.
Essentially you can specify the timezone in the start and end periods. The returned data is always in UTC.
Thanks Gurpeet,
However I dont see how to adapt my script to get the output (df) in my local time zone:
year=2019
print(year)
first_date = datetime(year,1,1)
last_date = datetime.today() + timedelta(days =1)
df =pd.DataFrame(ek.get_timeseries(ric, start_date=first_date,end_date = last_date,interval="hour"))
Thanks in advance.
Hi
last_date is incorrect because datetime.today() + timedelta(days =1) is in the future
I suppose you want to get timeseries from 1st of January, 2019. If I'm right, you don't have to set end_date (because default end_date is today())
This should help you:
import eikon as ek from datetime import datetime from dateutil.tz import tzlocal year=2019 print(year) first_date = datetime(year,1,1, tzinfo=tzlocal()) df =ek.get_timeseries("AAPL.O", start_date=first_date, interval="hour") print(df) HIGH LOW OPEN CLOSE COUNT VOLUME Date 2019-09-09 09:00:00 53.4500 53.2725 53.425000 53.4025 40 9948 2019-09-09 10:00:00 53.5175 53.4050 53.417500 53.4200 33 3328 2019-09-09 11:00:00 53.5750 53.4375 53.500000 53.5325 39 12700 2019-09-09 12:00:00 53.6400 53.5000 53.502500 53.5850 336 171268 2019-09-09 13:00:00 53.6900 53.5000 53.549925 53.6500 547 314024 ... ... ... ... ... ... ... 2020-09-04 20:00:00 127.9900 116.6476 121.480000 120.9000 392570 42388645 2020-09-04 21:00:00 453.2631 117.8411 120.905000 120.1000 17844 16822104 2020-09-04 22:00:00 129.1490 119.6200 120.100000 120.1500 8557 1934439 2020-09-04 23:00:00 120.2500 119.7700 120.150000 119.8200 2101 165211 2020-09-05 00:00:00 120.0600 119.3500 119.830000 120.0000 2630 209387 [4026 rows x 6 columns]
(ek.get_timeseries() already returns a DataFrame)
According to the interval, size of timeseries is limited. In this example, hourly timeseries starts from 2019-09-09.
And you can see that current range of date is too large because timeseries stops on 2020-09-05.
You'll have to reduce the range of date or update the interval to get a result that correspond to [start_date, end_date]
When asking a new question, please always start a new thread. Old threads with accepted answers are not monitored by forum moderators. If you need to reference an old thread, include the link to the thread in your post.
To answer your question, you can specify time in the datetime value passed to start_date kwarg of ek.get_timeseries method, e.g.
start_date = datetime(2021,5,20,7,0, tzinfo=tzlocal()) df =ek.get_timeseries("AAPL.O", start_date=start_date, interval="hour")
If you have any further questions, please post them on a new thread.