第三章 做市商策略基础:存货风险、逆向选择风险、报价策略的基本框架、做市商策略分类

各位同学,欢迎来到第三章。

前两章我们把做市商的基本概念和盈利模式聊透了。今天要讲的,才是真正决定你能否在市场里活下去的核心——风险与策略

做市商不是简单的「低买高卖」。你想想看,如果市场突然暴跌,你手里囤了一堆货,怎么办?或者,你刚报完价,就被一个比你聪明十倍的高频交易者「狙击」了,怎么办?

嗯,这两个问题,就是我们今天要解决的核心。

3.1 存货风险:你手里的「货」是双刃剑

存货风险,说白了就是「库存贬值」的风险。

作为做市商,你必须在买卖两边都挂单。有人卖给你,你就得接。接完之后,这些资产就躺在你的库存里了。如果价格朝不利方向波动,你的库存就会缩水。

为什么会有存货风险?

  • 方向性暴露:你被迫持有净头寸。比如你接了100个BTC的卖单,但买单只成交了80个,你就净多20个BTC。价格跌1%,你就亏1%。
  • 时间成本:库存占用资金。这些钱如果拿去理财,是有利息的。库存一天不卖掉,你就损失一天的利息。
  • 流动性成本:想快速平仓?可以,但得付出滑点。大单砸下去,市场会给你一个「惩罚性」的价格。

核心公式:

存货风险 ≈ 净头寸 × 价格波动率 × 持有时间

净头寸越大,波动越剧烈,持有越久,风险就越高。

我在项目中遇到过一件事。2018年,我在一个新兴的DeFi协议上做市。那个币种流动性极差,一天波动30%是常事。我按照传统模型挂了单,结果一个晚上库存从0变成了5000个币。第二天早上醒来,价格跌了40%。嗯,那是我第一次深刻理解「存货风险」这四个字的分量。

避坑指南:

我曾经犯过一个错误——只关注买卖价差,忽略了库存管理。后来我养成了一个习惯:每5分钟检查一次净头寸,一旦超过阈值,立刻调整报价。别等到收盘再处理,那时候就晚了。

3.2 逆向选择风险:你是在做市,还是在「接盘」?

逆向选择风险,是比存货风险更隐蔽的敌人。

什么意思?

市场上总有一些人,信息比你快,技术比你好。他们能提前感知到价格要涨,于是疯狂买入你的卖单。或者,他们知道价格要跌,于是拼命把货倒给你。

你想想看,你挂的买单,成交的往往都是那些「急着要卖」的人——他们可能知道坏消息。你挂的卖单,成交的往往是那些「急着要买」的人——他们可能知道好消息。

结果就是:你总是在不利的方向上成交。

这就是逆向选择。

为什么会这样?因为做市商本质上是在提供「免费期权」。你挂一个买单,相当于给了市场一个「以当前价格卖给你的权利」。如果价格要跌,这个期权就变得值钱,于是有人来行权。你挂一个卖单,相当于给了市场一个「以当前价格买入的权利」。如果价格要涨,这个期权也值钱,于是有人来行权。

你永远是被动的那一方。

注意:

逆向选择风险无法完全消除,只能管理。如果你发现某个品种的成交总是「一边倒」,比如买单总是被吃掉,卖单却无人问津,那就要警惕了——你可能正在被「狙击」。

我记得有一次,我在一个波动率极高的山寨币上做市。我的模型显示价差应该设0.5%,但实际成交后我发现,我的库存一直在增加。后来复盘才发现,有一个大户在用算法「钓鱼」——他先砸盘,把我的买单吃掉,然后拉高,再砸盘。循环往复,我的库存越来越大,最后爆仓了。嗯,从那以后,我对「逆向选择」这四个字有了刻骨铭心的认识。

3.3 报价策略的基本框架:三个核心维度

好了,风险讲完了。那怎么应对?

报价策略,就是你的武器。一个好的报价策略,需要同时考虑三个维度:

  1. 价差(Spread):买卖报价之间的差距。价差越大,单笔盈利越高,但成交概率越低。
  2. 报价深度(Depth):每个价位上挂多少量。深度越大,能承接的订单越多,但库存风险也越大。
  3. 报价偏移(Skew):相对于「公平价格」的偏移。如果你库存偏多,就把卖价调低一点,吸引买家;如果你库存偏空,就把买价调高一点,吸引卖家。

这三个维度,构成了报价策略的基本框架。

一个简单的策略逻辑:

# 伪代码示例
fair_price = get_mid_price()  # 获取当前公平价格
inventory = get_net_position()  # 获取当前净头寸

# 根据库存调整报价偏移
skew = - inventory * k  # k是调整系数,库存越多,卖价越低

# 计算价差
spread = base_spread + abs(skew) * spread_multiplier

# 生成报价
bid_price = fair_price - spread/2 + skew
ask_price = fair_price + spread/2 + skew

# 设置深度
bid_size = base_size - inventory * size_multiplier
ask_size = base_size + inventory * size_multiplier

这个框架虽然简单,但已经包含了核心思想:用价格和数量来管理库存风险

核心原则:

库存多,就降价卖;库存少,就提价买。永远不要和市场对着干。

3.4 做市商策略分类:从简单到复杂

做市商策略有很多种,我根据实战经验,把它们分成四大类:

策略类型 核心逻辑 适用场景 风险等级
对称报价策略 买卖价差对称,不主动管理库存 高流动性、低波动市场
库存驱动策略 根据库存动态调整报价偏移 中等流动性市场
信号驱动策略 结合市场信号(如订单流、波动率)调整报价 高波动、信息密集市场
组合策略 同时管理多个品种,对冲风险 多资产、跨市场 中高

对称报价策略:最简单,适合新手。你只需要设定一个固定的价差,然后两边挂单。但缺点也很明显——不管理库存,遇到大波动容易爆仓。

库存驱动策略:这是最常用的策略。核心就是上面那个伪代码的逻辑。我个人习惯用这个策略作为基础,然后叠加其他信号。

信号驱动策略:这是进阶玩法。比如,如果你能预测到未来1秒的订单流方向,就可以提前调整报价。我曾经在一个项目中,用LSTM预测短期价格走势,然后动态调整报价偏移。效果还不错,但模型训练成本很高。

组合策略:这是机构级玩法。比如,你在BTC和ETH上同时做市,利用它们之间的相关性来对冲风险。如果BTC库存多了,就多买点ETH,保持整体风险中性。

我的建议:

新手不要一上来就搞信号驱动或组合策略。先吃透库存驱动策略,把基础打牢。我见过太多人,一上来就想搞「量化黑科技」,结果连基本的库存管理都没做好,亏得一塌糊涂。

3.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你可以把它当作一个「思维导图」来用。

做市商策略基础:知识体系 做市商策略 两大核心风险 存货风险 逆向选择风险 方向性暴露 时间成本 流动性成本 信息不对称 免费期权 订单流狙击 报价策略三维度 价差 (Spread) 报价深度 (Depth) 报价偏移 (Skew) 策略分类 对称报价 库存驱动 信号驱动 组合策略 核心:用价格和数量管理风险,永远不要和市场对着干

这张图把本章的核心内容串起来了。你可以看到,做市商策略的核心就是「在两大风险(存货风险、逆向选择风险)的约束下,通过调整价差、深度和偏移三个维度,选择适合自己的策略类型」。

嗯,内容不少。但别急,下一章我们会深入讲解如何用Python实现一个完整的库存驱动策略。到时候,你会看到这些理论是如何落地成代码的。

今天就到这里。记住:做市商不是赌方向,而是管理风险


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