def add_syms(self,syms): self.syms += syms self.data_source.add_syms(syms) for sym in syms: self.windows[sym] = DataStructures.CircularQueue(50) self.windows_open[sym] = DataStructures.CircularQueue(10) self.holdings[sym] = 0
import sys import DataStructures crypto_symbols = ('BTC', 'ETH', 'LTC') warning_tolerance = (10000, 400, 90) tol_frac = .012 frequency = 2000 duration = 100 tol_dict = dict(zip(crypto_symbols, warning_tolerance)) sys.stdout.write("%s\n\n" % tol_dict) url_dict = dict() window_dict = dict() for sym in crypto_symbols: url_dict[sym] = 'https://api.gdax.com/products/%s-USD/ticker' % sym window_dict[sym] = DataStructures.CircularQueue(60) def main(): while True: sys.stdout.write("%s " % datetime.datetime.now()) for sym in crypto_symbols: url = url_dict[sym] # Query CoinDesk Current price API try: response = requests.get(url).json() price = round(float(response['bid']), 2) window_dict[sym].push(price) cur_mean = window_dict[sym].mean() dev_frac = (price - cur_mean) / cur_mean #if price < tol_dict[sym] or dev_frac > tol_frac or dev_frac < -tol_frac: