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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
5 3 2 7

How can I repeat the data for last trading day

I have a need where I am select the price data for last 2 days. The issue is that when the previous day is a non-business day, it generates a dataframe with just one row instead of 2 rows when the previous day is a business day.

eikon.get_timeseries('PRCM.NS', start_date=datetime.datetime(2016,8,21),end_date=datetime.datetime(2016,8,22), fields='CLOSE', ,calendar='calenderdays')

When I submit this request I get


PRCM.NS     CLOSE
Date             
2016-08-22  145.0

I want it to show 
PRCM.NS     CLOSE
Date
2016-08-21  146.1 (which is the data for last business day)             
2016-08-22  145.0

The actual data is 

PRCM.NS     CLOSE
Date             
2016-08-19  146.1
2016-08-22  145.0


So basically, in case the first day is a non-business day, I want the data from the last business day to be used.
How can I do it ?
eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-dataplatform-eikonpythontime-series
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.

Upvote
Accepted
3.8k 4 4 6

Hi @abanerj1

You can try with:

df, err = ek.get_data(['GRUH.NS'], ['TR.CLOSEPRICE.date','TR.CLOSEPRICE(Adjusted=0)'], {'SDate': '2016-08-21', 'EDate': '2016-08-22', 'Frq':'C', 'FILL':'PREVIOUS' }) df 
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
4.6k 26 7 22

@abanerj1 Eikon API does not provide you with this functionality, use pandas:

from pandas.tseries.offsets import BDay
end_date = datetime.datetime(2016,8,22) - BDay(1)


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.

@abanerj1

You can also do it using data cloud fields with TR. prefix like below, setting up frequency to C which is calendar days:

df, err = ek.get_data(['PRCM.NS'], 
                      ['TR.PriceClose.date','TR.PriceClose'],
                      {'SDate': '2016-08-21', 'EDate': '2016-08-22', 'Frq':'C' })
df

adc.jpg (17.6 KiB)
Upvotes
5 3 2 7

When I try with the following - given I want to use unadjusted price

eikon.get_data(['GRUH.NS'],['TR.OFFICIALCLOSEPRICE.date','TR.OFFICIALCLOSEPRICE'],{'SDate': '2016-08-21', 'EDate': '2016-08-22', 'Frq': 'C', 'Adjusted': '0'})

It does not work

I get

( Instrument Date Official Close Price

0 GRUH.NS 2016-08-21T00:00:00Z NaN

1 GRUH.NS 2016-08-22T00:00:00Z 310.85, None)

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
5 3 2 7

I somehow need to get Freq C and Unadjusted price working together. Is that possible ?

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
5 3 2 7

Thanks !

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