def start(self): try: market = execution1_config_map.get("market").value.lower() asset_symbol = execution1_config_map.get("asset_symbol").value try: symbol_pair = EXAMPLE_PAIRS.get(market) assets: Tuple[str, str] = self._initialize_market_assets( market, [symbol_pair])[0] except ValueError as e: self._notify(str(e)) return market_names: List[Tuple[str, List[str]]] = [(market, [symbol_pair])] self._initialize_wallet(token_symbols=list(set(assets))) self._initialize_markets(market_names) self.assets = set(assets) maker_data = [self.markets[market], symbol_pair] + list(assets) self.market_symbol_pairs = [MarketSymbolPair(*maker_data)] strategy_logging_options = Execution1Strategy.OPTION_LOG_ALL self.strategy = Execution1Strategy( market_infos=[MarketSymbolPair(*maker_data)], asset_symbol=asset_symbol, logging_options=strategy_logging_options) except Exception as e: self._notify(str(e)) self.logger().error("Unknown error during initialization.", exc_info=True)
def maker_symbol_prompt(): maker_market = cross_exchange_market_making_config_map.get("maker_market").value example = EXAMPLE_PAIRS.get(maker_market) return "Enter the token symbol you would like to trade on %s%s >>> " % ( maker_market, f" (e.g. {example})" if example else "", )
def taker_trading_pair_prompt(): taker_market = cross_exchange_market_making_config_map.get("taker_market").value example = EXAMPLE_PAIRS.get(taker_market) return "Enter the token trading pair you would like to trade on taker market: %s%s >>> " % ( taker_market, f" (e.g. {example})" if example else "", )
def third_trading_pair_prompt(): maker_market = triangular_arbitrage_config_map.get("market").value example = EXAMPLE_PAIRS.get(maker_market) return "Enter third token trading pair: %s%s >>> " % ( maker_market, f" (e.g. {example})" if example else "", )
def symbol_prompt(): market = dev_5_vwap_config_map.get("market").value example = EXAMPLE_PAIRS.get(market) return "Enter the token symbol you would like to trade on %s%s >>> " \ % (market, f" (e.g. {example})" if example else "")
def market_trading_pair_prompt() -> str: exchange = celo_arb_config_map.get("secondary_exchange").value example = EXAMPLE_PAIRS.get(exchange) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (exchange, f" (e.g. {example})" if example else "")
def trading_pair_prompt(): exchange = dev_4_twap_config_map.get("exchange").value example = EXAMPLE_PAIRS.get(exchange) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (exchange, f" (e.g. {example})" if example else "")
def symbol_prompt(): market = execution2_config_map.get("market").value example = EXAMPLE_PAIRS.get(market) return "Enter the token symbol to fetch its order book on %s%s >>> " \ % (market, f" (e.g. {example})" if example else "")
def maker_trading_pair_prompt(): maker_market = pure_market_making_config_map.get("maker_market").value example = EXAMPLE_PAIRS.get(maker_market) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (maker_market, f" (e.g. {example})" if example else "")
def maker_trading_pair_prompt(): derivative = perpetual_market_making_config_map.get("derivative").value example = EXAMPLE_PAIRS.get(derivative) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (derivative, f" (e.g. {example})" if example else "")
def discovery_symbol_list_prompt(market_name): return "Enter list of token symbol on %s (e.g. ['%s'] or press ENTER for all symbols.) >>> " \ % (market_name, EXAMPLE_PAIRS.get(market_name, ""))
def primary_symbol_prompt(): primary_market = arbitrage_config_map.get("primary_market").value example = EXAMPLE_PAIRS.get(primary_market) return "Enter the token symbol you would like to trade on %s%s >>> " \ % (primary_market, f" (e.g. {example})" if example else "")
def derivative_market_prompt() -> str: connector = spot_perpetual_arbitrage_config_map.get( "derivative_connector").value example = EXAMPLE_PAIRS.get(connector) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (connector, f" (e.g. {example})" if example else "")
def trading_pair_prompt(): market = dev_1_get_order_book_config_map.get("market").value example = EXAMPLE_PAIRS.get(market) return "Enter the token trading pair to fetch its order book on %s%s >>> " \ % (market, f" (e.g. {example})" if example else "")
def market_prompt() -> str: connector = "uniswap_v3" example = EXAMPLE_PAIRS.get(connector) return "Enter the pair you would like to provide liquidity to {}>>> ".format( f" (e.g. {example}) " if example else "")
def maker_trading_pair_prompt(): exchange = avellaneda_market_making_config_map.get("exchange").value example = EXAMPLE_PAIRS.get(exchange) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (exchange, f" (e.g. {example})" if example else "")
def discovery_symbol_list_prompt(market_name): return "Enter list of trading pairs or token names on %s (e.g. [%s] or press ENTER for all symbols) >>> " % ( market_name, EXAMPLE_PAIRS.get(market_name, ""), )
def market_2_prompt() -> str: connector = amm_arb_config_map.get("connector_2").value example = EXAMPLE_PAIRS.get(connector) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (connector, f" (e.g. {example})" if example else "")
def secondary_trading_pair_prompt(): secondary_market = arbitrage_config_map.get("secondary_market").value example = EXAMPLE_PAIRS.get(secondary_market) return "Enter the token trading pair you would like to trade on %s%s >>> " \ % (secondary_market, f" (e.g. {example})" if example else "")