跳至内容

库存偏斜

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