1. 做市策略基础:什么是做市商、做市策略的核心逻辑、买卖价差与库存风险

大家好,欢迎来到这门课。今天咱们聊聊做市策略最底层的那些事儿。

很多人一听到「做市商」,就觉得是高大上的量化机构。其实说白了,做市商就是市场的「摆摊人」。你想想看,菜市场里有人专门卖菜、有人专门买菜,但如果没有摊主,你来了找不到人买,想卖也找不到人收——那这市场就废了。做市商干的就是这个活:同时挂出买单和卖单,给市场提供流动性。

1.1 做市商到底在干什么?

我刚开始接触做市时,有个前辈跟我说过一句话,我一直记着:「做市商不是赌方向,而是赚服务的钱。」

什么意思呢?

传统交易员靠预测价格涨跌赚钱。做市商不一样,我们不关心价格明天是涨是跌。我们只关心一件事:能不能在买入价和卖出价之间赚到差价

举个例子。假设现在比特币价格是 10000 美元。我做市商挂出:

  • 买入价:9998 美元(我愿以这个价买)
  • 卖出价:10002 美元(我愿以这个价卖)

如果有人以 9998 卖给我,又有人以 10002 从我这里买走,我就赚了 4 美元的差价。这就是做市商最基础的盈利模式。

核心要点:做市商赚的是买卖价差(Bid-Ask Spread),不是价格波动的方向性收益。

1.2 做市策略的核心逻辑

嗯,这里要展开讲一下。做市策略听起来简单,但实际跑起来坑特别多。

我个人习惯把做市策略的核心逻辑拆成三块:

  1. 报价生成——什么时候挂单、挂什么价格、挂多少量
  2. 订单管理——挂上去的单子被吃了怎么办、要不要撤单重挂
  3. 风险控制——库存偏了怎么调整、极端行情怎么处理

这三块缺一不可。我在项目中遇到过不少团队,只盯着报价生成,结果库存风险爆了,一天亏掉三个月的利润。

咱们先看报价生成。最简单的模型是这样的:

# 伪代码:基础报价逻辑
mid_price = (best_bid + best_ask) / 2
spread = base_spread + k * inventory_skew

bid_price = mid_price - spread / 2
ask_price = mid_price + spread / 2

bid_size = base_size * (1 - inventory_ratio)
ask_size = base_size * (1 + inventory_ratio)

你看,这里有两个关键变量:价差(spread)库存偏移(inventory_skew)。价差决定了你每笔能赚多少,库存偏移决定了你愿不愿意接单。

一个小技巧:我刚开始做的时候,把 base_spread 设得太小,结果每笔赚的钱还不够手续费。后来我养成了一个习惯——先算清楚交易所的手续费率和滑点成本,再定 base_spread。

1.3 买卖价差:做市商的命根子

买卖价差,说白了就是你的「毛利率」。但这里有个坑——价差不是越大越好。

为什么?

你想想看,如果你把价差拉得特别大,比如买入价 9900、卖出价 10100,那确实每笔赚得多。但问题是,没人会来跟你成交。你的单子挂在那里,成了「僵尸单」。做市商的核心是周转率——单子成交得越快,你赚的钱才越多。

所以这里有个平衡:

价差策略 优点 缺点
窄价差 成交率高,周转快 每笔利润薄,容易被套
宽价差 每笔利润高,安全垫厚 成交率低,可能被其他做市商抢走订单
动态价差 根据市场波动调整,灵活 实现复杂,参数调优难

我个人偏向动态价差。市场波动大的时候,我把价差拉宽,给自己留足安全空间;市场平稳的时候,我把价差收窄,多抢一些订单。

1.4 库存风险:做市商的隐形杀手

好,接下来聊库存风险。这是做市策略里最容易被忽视、但也是最致命的问题。

库存风险是什么?

简单说,就是你手里攒了一堆货,价格突然暴跌,你就亏惨了。

做市商本质上是在做「双向报价」。理想情况下,买卖单子是对称的,你手里不持任何净头寸。但现实是,市场不可能永远平衡。有时候买单多,你手里就攒了一堆货;有时候卖单多,你就空仓了。

我曾经踩过的坑:有一次做ETH的做市,市场突然出现巨量卖单,我的买单全被吃了,手里攒了5000个ETH。我当时没及时调整报价,结果价格继续暴跌,那一波亏了将近20万美金。从那以后,我给自己定了一条铁律——库存偏离超过阈值,必须强制调整报价。

库存风险的管理,通常有几种手段:

  • 报价偏移:库存偏多时,降低买入价、提高卖出价,让库存慢慢吐出去
  • 对冲:在期货或期权市场做反向头寸,锁定风险
  • 止损:设定库存上限,超过就暂停做市

这里我画了一张图,帮大家理解做市策略的整体框架:

做市策略核心逻辑框架 市场数据输入 核心决策模块 价差计算 库存管理 风险控制 报价输出(Bid/Ask) 成交反馈 → 更新库存 反馈回路

这张图展示了做市策略的完整闭环。市场数据进来,经过价差计算、库存管理、风险控制三个模块的协同,输出报价。成交后反馈回来更新库存状态,形成一个循环。

1.5 三个核心参数的权衡

做市策略里,有三个参数是永远在打架的:

  • 价差宽度——赚多少
  • 报价深度——接多少
  • 库存上限——扛多少

这三者之间是相互制约的。价差越宽,你愿意接的单量就应该越小;库存上限越高,价差就应该越宽来保护自己。

我记得有一次给一个客户调参数,他非要把价差设成 0.01%,库存上限设成 1000 个 BTC。我说你这是找死。结果跑了三天,一波行情直接爆仓。后来他老老实实按我的建议,把价差调到 0.05%,库存上限降到 200 个,才稳定下来。

避坑指南:刚开始做做市策略,我建议你把价差设得保守一点。宁可少赚,也别亏。等跑顺了,再慢慢收窄价差、提高深度。

1.6 总结一下

做市策略的基础,说白了就三件事:

  1. 理解做市商的角色——你不是在赌方向,你是在提供服务
  2. 掌握价差的逻辑——太宽没人来,太窄自己亏
  3. 管好库存风险——这是做市商的命门,管不好就等着爆仓

嗯,这一章的内容就到这里。下一章我们会深入讲价差模型的具体实现,包括固定价差、动态价差、以及如何根据订单簿数据实时调整报价。到时候我会带大家手写一个简单的报价引擎。


专注资料整理