做市商策略基础:双边报价、库存与价差管理

做市商策略,说白了就是同时挂买单和卖单,赚取中间的价差。听起来简单吧?但实际跑起来,坑多得很。我刚开始做市商策略时,以为就是无脑挂单,结果一天亏了3%的库存价值。嗯,从那以后我再也不敢小看这个策略了。

双边报价原理

双边报价的核心逻辑:同时挂出买单和卖单。比如BTC当前价格30000 USDT,我挂29980的买单和30020的卖单。如果两边都成交,我就赚了40 USDT的价差。

但这里有个关键问题:成交顺序不可控。可能买单先成交,也可能卖单先成交。如果买单先成交,我就持有了多头仓位;如果卖单先成交,我就持有了空头仓位。这就是库存风险的来源。

双边报价的三种模式:

  • 对称报价:买卖价差对称分布在中间价两侧。比如中间价100,买价99.8,卖价100.2。我个人习惯用这种,逻辑简单,容易监控。
  • 非对称报价:根据库存情况调整买卖报价的偏移量。库存多了就压低卖价,库存少了就抬高买价。
  • 动态报价:结合市场波动率、订单簿深度实时调整报价。这个最复杂,但收益也最高。

我在项目中遇到过一个问题:对称报价在震荡行情中表现很好,但一旦出现趋势行情,库存会迅速积累。比如BTC持续上涨,我的卖单不断成交,买单一直不成交,结果我就变成了空头。嗯,这就是典型的「库存漂移」。

库存风险管理

库存风险是做市商策略最大的敌人。你想想看,如果库存方向和市场方向相反,亏损速度比手续费还快。

库存管理的核心指标:

指标 定义 我的经验值
库存比率 当前库存 / 目标库存 控制在0.8-1.2之间
库存偏离度 (实际库存 - 目标库存) / 目标库存 超过0.3就要强制调整
库存Delta 库存对价格变动的敏感度 控制在总资金的5%以内

我曾经踩过的坑:

有一次ETH出现剧烈波动,我的库存比率从1.0瞬间飙到1.8。因为我的调整策略是每5分钟检查一次,结果这5分钟里价格已经跑了2%。从那以后,我把检查频率改成了每笔成交后立即检查,并且设置了硬止损线——库存比率超过1.5就强制平掉一半库存。

库存调整的三种方法:

  • 报价偏移法:调整买卖报价,让成交偏向于减少库存的方向。比如库存多了,就降低卖价,提高买价,让卖单更容易成交。
  • 对冲交易法:在永续合约或期货市场开反向仓位。这个方法成本高,但速度快。我一般只在极端行情下用。
  • 时间加权法:分批次调整,避免一次性冲击市场。比如我要平掉100个ETH,分成10次,每次10个,间隔30秒。

报价价差动态调整

价差设置是做市商策略的核心参数。价差太宽,成交少,赚不到钱;价差太窄,成交多,但每笔利润薄,而且容易被套利者盯上。

影响价差的因素:

  • 市场波动率:波动率越高,价差应该越宽。我一般用过去N分钟的波动率作为参考,N取10-30之间。
  • 订单簿深度:深度越浅,价差越宽。因为深度浅意味着流动性差,成交后很难快速调整库存。
  • 库存状态:库存偏离目标时,可以适当收窄价差,加速库存调整。
  • 手续费率:手续费越高,价差需要越宽。这个很多人会忽略,但实际影响很大。

我的价差计算公式:

base_spread = 0.001  # 基础价差0.1%
volatility_factor = 1 + (current_volatility / reference_volatility) * 0.5
depth_factor = 1 + (reference_depth / current_depth) * 0.3
inventory_factor = 1 + abs(inventory_deviation) * 0.2

final_spread = base_spread * volatility_factor * depth_factor * inventory_factor

这个公式我用了两年,效果还不错。但要注意,参数需要根据市场情况定期调整。比如在牛市里,volatility_factor的权重可以调高一些。

为什么会这样?因为不同市场环境下,各因素的影响力是不同的。熊市里流动性差,depth_factor的权重应该更高;牛市里波动大,volatility_factor更重要。

盈亏计算与归因

做市商策略的盈亏来源很复杂,不能只看总盈亏。我见过很多人赚了钱不知道为什么赚,亏了钱也不知道为什么亏。嗯,这就是缺乏归因分析。

盈亏的四个来源:

  1. 价差收益:买卖成交的价差收入。这是做市商策略的主要收入来源。
  2. 库存损益:库存价格变动带来的浮动盈亏。这个方向不确定,可能赚也可能亏。
  3. 手续费返还:交易所给做市商的手续费折扣或返佣。这个比例不低,我见过最高的能到80%返佣。
  4. 资金费用:永续合约的资金费用。如果库存方向和市场方向一致,还能赚一笔资金费。

归因分析框架:

盈亏来源 计算方法 监控频率
价差收益 Σ(卖价 - 买价) × 成交量 每笔成交后
库存损益 当前库存价值 - 初始库存价值 每分钟
手续费返还 成交额 × 返佣比例 每日
资金费用 持仓量 × 资金费率 每8小时

归因分析的核心逻辑:

把总盈亏拆解到各个来源,看看哪个环节出了问题。比如总盈利1000 USDT,但库存损益亏了500 USDT,说明价差收益其实赚了1500 USDT。这时候要检查库存管理是不是出了问题。

我习惯每天做一次归因分析,每周做一次深度复盘。曾经有一次我发现连续三天库存损益都是负的,仔细一看,原来是报价偏移参数设置错了,导致库存一直在朝不利方向积累。调整参数后,库存损益立刻转正。

知识体系总览

下面这张图是我自己做市商策略的知识框架,你可以参考一下:

做市商策略 双边报价原理 库存风险管理 报价价差动态调整 对称/非对称/动态报价 买卖价差设置 成交顺序与库存漂移 报价偏移策略 库存比率/偏离度/Delta 报价偏移法调整 对冲交易法 时间加权法 波动率/深度/库存因子 基础价差设置 动态调整公式 参数权重优化 盈亏计算与归因分析 价差收益 | 库存损益 | 手续费返还 | 资金费用

这张图把做市商策略的四个核心模块串起来了。双边报价是基础,库存管理是风控,价差调整是优化,盈亏归因是复盘。四个模块缺一不可。

我的建议:

刚开始做市商策略时,先用模拟盘跑一个月。把双边报价、库存管理、价差调整这三个模块分别测试,确保每个模块都稳定了再上实盘。盈亏归因分析要每天做,发现问题及时调整。我曾经在模拟盘上跑了两个月才敢上实盘,结果第一个月就盈利了。

做市商策略不是一蹴而就的,需要不断迭代优化。记住一句话:控制好库存风险,你就赢了一半


公众号:蓝海资料掘金营,微信deep3321