阿韦拉内达与斯托伊科夫策略指南¶
欢迎回到 Hummingbot 学院!
最新的 Hummingbot 版本 (0.38) 引入了一种基于经典学术做市模型的激动人心的策略。本文将深入探讨 2008 年的阿韦拉内达与斯托伊科夫论文及其在 Hummingbot 中的实现。
对于那些喜欢深入科学研究论文的读者,原始出版物可以直接在线访问或直接点击此处访问。
今天我们将探讨:
- 阿韦拉内达与斯托伊科夫做市模型
- 库存风险管理
- 最优买入与卖出价差确定
- 在 Hummingbot 中的实现
理解阿韦拉内达与斯托伊科夫模型¶
该模型解决了做市商的两个主要关切:* 库存风险管理 * 最优买入和卖出价差确定
阿韦拉内达与斯托伊科夫提出了帮助做市商应对这些挑战的公式。
预约价格:
最优买入与卖出价差:
其中,
- s = 当前市场中间价
- q = 基础资产的库存数量(多头/空头头寸为正/负)
- σ = 市场波动率
- T = 标准化收盘时间 (1)
- t = 当前时间作为 T 的分数
- δa, δb = 对称买入/卖出价差
- γ = 库存风险厌恶参数
- κ = 订单簿流动性参数
本文简化了这些公式及其含义。请继续关注即将发布的更多技术细节文章。
预约价格详解¶
传统做市涉及围绕市场中间价的对称买入和卖出订单。然而,这可能导致库存倾斜,如果资产价值不利变动,可能会使交易者面临风险。
例如,在使用对称策略的 BTC-USDT 下跌趋势中,做市商最终会积累 BTC,从而降低总库存价值。
阿韦拉内达与斯托伊科夫的方法计算了下订单的新参考价格,考虑到:
库存位置偏差 (q)¶
公式中的 q 值表示与目标库存的偏差。例如:* 当 q = 0 时,预约价格等于市场中间价;* 当 q < 0 时,交易者做空,提高预约价格以偏向买入订单;* 当 q > 0 时,交易者做多,降低预约价格以偏向卖出订单。
Hummingbot 根据您指定的目标库存百分比计算 q。
库存风险容忍度 (γ)¶
此参数由交易者设置,表示愿意承担库存风险的程度。接近零的 γ 意味着预约价格接近市场中间价,类似于对称策略。随着 γ 增加,预约价格更积极地调整以匹配库存目标。
在 Hummingbot 中,γ 可以手动设置或自动计算。
剩余交易时段时间 (T-t)¶
考虑具有定义交易时段的传统金融市场,该模型在接近时段结束时将预约价格调整得更接近中间价,以最小化库存风险。
Hummingbot 允许设置交易时段持续时间,以适应 24/7 加密货币市场。
:Avellaneda 和 ellaneda 和 Stoikov 还提出了一个无限期模型,更适合连续市场,我们计划在未来的版本中包含此模型。
市场波动率(σ)也会影响预留价格,但不是交易者定义的因素。波动率增加会扩大预留价格和中间价格之间的差距。
确定最优价差¶
该模型的第二个方面关注订单簿的最佳定位以实现盈利。
这里,预留价格因子(γ 和 (T-t))再次出现,此外还有:
订单簿流动性 (κ)¶
虽然论文深入探讨了数学细节,但关键要点是高 κ 值表示更密集的订单簿,需要更小的价差。相反,低 κ 表示流动性较低,允许更宽的价差。
结合预留价格和最优价差¶
该模型的执行逻辑很简单:
- 根据目标库存计算预留价格。
- 确定最佳买卖价差。
- 在预留价格周围下市价单:
- 买入价 = 预留价格 - 最优价差的一半
- 卖出价 = 预留价格 + 最优价差的一半
这种动态在下面说明:
计算出的预留价格(绿线)经常偏离市场价格中点(蓝线)。预留价格根据库存调整,影响相对于中点的订单放置。
参数计算¶
Avellaneda-Stoikov 模型中的关键因素是:
- 库存位置 (q)
- 剩余交易时段时间 (T-t)
- 风险因子 (γ)
- 订单簿深度 (κ)
对于每个参数,相关的 Hummingbot 参数是:
- 库存距离 (q):反映当前和目标库存之间的差异。在 Hummingbot 中,设置资产库存目标百分比,机器人计算 q。
- 时段时间 (T-t):为加密货币市场不停止的特性调整模型。在 Hummingbot 中定义所需的交易时段持续时间。
- 风险因子 (γ) 和 订单簿深度 (κ):虽然论文没有指定这些参数的计算方法,但 Hummingbot 的"简易模式"会根据所需的价差限制自动确定它们。或者将
config parameters_based_on_spread
设置为False
并使用config order_book_depth_factor
和config risk_factor
手动输入值。
配置 Hummingbot¶
在 Hummingbot 中创建策略涉及 create
命令并指定 avellaneda_market_making
作为策略名称。
选择交易所和交易对后,决定是否让 Hummingbot 计算风险因子和订单簿深度。
设置最大和最小期望价差,这定义了计算出的最优价差的限制。
风险规避参数决定您的库存风险偏好。接近 1 的值表示保守方法。
最后,指定库存目标百分比,确定您的总库存中有多少应为基本资产。
Hummingbot 中的其他配置包括 closing_time
(会话持续时间)和 volatility_buffer_size
(波动率计算的数据时间段)。
最终想法¶
最优做市策略几十年来一直是学术研究的重点。随着高频交易 (HFT) 在当今市场中发挥重要作用,我们的团队还有很多需要探索的内容。如果您有有趣的模型建议,请加入我们的 Discord!
加入我们的社区¶
加入我们的 Discord 频道,与同行的做市商和套利者交流互动。在 Twitter 和 Reddit 上关注我们以获取最新动态和新闻。不要错过我们在 Youtube 频道 上关于做市的内容,包括对专业交易员的访谈。