Пример #1
0
 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
Пример #2
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: