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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
31 2 4 1

Getting data with Monthly frequency, using last trading day of the month.

Hello guys,

The question I have pretty much says it all, I'm requesting data using Python API and I noticed that when I use a frequency of 'M', I get monthly data BUT is end of month, regardless if it is weekend or trading day.

Is there a way to get monthly data using the last trading day of the month?

Thanks in advance.

eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-dataplatform-eikonpython
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.

1 Answer

Upvotes
Accepted
39.2k 75 11 27

The API does not provide capability to adjust calendar end of month returned to business days. If you just want to adjust the dates to weekdays, you can easily do it using Timeseries / Date functionality available in pandas dataframe. This example adds a column to the dataframe containing dates adjusted to weekdays:

>>>  df = ek.get_timeseries('GBP=','CLOSE',interval='monthly',start_date='2015-01-01')
>>>  from pandas.tseries.offsets import *
>>>  df['Trading Day'] = df.index + Day(1) - BDay(1)
>>> df.head()
GBP=         CLOSE Trading Day
Date                          
2015-01-31  1.5066  2015-01-30
2015-02-28  1.5432  2015-02-27
2015-03-31  1.4816  2015-03-31
2015-04-30  1.5349  2015-04-30
2015-05-31  1.5288  2015-05-29
If you need the date adjustment to take into account market holidays and your focus is a single market, you can still reasonably do it with pandas. See this article for details and examples. If your universe of instruments spans multiple markets, this is where adjustment to business days gets complicated, as you need holidays calendars for all these markets and the mapping between instruments and calendars. Eikon includes a COM library named AdfinX Analytics, which among other things provides date manipulation functions including adjustment to business days based on a market calendar, which could be useful. But it also has its limitations particularly with regard to market calendars available and the mapping of instruments to calendars. This library can also only be used in 32-bit Python. Still, if you'd like to explore this, here's an article on using this COM library in Python.
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