def receive_executions(self, pubnub, message): executions = self.executions2df(message) if executions.shape[0] < 10: return print("History loaded. start trading") df = Backtest.resample_candle(executions, exchange="bitflyer", freq="%sN" % self.candle_nsec) df = pd.concat([self.df, df]) df = df.drop_duplicates(subset='start', keep='first') self.df = df.iloc[:-1, :] self.backtest.action(self.df, self.strategy, self.params[self.strategy], self.step_action)
def get_hisotry(self): candleSize = self.params[self.strategy]["candleSize"] historySize = self.params[self.strategy]["historySize"] self.candle_nsec = int(candleSize*6*10e9) # minute end nanosecond minutes = int(candleSize * historySize*10) from_date = datetime.datetime.today() - datetime.timedelta(minutes=minutes) trade = self.exchange.get_trade(from_date) candle = Backtest.resample_candle(trade, exchange="bitflyer", freq="%sN" % self.candle_nsec) candle.to_csv("data/realtime_bitflyer_%s_candle.csv" % self.pair, index=None) for col in "open,high,low,close,vwp,volume".split(","): candle[col] = candle[col].astype(np.float64) candle = candle.drop(candle.index[-1]) self.df = candle self.size = self.df.shape[0] self.indsize = len(self.indicators) self.col = {x: self.df.columns.tolist().index(x) for x in ["open", "high", "low", "close", "vwp", "volume", "start"]} self.candles = self.df.values return self.df