跳转至内容

库存倾斜

更新于 v0.29.0

此功能允许您在基础资产和报价资产之间设置和维持目标库存分配。它可以防止您的整体库存水平变化过大,并可能在波动市场中带来更稳定的表现。

inventory_skew_enabled

允许用户在基础资产和报价资产之间设置和维持目标库存分配。

** 提示:**

Would you like to enable inventory skew? (Yes/No)
>>> Yes

inventory_target_base_pct

基础资产的目标持有量,以基础资产和报价资产总价值的百分比表示。

** 提示:**

On [exchange], you have [base_asset_balance] and [quote_asset_balance]. By market value, your current inventory split is [base_%_ratio] and [quote_%_ratio]. Would you like to keep this ratio?
>>> Yes

inventory_range_multiplier

这将围绕您的目标基础百分比扩展可容忍的库存水平范围,作为总订单大小的倍数。较大的值会扩展此范围。

** 提示:**

What is your tolerable range of inventory around the target, expressed in multiples of your total order size?
>>>

工作原理

此功能调整买入和卖出订单金额,以限制用户在定义范围内的交易风险敞口。当市场持续只击中一侧的限价订单时,这可以防止用户过度暴露于交易单边的风险。

注意

示例: 您正在为 BTC-USDT 交易对做市,持有 0.667 BTC 和 6000 USDT。在 BTC 价格为 6000 美元时,您的总投资组合价值为 10,000 美元,基础资产 (BTC) 占总价值的 40%。如果您的目标基础百分比为 50%,您的买入订单将增加,卖出订单将减少,直到达到目标百分比。

用户指定目标基础资产百分比。由于用户的未成交订单如果被成交可能会改变此分配,因此使用总订单大小来定义围绕此目标百分比的可允许范围。用户可以通过乘数参数扩展或收缩此范围。

注意

示例: 您正在为 BTC-USDT 交易对做市,BTC/USDT 库存的总价值为 10 BTC。您的目标基础百分比为 50%,您下达的每组订单为 1 BTC(占投资组合总值的 10%)。当 inventory_range_multiplier 为 1.00 时,您的目标范围为 40% 至 60%。当 inventory_range_multiplier 为 2.00 时,您的目标范围为 30% 至 70%。

如果用户的基础资产价值超过上限,则不会发出买入订单。相反,如果用户的基础资产价值低于下限,则不会发出卖出订单。

示例配置

以下三个机器人均共享此基础配置:

- market: BTC-USDT
- bid_spread: 1
- ask_spread: 1
- order_amount: 0.002
- order_levels: 3
- order_level_amount: 0.002
- order_level_spread: 1

无库存倾斜

- inventory_skew_enabled: False

inventory skew

无库存倾斜时,买入订单(以绿色显示)和卖出订单(以红色显示)的订单金额始终是对称的。

库存倾斜,乘数 = 1

- inventory_skew_enabled: True
- inventory_target_base_pct: 50
- inventory_range_multiplier: 1.0

inventory skew

由于当前每种资产的库存范围在目标范围内(8.7% - 91.3%),买入和卖出订单都会被下达。然而,会创建更多买入订单,且订单金额大于卖出订单金额。

库存倾斜,乘数 = 0.5

- inventory_skew_enabled: True
- inventory_target_base_pct: 50
- inventory_range_multiplier: 0.5

inventory skew

通过将范围乘数减少到 0.5,目标范围变窄(29.4% 到 70.6%)。由于当前库存百分比(25.0% 和 75%)超出了范围,仅会下达买入订单,直到库存分配在范围内。

带余额限制的库存倾斜

从版本 0.30.0 开始,可以对总余额施加 限制,以分配机器人可在交易所或钱包中访问的金额。在库存倾斜的情况下,Hummingbot 将根据可允许的资产维持目标余额。

- inventory_skew_enabled: True
- inventory_target_base_pct: 50
- inventory_range_multiplier: 1.0

无余额限制

下图显示我们的总余额约为 200 美元。为了基于inventory_target_base_pct维持 50-50 的比率,目标显示基础资产和报价资产的值约为 100 美元。

inventory skew

有余额限制

binance:
      Asset       Amount        Limit
       USDC     105.6335      50.0000
       USDT     105.7188      50.0000

假设我们对 USDC 和 USDT 都设置了 50 美元的限制,这使我们的总可用资产达到 100 美元。请注意,现在两边的目标金额都是 50 美元,这意味着库存偏斜是相对于总余额限制来工作的。

订单大小计算数学

在单订单模式下输入的order_amount,或在多订单模式下的等效值,通过比较基础资产在整体交易投资组合中的百分比与目标基础资产比率来线性调整。

数学运算如下。

inventory skew maths