Exemplo n.º 1
0
    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
Exemplo n.º 3
0
 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")
Exemplo n.º 4
0
 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")
Exemplo n.º 9
0
    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
Exemplo n.º 10
0
 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")
Exemplo n.º 13
0
    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")