第二章:做市策略原理

做市策略,说白了就是「低买高卖」的升级版。但这里有个关键区别——你不是在赌方向,而是在赚流动性服务的钱。

我刚开始做做市系统时,以为这玩意儿很简单。不就是挂买单和卖单嘛,谁不会?结果第一周就亏了十几万。嗯,后来我才明白,做市的核心不是「怎么挂单」,而是「怎么管理风险」。

这一章,我们来拆解做市策略的四大支柱:订单簿微观结构、买卖价差与市场深度、存货风险管理、信息不对称模型。这四块搞懂了,做市系统的基本框架就搭起来了。

核心观点:做市商赚的是「流动性溢价」,而不是「方向性收益」。你的对手方不是市场,而是时间。

2.1 订单簿微观结构

订单簿,就是交易所里所有挂单的集合。它分两部分:买单(Bid)和卖单(Ask)。买单从高到低排列,卖单从低到高排列。中间那个空隙,就是价差。

我个人习惯把订单簿想象成一个「战场」。买单是防守方,卖单是进攻方。谁的力量强,价格就往哪边跑。

举个例子,你看一个订单簿:

卖单(Ask):
  价格 1.0020  数量 500
  价格 1.0019  数量 300
  价格 1.0018  数量 200
  ------------ 当前价差 ------------
  价格 1.0015  数量 100
  价格 1.0014  数量 400
  价格 1.0013  数量 600
买单(Bid):

这里,最佳卖价是1.0018,最佳买价是1.0015。价差就是0.0003。如果你做市,你的任务就是在1.0015挂买单,在1.0018挂卖单,赚这0.0003的差价。

但问题来了——为什么有人愿意让你赚这个钱?

因为流动性。市场上不是所有人都能等。有人急着买,有人急着卖。你提供「即时成交」的服务,他们付你价差作为报酬。

我在项目中遇到过一种情况:某个小币种的订单簿特别薄,只有几层。这时候做市就变成了「刀尖上跳舞」。你挂的单子稍微大一点,价格就滑得厉害。嗯,这种市场我一般建议避开,除非你有特殊的风险对冲手段。

实战技巧:观察订单簿的「深度分布」。如果买单深度远大于卖单深度,说明下方支撑强,价格可能上涨。反之亦然。这不是预测,而是「流动性信号」。

2.2 买卖价差与市场深度

价差,就是最佳卖价减去最佳买价。它反映了市场的「摩擦成本」。价差越小,市场越有效。

但价差不是固定的。它受几个因素影响:

  • 波动性:波动越大,价差越大。因为做市商要补偿风险。
  • 流动性:交易量越大,价差越小。因为竞争激烈。
  • 信息不对称:如果有人知道内幕消息,价差会扩大。

市场深度,则是指你在某个价格能成交多少量。深度越大,大单对价格的冲击越小。

我建议你用一个简单的公式来评估做市收益:

预期收益 = 价差 × 成交概率 × 成交量 - 风险成本

成交概率取决于你的挂单价格。挂得越靠近中间价,成交越快,但赚得少。挂得越远,赚得多,但可能一直成交不了。

这里有个平衡点。我个人习惯用「50%成交概率」作为基准。也就是说,你的挂单价格应该让市场有一半的概率吃掉它。

价差大小 市场深度 做市策略
小(<0.01%) 高频做市,薄利快跑
中(0.01%-0.1%) 平衡策略,控制存货
大(>0.1%) 谨慎参与,或只做单边

你想想看,如果价差很大但深度很浅,你挂的单子可能半天成交不了。这时候做市就是「守株待兔」,效率极低。

注意:价差不是越大越好。有些市场价差大是因为流动性差,你进去容易出来难。我曾经在一个山寨币上吃过这个亏——挂单一天没成交,想撤单时发现网络拥堵,结果价格暴跌,直接亏了20%。

2.3 存货风险管理

这是做市系统里最要命的部分。你挂买单和卖单,总有一边会被吃掉。如果买单被吃掉,你就持有了资产(多头存货)。如果卖单被吃掉,你就持有了现金(空头存货)。

存货风险,说白了就是「你手里拿着货,价格却跌了」的风险。

我见过太多做市商死在这上面。他们赚了一年的价差,结果一次黑天鹅事件,存货亏损把利润全吃掉了。

怎么管理?三个核心手段:

  1. 设定存货上限:比如你最多持有总资金的10%作为存货。超过就强制平仓。
  2. 动态调整报价:存货多了,就把卖单价调低一点,吸引卖出;存货少了,就把买单价调高一点,吸引买入。
  3. 对冲:用期货或期权对冲存货风险。这是最专业的手段。

举个例子,假设你持有100个ETH的存货。你的做市策略应该自动把卖单价降低0.1%,让卖单更容易成交。同时把买单价也降低0.05%,减少买入。这样存货就会慢慢降下来。

# 存货调整示例(伪代码)
if inventory > max_inventory:
    bid_price = mid_price - spread/2 * 0.9  # 降低买价
    ask_price = mid_price + spread/2 * 0.8  # 降低卖价(更积极卖出)
elif inventory < -max_inventory:
    bid_price = mid_price - spread/2 * 0.8  # 提高买价(更积极买入)
    ask_price = mid_price + spread/2 * 0.9  # 提高卖价
else:
    bid_price = mid_price - spread/2
    ask_price = mid_price + spread/2

这个逻辑看起来简单,但实际调参很讲究。调得太激进,你会频繁买卖,手续费吃掉利润。调得太保守,存货风险又控制不住。

我的经验:存货上限设为总资金的5%-15%比较合适。具体取决于资产的波动性。波动大的,上限设低点。波动小的,可以适当放宽。

2.4 信息不对称模型

做市商最怕什么?怕有人知道你不知道的信息。

信息不对称模型,就是研究「谁在跟你做对手方」。如果对手方是知情交易者(比如知道内幕消息的人),你大概率会亏。

为什么会这样?因为知情交易者只在有利可图时才交易。他们买入时,价格大概率要涨。他们卖出时,价格大概率要跌。而你作为做市商,被动地接下了他们的单子。

我建议用「订单流不平衡」来检测信息不对称:

订单流不平衡 = (主动买入量 - 主动卖出量) / (主动买入量 + 主动卖出量)

这个值在-1到1之间。接近1说明大量买入,接近-1说明大量卖出。如果突然出现极端值,很可能是有知情交易者在行动。

这时候怎么办?

  • 扩大价差:提高做市成本,让知情交易者觉得不划算。
  • 减少挂单量:降低风险暴露。
  • 暂停做市:如果信号太强,干脆撤单观望。

我曾经在某个事件驱动型行情中吃过亏。当时某公司财报发布前,订单流突然异常。我没在意,结果财报一出,价格暴跌,我的存货直接亏了30%。从那以后,我只要看到订单流不平衡超过0.7,就会立刻缩小挂单量。

关键认知:做市商不是「预测市场」,而是「管理风险」。信息不对称模型帮你识别什么时候该「缩回去」,而不是「冲上去」。

本章小结

做市策略原理,说白了就是四件事:看懂订单簿、算清价差和深度、管住存货、防住信息不对称。这四块缺一不可。

我个人觉得,最难的是「知行合一」。很多做市商道理都懂,但一看到行情波动就手痒,忍不住去赌方向。嗯,这是人性,没办法。但系统可以帮你克服人性——把策略写成代码,让机器执行。

下一章我们会讲具体的做市策略实现,包括如何设计报价算法、如何优化成交率。但在此之前,先把这四块基础打牢。地基不稳,楼盖得再高也是危楼。


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