def split_into_intervals(data, n):
"""
Split time series into n minute intervals
"""
# Throw away time, bid/ask numbers
prices = [x[1] for x in data]
# create a len n-1 array of price differences (10 second increments)
price_diffs = np.diff(prices)
# m = interval length in terms of data points (6*~10sec = 1 minute)
m = n * 6
# each datapoint we're trying to cluster will be of the form:
# (xi,yi) = (time series of prices, price change after series)
intervals = np.zeros((len(prices)-1,m+1))
for i in range(0, len(prices)-m-1):
intervals[i,0:m] = prices[i:i+m]
intervals[i,m] = price_diffs[i+m]
return intervals
评论列表
文章目录