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.
0
Best Answer
-
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')
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.
>>> 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-290
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛