def __init__(self, tickers, start='2014-01-01', end='2018-01-01', interval='1d', n_series=20, T_pred=10, n_cols=30, n_rows=30, T_space=10, train=True): self.folder = './' + ''.join(tickers) + '_start' + start + '_end' + end + '_int' + interval + \ '/case' + str(n_series) + '_' + str(T_pred) + '_' + str(n_cols) + '_' + str(n_rows) + '_' + str(T_space) try: self.original = np.load(self.folder + '/original.npy') if train: self.x = np.load(self.folder + '/Xtrain.npy') self.y = np.load(self.folder + '/Ytrain.npy') else: self.x = np.load(self.folder + '/Xtest.npy') self.y = np.load(self.folder + '/Ytest.npy') except: ld = LoadData(tickers, start, end, interval) try: ld.unprocessed = pd.read_csv('./' + ''.join(tickers) + '_start' + start + '_end' + end + '_int' + interval + '/UnprocessedData.csv') except: print('DOWNLOADING DATA') ld.download() print('PROCESSING DATA') ld.process(n_series, T_pred, n_cols, n_rows, T_space, plot=True) ld.cut_and_shuffle() if train: self.x = ld.Xtrain self.y = ld.Ytrain else: self.x = ld.Xtest self.y = ld.Ytest self.original = ld.original # Shape of X: (Number of datasamples, Number of tickers, Number of rows, Number of columns) # Shape of Y: (Number of datasamples, Number of tickers) self.len = self.x.shape[0]