核心概念:订单簿、买卖价差、市场深度、流动性、库存管理

做市商报价引擎,说白了就是一套自动买卖的机器。你让它报什么价,它就在市场上挂单。但报价不是瞎报的,背后有几个核心概念必须吃透。我刚开始搭建引擎时,就是在这几个概念上栽过跟头,今天咱们一个一个说清楚。

订单簿:市场的实时账本

订单簿(Order Book)就是交易所里所有挂单的集合。它分两边:买盘(Bid)和卖盘(Ask)。买盘是大家想买的价格和数量,卖盘是大家想卖的价格和数量。

举个例子,假设BTC/USDT的订单簿长这样:

买盘 (Bid) 价格 卖盘 (Ask)
10 BTC 30000 5 BTC
8 BTC 29990 7 BTC
12 BTC 29980 6 BTC

左边是买方,最高出价30000买10个BTC。右边是卖方,最低要价30000卖5个BTC。中间那个价差,就是买卖价差。

我个人习惯把订单簿想象成一个「价格-数量」的二维矩阵。每次行情更新,引擎都要重新扫描这个矩阵。嗯,这里要注意:订单簿是实时变化的,毫秒级都在变。你的引擎必须能快速解析并更新本地状态。

关键点:订单簿的深度和宽度决定了市场的承载能力。深度越厚,大单冲击越小。

买卖价差:做市商的利润来源

买卖价差(Spread)就是买一价和卖一价的差值。做市商赚的就是这个差价。你想想看,你在30000买入,在30001卖出,每笔赚1块钱。量大了,利润就出来了。

但价差不是固定的。市场波动大时,价差会拉宽。我记得在2020年3月那次暴跌中,BTC的价差从平时的0.01%直接飙到0.5%以上。很多做市商因为没及时调整报价,被瞬间吃掉。

价差的计算公式很简单:

价差 = (卖一价 - 买一价) / 中间价 × 100%

比如卖一价30001,买一价30000,中间价30000.5,价差就是0.0033%。

我的经验:价差不是越小越好。太小了,你赚不到钱;太大了,没人跟你交易。一般稳定币对价差在0.01%-0.05%之间,主流币在0.05%-0.2%之间。

市场深度:你能吃下多少单

市场深度(Market Depth)指的是在某个价格区间内,订单簿上挂单的总量。深度越大,说明市场越有「厚度」。

我曾经在搭建引擎时,只关注了买卖价差,忽略了深度。结果有一次,一个大单砸下来,直接把我的库存打穿。后来我加了一个深度监控模块,实时计算每个价格档位的累计挂单量。

深度通常用「深度图」来展示。横轴是价格,纵轴是累计数量。你可以看到在某个价格附近,有多少买单和卖单在等着。

避坑指南:不要只看前几档的深度。我曾经吃过亏,前5档看起来很厚,但第6档突然变薄。一个大单穿过去,直接滑点。建议至少看10档深度。

流动性:市场的血液

流动性(Liquidity)是个更宏观的概念。它衡量的是你能否快速以合理价格成交。流动性好的市场,你卖100个BTC,价格几乎不动。流动性差的市场,你卖10个BTC,价格可能就跳了。

流动性和深度是正相关的,但不完全等同。深度是静态的挂单量,流动性是动态的成交能力。有些市场深度很厚,但成交速度慢,流动性其实一般。

我个人习惯用「滑点」来衡量流动性。滑点越小,流动性越好。比如你想买10个BTC,理想价格是30000,实际成交均价是30001,滑点就是0.003%。

滑点计算公式:

滑点 = (实际成交均价 - 理想价格) / 理想价格 × 100%
核心观点:做市商既是流动性的提供者,也是流动性的受益者。你提供流动性,交易所给你返佣;你享受流动性,降低自己的交易成本。

库存管理:做市商的命门

库存管理(Inventory Management)是做市商最容易被忽视、但最致命的一环。你报的价,总会有被吃掉的时候。如果库存管理不好,你可能在错误的方向上积累了大量头寸。

举个例子,你一直在BTC/USDT上做市,买一价30000,卖一价30001。突然市场暴跌,你的买单全部成交,手里全是BTC。如果BTC继续跌,你就亏大了。

库存管理的核心目标是:保持库存中性。也就是说,你的多头和空头头寸要尽量平衡。不平衡的部分,要通过对冲或者调整报价来消化。

我常用的库存管理策略有几种:

  • 偏移报价:如果库存偏多,就把卖价调低一点,吸引卖出;把买价调低一点,减少买入。
  • 对冲交易:在另一个交易所或合约市场做反向操作,对冲风险。
  • 限价单撤单:如果库存偏离太大,直接撤掉部分订单,暂停报价。
我的建议:库存管理要设置阈值。比如BTC库存超过总资产的20%,就触发偏移报价。超过50%,就暂停做市,先平仓再说。别等到爆仓了才后悔。

知识体系结构图

下面这张图展示了这几个核心概念之间的关系。订单簿是基础,买卖价差和市场深度是订单簿的两个维度,流动性是市场整体表现,库存管理是做市商自身的风险控制。

订单簿 (Order Book) 买卖价差 (Spread) 市场深度 (Depth) 流动性 (Liquidity) 库存管理 (Inventory) 订单簿是基础,价差和深度是维度 流动性是市场表现,库存管理是风险控制

这张图我画了很多遍。每次给团队新人讲,我都会指着订单簿说:「这是你的战场,其他都是你的武器和盔甲。」

总结一下:订单簿是数据源,买卖价差是利润点,市场深度是安全垫,流动性是环境,库存管理是生存底线。五个概念环环相扣,缺一不可。

好了,今天就聊到这儿。这些概念看着简单,但真正落地到代码里,坑多着呢。下次咱们聊聊如何用Python快速解析订单簿数据。

专注资料整理