def trade_on_weights(exchange, public_key, private_key, weights_dict, portfolio_trade_basement=0.01, min_BTC_prop=0.1, exchange_min_trade_BTC=0.001): ''' :param exchange: string :param public_key: string :param private_key: string :param weights_dict: Dictionary of weights with Currency_Ticker:0.XX pairs. :param portfolio_trade_basement: float in [0,1]. The minimum trade size in percentage points of portfolio size. :param min_BTC_prop: float in [0,1]. The minimum about of BTC to be in the portfolio. :param exchange_min_trade_BTC: float the minimum trade size of the exchange in BTC. Usually 0.001. :return: ''' api_object = instantiate_api_object(exchange, public_key, private_key) exchange_df = get_exchange_df(exchange, api_object) trade_df = plan_trades(exchange_df, weights_dict, portfolio_trade_basement=portfolio_trade_basement, min_BTC_prop=min_BTC_prop, exchange_min_trade_BTC=exchange_min_trade_BTC) trade_df = execute_trades(exchange, api_object, trade_df) return trade_df
def get_portfolio_val_BTC(exchange, public_key, private_key): ''' :param exchange: string, exchange name. Binance or Bittrex :param public_key: string :param private_key: string :return: float ''' api_object = instantiate_api_object(exchange, public_key, private_key) exchange_df = get_exchange_df(exchange, api_object) return exchange_df.amt_BTC.sum()
def instantiate_api_object(exchange, public_key, private_key): ''' :param exchange: :param public_key: :param private_key: :return api_object: ''' if exchange == 'Bittrex': from Packages.API.Bittrex_Helper.helper import instantiate_api_object elif exchange == 'Binance': from Packages.API.Binance_helper.helper import instantiate_api_object return instantiate_api_object(public_key, private_key)