跳至内容

套利执行器

套利执行器(ArbitrageExecutor): 专用于控制两个市场之间的盈利能力,例如中心化交易所(CEX)与去中心化交易所(DEX)之间,旨在优化套利机会。

ArbitrageExecutor 类是 Hummingbot 中的一个专用组件,通过在两个不同市场同时执行买入和卖出订单,自动化捕捉不同市场或交易所之间的价格差异,以实现套利盈利。

  • 高效性:自动识别并执行套利机会,简化复杂流程。
  • 速度:同时执行买入和卖出订单,抓住转瞬即逝的套利机会。
  • 风险管理:计算交易成本,确保扣除手续费后仍能盈利。
  • 灵活性:可针对不同市场和交易所配置多种套利策略。

工作流程

初始化时,ArbitrageExecutor 会执行以下操作:

  1. 验证:确保所提议的套利有效,且交易对可互换。
  2. 订单跟踪:维护代表买入和卖出订单的 TrackedOrder 实例,以监控其状态。
  3. 盈利计算:评估潜在利润,在计入交易成本后,若利润超过最低阈值则执行交易。

示例脚本

以下我们展示来自 使用智能组件进行套利 脚本的代码片段,该脚本提供了如何使用 ArbitrageExecutor 的示例。

你可以定义两个用于套利的市场、订单金额以及套利盈利阈值。

class ArbitrageWithSmartComponent(ScriptStrategyBase):
    # Parameters
    exchange_pair_1 = ExchangePair(exchange="binance", trading_pair="MATIC-USDT")
    exchange_pair_2 = ExchangePair(exchange="uniswap_polygon_mainnet", trading_pair="WMATIC-USDT")
    order_amount = Decimal("50")  # in base asset
    min_profitability = Decimal("0.004")

create_arbitrage_executor 方法负责创建新的 ArbitrageExecutor。首先,它会检查买入和卖出交易所的可用余额,以确保有足够的资金执行套利。如果满足条件,则根据上述设置创建 ArbitrageExecutor 实例。

def create_arbitrage_executor(self, buying_exchange_pair: ExchangePair, selling_exchange_pair: ExchangePair):
    ...
    arbitrage_config = ArbitrageConfig(
        buying_market=buying_exchange_pair,
        selling_market=selling_exchange_pair,
        order_amount=self.order_amount,
        min_profitability=self.min_profitability,
    )