To create timeseries in 30 minute interval you'd need to retrieve 1 minute bars and summarize them into 30 minute bars.
Hi,
If you wonder if get_timeseries function accepts other interval type than 'tick', 'daily', ... , the response is no.
thanks a lot!
Thanks ,after i get data via
df1=ek.get_timeseries(s1,fields=["Open","High","Low","Close","Volume"], start_date = "2017-11-13T01:00:00",end_date = "2017-11-13T07:04:05",interval='minute')
Do u have any high effect ways to handle this data into 5mins bar?
I hope there got 5mins, 30mins,hour.....
This a simple example to extract a 30 minute interval timeseries from a minute interval result:
import eikon as ekfrom datetime import timedeltainterval = 30def ohlcsum(df): return [df['OPEN'][0],df['HIGH'].max(),df['LOW'].min(), df['CLOSE'][-1],int(df['VOLUME'].sum())]data_1min = ek.get_timeseries('PEUP.PA', interval='minute')timestamps=[]result=[]start_slice = data_1min.index[0]while True: end_slice = start_slice + timedelta(minutes=interval-1) interval_slice = data_1min.loc[start_slice : end_slice] try: data = ohlcsum(interval_slice) except IndexError: break timestamps.append(interval_slice.index[-1]) result.append(data) start_slice = start_slice + timedelta(minutes=interval) if start_slice > data_1min.index[-1]: breaklabels = ['OPEN','HIGH','LOW','CLOSE','VOLUME']data_new_interval = pd.DataFrame.from_records(result, index=timestamps, columns=labels)
I don't think u got the right data for 5 min
for every 5 min data, it should be calculated by the following function
def ohlcsum(df): df = df.sort() return { 'Open': df['Open'][0], 'High': df['High'].max(), 'Low': df['Low'].min(), 'Close': df['Close'][-1], 'Volume': df['Volume'].sum() }