ENV_NAME = 'cb_Binance_3' SLEEP = 4 TRAIN = True tickcount = 0 logging.basicConfig(level=logging.INFO, handlers=[logging.FileHandler("{p}/logs/{fn}.log".format(p=PATH, fn=ENV_NAME)), logging.StreamHandler()] ) log = logging.getLogger() ## Init exchange api api = Binance(API_KEY=MY_API_KEY, API_SECRET=MY_API_SECRET) ## Init market environment market_conn = VirtualExchange(api, symbols=['ETHUSDT'], period='5m', balance=1000.0, lot_size=0.1) market = MarketEnv(market_conn) ## Environment parameters observation_shape = market.observation_space.shape nb_actions = market.action_space.n log.info('State shape = {a} | actions = {b}'.format(a=observation_shape, b=nb_actions)) ## Init ML-model for agent limit = observation_shape[1] model = cnn_model_2in((limit, 4), (limit, 4), nb_actions, 'softmax')
logging.basicConfig(level=logging.INFO, handlers=[ logging.FileHandler("{p}/{fn}.log".format( p=path, fn='bot_0.0')), logging.StreamHandler() ]) log = logging.getLogger() # labnotebook db_url = 'postgres://*****:*****@localhost/postgres' experiments, steps, model_params = labnotebook.initialize(db_url) # cripto exchange api MY_API_KEY = '---' MY_API_SECRET = '---' api = Binance(MY_API_KEY, MY_API_SECRET) # parameters symb1 = 'BTCUSDT' symb2 = 'ETHUSDT' period = '1m' arbitrage_sum = True coef = 15 h_level = 1345 l_level = 1180 nb_zones = 12 stop_size = 0.8 # of zones max_orders = 4 fees = 0.005
import matplotlib.pyplot as plt import logging from mas_tools.api import Binance from mas_tools.trade import calculate_cointegration_scores path = 'E:/Projects/market-analysis-system/mas_arbitrage/' logging.basicConfig(level=logging.INFO, handlers=[ logging.FileHandler("{p}/{fn}.log".format( p=path, fn='bot_0.0')), logging.StreamHandler() ]) log = logging.getLogger() api = Binance('', '') # 1m, 3m, 5m, 15m, 30m # 1h, 2h, 4h, 6h, 8h # 12h, 1d, 3d, 1w, 1M period = '5m' limit = 1000 base = 'BTCUSDT' pairs = [ 'ETHUSDT', 'BNBUSDT', 'BCCUSDT', 'EOSUSDT', 'ADAUSDT', 'LTCUSDT', 'NEOUSDT', 'XLMUSDT', 'XRPUSDT' ] symb1 = pd.DataFrame(api.candlesticks(symbol=base, interval=period, limit=limit),
import time import requests from threading import Thread import numpy as np import pandas as pd from mas_tools.api import Binance api = Binance('', '') symbols = ['BTCUSDT', 'ETHUSDT', 'BNBETH', 'BNBUSDT', 'BCCUSDT'] period = '1m' limit = 20 ticks = 0 save_period = 1000 path = 'E:/Projects/market-analysis-system/data/crypto/' data = dict(zip(symbols, [dict({'data':[]}) for i in symbols])) while True: try: start_time = time.time() for symbol in symbols: candles = pd.DataFrame(api.candlesticks(symbol=symbol, interval=period, limit=limit), dtype=np.float) tickers = pd.DataFrame(api.tickers(symbol=symbol, limit=limit)) trades = pd.DataFrame(api.aggr_trades(symbol=symbol, limit=limit), dtype=np.float) # data[symbol]['candles'] = np.column_stack((candles.values[:, 1:6], # o,h,l,c,v # candles.values[:, 7:11])) # qav, nt, bv, qv # data[symbol]['tickers'] = np.column_stack(([np.array([x[0:2] for x in tickers['bids'].values], dtype=np.float),
# logging path = 'E:/Projects/market-analysis-system/mas_arbitrage/' logging.basicConfig(level=logging.INFO, handlers=[logging.FileHandler("{p}/{fn}.log".format(p=path, fn='bot_0.1')), logging.StreamHandler()] ) log = logging.getLogger() # labnotebook db_url = 'postgres://*****:*****@localhost/postgres' experiments, steps, model_params = labnotebook.initialize(db_url) # cripto exchange api MY_API_KEY = '---' MY_API_SECRET = '---' api = Binance(MY_API_KEY, MY_API_SECRET) # parameters symb1 = 'BTCUSDT' symb2 = 'BCCUSDT' period = '1m' arbitrage_sum = True eps, mu, std = 0., 0., 0. limit = 1000 stop_size = 0.8 # of zones max_orders = 4 fees = 0.005 start_usd = 300 balance = {