def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase()} self.assets = set() self.notifications = [] self.log_errors = [] assign_config_default(strategy_cmap) strategy_cmap.get("exchange").value = "binance" strategy_cmap.get("markets").value = "BTC-USDT,ETH-USDT" strategy_cmap.get("token").value = "USDT" strategy_cmap.get("order_amount").value = Decimal("1") strategy_cmap.get("spread").value = Decimal("2") strategy_cmap.get("inventory_skew_enabled").value = False strategy_cmap.get("target_base_pct").value = Decimal("50") strategy_cmap.get("order_refresh_time").value = 60. strategy_cmap.get("order_refresh_tolerance_pct").value = Decimal("1.5") strategy_cmap.get("inventory_range_multiplier").value = Decimal("2") strategy_cmap.get("volatility_interval").value = 30 strategy_cmap.get("avg_volatility_period").value = 5 strategy_cmap.get("volatility_to_spread_multiplier").value = Decimal( "1.1") strategy_cmap.get("max_spread").value = Decimal("4") strategy_cmap.get("max_order_age").value = 300.
def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase()} self.assets = set() self.notifications = [] self.log_errors = [] assign_config_default(strategy_cmap) strategy_cmap.get("exchange").value = "binance" strategy_cmap.get("market").value = "balancer" strategy_cmap.get("order_amount").value = Decimal("1") strategy_cmap.get("order_refresh_time").value = 60. strategy_cmap.get("hanging_orders_enabled").value = True strategy_cmap.get("hanging_orders_cancel_pct").value = Decimal("1") # strategy_cmap.get("hanging_orders_aggregation_type").value = "VOLUME_WEIGHTED" strategy_cmap.get("parameters_based_on_spread").value = True strategy_cmap.get("min_spread").value = Decimal("2") strategy_cmap.get("max_spread").value = Decimal("3") strategy_cmap.get("vol_to_spread_multiplier").value = Decimal("1.1") strategy_cmap.get("volatility_sensibility").value = Decimal("2.2") strategy_cmap.get("inventory_risk_aversion").value = Decimal("0.1") strategy_cmap.get("risk_factor").value = Decimal("1.11") strategy_cmap.get("order_book_depth_factor").value = Decimal("2.22") strategy_cmap.get("order_amount_shape_factor").value = Decimal("3.33") self.raise_exception_for_market_initialization = False
def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase()} self.notifications = [] self.log_errors = [] assign_config_default(strategy_cmap) strategy_cmap.get("secondary_exchange").value = "binance" strategy_cmap.get("secondary_market").value = "CELO-USDT" strategy_cmap.get("order_amount").value = Decimal("1") strategy_cmap.get("min_profitability").value = Decimal("2") strategy_cmap.get("celo_slippage_buffer").value = Decimal("3")
def setUp(self) -> None: super().setUp() self.strategy: AmmArbStrategy = None self.markets = {"binance": None, "balancer": None} self.notifications = [] self.log_errors = [] assign_config_default(amm_arb_config_map) amm_arb_config_map.get("strategy").value = "amm_arb" amm_arb_config_map.get("connector_1").value = "binance" amm_arb_config_map.get("market_1").value = "ETH-USDT" amm_arb_config_map.get("connector_2").value = "balancer" amm_arb_config_map.get("market_2").value = "ETH-USDT" amm_arb_config_map.get("order_amount").value = Decimal("1") amm_arb_config_map.get("min_profitability").value = Decimal("10")
def setUp(self) -> None: super().setUp() self.strategy: UniswapV3LpStrategy = None self.markets = {"uniswapLP": None} self.notifications = [] self.log_errors = [] assign_config_default(uniswap_v3_lp_config_map) uniswap_v3_lp_config_map.get("strategy").value = "uniswap_v3_lp" uniswap_v3_lp_config_map.get("connector").value = "uniswapLP" uniswap_v3_lp_config_map.get("market").value = "ETH-USDT" uniswap_v3_lp_config_map.get("fee_tier").value = "LOW" uniswap_v3_lp_config_map.get("price_spread").value = Decimal("1") uniswap_v3_lp_config_map.get("amount").value = Decimal("1") uniswap_v3_lp_config_map.get("min_profitability").value = Decimal("10")
def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase(), "kucoin": ExchangeBase()} self.notifications = [] self.log_errors = [] assign_config_default(strategy_cmap) strategy_cmap.get("maker_market").value = "binance" strategy_cmap.get("taker_market").value = "kucoin" strategy_cmap.get("maker_market_trading_pair").value = "ETH-USDT" strategy_cmap.get("taker_market_trading_pair").value = "ETH-USDT" strategy_cmap.get("order_amount").value = Decimal("1") strategy_cmap.get("min_profitability").value = Decimal("2") global_config_map.get("strategy_report_interval").value = 60. strategy_cmap.get("use_oracle_conversion_rate").value = False
def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase()} self.notifications = [] self.log_errors = [] assign_config_default(c_map) c_map.get("derivative").value = "binance" c_map.get("market").value = "ETH-USDT" c_map.get("leverage").value = Decimal("5") c_map.get("order_amount").value = Decimal("1") c_map.get("order_refresh_time").value = 60. c_map.get("bid_spread").value = Decimal("1") c_map.get("ask_spread").value = Decimal("2")
def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase(), "kucoin": MockPerpConnector()} self.notifications = [] self.log_errors = [] assign_config_default(strategy_cmap) strategy_cmap.get("spot_connector").value = "binance" strategy_cmap.get("spot_market").value = "BTC-USDT" strategy_cmap.get("perpetual_connector").value = "kucoin" strategy_cmap.get("perpetual_market").value = "BTC-USDT" strategy_cmap.get("order_amount").value = Decimal("1") strategy_cmap.get("perpetual_leverage").value = Decimal("2") strategy_cmap.get("min_opening_arbitrage_pct").value = Decimal("10") strategy_cmap.get("min_closing_arbitrage_pct").value = Decimal("1")
def setUp(self) -> None: super().setUp() self.strategy = None self.client_config_map = ClientConfigAdapter(ClientConfigMap()) self.markets = {"binance": ExchangeBase(client_config_map=self.client_config_map)} self.notifications = [] self.log_errors = [] assign_config_default(c_map) c_map.get("exchange").value = "binance" c_map.get("market").value = "ETH-USDT" c_map.get("order_amount").value = Decimal("1") c_map.get("order_refresh_time").value = 60. c_map.get("max_order_age").value = 300. c_map.get("bid_spread").value = Decimal("1") c_map.get("ask_spread").value = Decimal("2") c_map.get("minimum_spread").value = Decimal("0.5") c_map.get("price_ceiling").value = Decimal("100") c_map.get("price_floor").value = Decimal("50") c_map.get("ping_pong_enabled").value = False c_map.get("order_levels").value = 2 c_map.get("order_level_amount").value = Decimal("0.5") c_map.get("order_level_spread").value = Decimal("0.2") c_map.get("inventory_skew_enabled").value = True c_map.get("inventory_target_base_pct").value = Decimal("50") c_map.get("inventory_range_multiplier").value = Decimal("2") c_map.get("filled_order_delay").value = 45. c_map.get("hanging_orders_enabled").value = True c_map.get("hanging_orders_cancel_pct").value = Decimal("6") c_map.get("order_optimization_enabled").value = False c_map.get("ask_order_optimization_depth").value = Decimal("0.01") c_map.get("bid_order_optimization_depth").value = Decimal("0.02") c_map.get("add_transaction_costs").value = False c_map.get("price_source").value = "external_market" c_map.get("price_type").value = "best_bid" c_map.get("price_source_exchange").value = "ascend_ex" c_map.get("price_source_market").value = "ETH-DAI" c_map.get("price_source_custom_api").value = "localhost.test" c_map.get("order_refresh_tolerance_pct").value = Decimal("2") c_map.get("order_override").value = None c_map.get("split_order_levels_enabled").value = True c_map.get("bid_order_level_spreads").value = "1,2" c_map.get("ask_order_level_spreads").value = "1,2" c_map.get("bid_order_level_amounts").value = "1,2" c_map.get("ask_order_level_amounts").value = None
def setUp(self) -> None: super().setUp() self.strategy: ArbitrageStrategy = None self.markets = { "binance": ConnectorBase(), "balancer": ConnectorBase() } self.notifications = [] self.log_errors = [] assign_config_default(arbitrage_config_map) arbitrage_config_map.get("primary_market").value = "binance" arbitrage_config_map.get("secondary_market").value = "balancer" arbitrage_config_map.get( "primary_market_trading_pair").value = "ETH-USDT" arbitrage_config_map.get( "secondary_market_trading_pair").value = "ETH-USDT" arbitrage_config_map.get("min_profitability").value = Decimal("10") arbitrage_config_map.get("use_oracle_conversion_rate").value = False
def setUp(self) -> None: super().setUp() self.strategy = None self.markets = {"binance": ExchangeBase()} self.notifications = [] self.log_errors = [] assign_config_default(strategy_cmap) strategy_cmap.get("exchange").value = "binance" strategy_cmap.get("market").value = "balancer" strategy_cmap.get("execution_timeframe").value = "from_date_to_date" strategy_cmap.get("start_time").value = "2021-11-18 15:00:00" strategy_cmap.get("end_time").value = "2021-11-18 16:00:00" strategy_cmap.get("order_amount").value = Decimal("1") strategy_cmap.get("order_refresh_time").value = 60. strategy_cmap.get("hanging_orders_enabled").value = True strategy_cmap.get("hanging_orders_cancel_pct").value = Decimal("1") # strategy_cmap.get("hanging_orders_aggregation_type").value = "VOLUME_WEIGHTED" strategy_cmap.get("min_spread").value = Decimal("2") strategy_cmap.get("risk_factor").value = Decimal("1.11") strategy_cmap.get("order_levels").value = Decimal("4") strategy_cmap.get("level_distances").value = Decimal("1") strategy_cmap.get("order_amount_shape_factor").value = Decimal("3.33") self.raise_exception_for_market_initialization = False
def setUp(self) -> None: super().setUp() self.strategy = None self.client_config_map = ClientConfigAdapter(ClientConfigMap()) self.markets = { "binance": ExchangeBase(client_config_map=self.client_config_map) } self.notifications = [] self.log_errors = [] assign_config_default(c_map) c_map.get("exchange").value = "binance" c_map.get("market").value = "ETH-USDT" c_map.get("n_levels").value = 10 c_map.get("grid_price_ceiling").value = Decimal("5000") c_map.get("grid_price_floor").value = Decimal("2000") c_map.get("start_order_spread").value = Decimal("1") c_map.get("order_refresh_time").value = 60. c_map.get("max_order_age").value = 300. c_map.get("order_refresh_tolerance_pct").value = Decimal("2") c_map.get("order_amount").value = Decimal("1") c_map.get("order_optimization_enabled").value = False c_map.get("ask_order_optimization_depth").value = Decimal("0.01") c_map.get("bid_order_optimization_depth").value = Decimal("0.02")
def test_token_validation(self): assign_config_default(strategy_cmap) # Correct tokens strategy_cmap.get("markets").value = "BTC-USDT" self.assertEqual( liquidity_mining_config_map_module.token_validate("BTC"), None) self.assertEqual( liquidity_mining_config_map_module.token_validate("btc"), None) strategy_cmap.get("markets").value = "BTC-USDT,ETH-USDT" self.assertEqual( liquidity_mining_config_map_module.token_validate("BTC"), None) self.assertEqual( liquidity_mining_config_map_module.token_validate("btc"), None) strategy_cmap.get("markets").value = "BTC-USDT, ETH-USDT" self.assertEqual( liquidity_mining_config_map_module.token_validate("BTC"), None) self.assertEqual( liquidity_mining_config_map_module.token_validate("btc"), None) strategy_cmap.get("markets").value = "BTC-USDT , ETH-USDT" self.assertEqual( liquidity_mining_config_map_module.token_validate("BTC"), None) self.assertEqual( liquidity_mining_config_map_module.token_validate("btc"), None) strategy_cmap.get("markets").value = "btc-usdt" self.assertEqual( liquidity_mining_config_map_module.token_validate("BTC"), None) self.assertEqual( liquidity_mining_config_map_module.token_validate("btc"), None) strategy_cmap.get("markets").value = "BTC-usdt" self.assertEqual( liquidity_mining_config_map_module.token_validate("BTC"), None) self.assertEqual( liquidity_mining_config_map_module.token_validate("btc"), None) strategy_cmap.get("markets").value = "btc-USDT" self.assertEqual( liquidity_mining_config_map_module.token_validate("BTC"), None) self.assertEqual( liquidity_mining_config_map_module.token_validate("btc"), None) # Incorrect tokens strategy_cmap.get("markets").value = "BTC-USDT" self.assertEqual( liquidity_mining_config_map_module.token_validate("ETH"), "Invalid token. ETH is not one of BTC,USDT") self.assertEqual( liquidity_mining_config_map_module.token_validate("eth"), "Invalid token. ETH is not one of BTC,USDT") strategy_cmap.get("markets").value = "btc-usdt" self.assertEqual( liquidity_mining_config_map_module.token_validate("ETH"), "Invalid token. ETH is not one of BTC,USDT") self.assertEqual( liquidity_mining_config_map_module.token_validate("eth"), "Invalid token. ETH is not one of BTC,USDT")