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),
Exemple #4
0
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),
Exemple #5
0
# 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 = {