2、做市策略基础:订单簿结构解析、买卖价差(Bid-Ask Spread)的构成、做市报价策略。

好,咱们正式开始聊做市策略。这一节是地基,地基不牢,后面全白搭。我见过不少新手,上来就写策略代码,结果连订单簿都读不明白,最后亏得莫名其妙。所以,咱们先把这几个核心概念啃透。

2.1 订单簿结构解析:市场的“实时快照”

订单簿,说白了就是交易所里所有挂单的集合。它实时反映了当前市场上,谁想买、谁想卖,以及他们愿意出什么价。

我个人习惯把订单簿想象成一个“排队簿”。

  • 买单(Bids):一群人举着牌子,喊着“我要买!”,价格从高到低排。出价最高的排最前面,优先成交。
  • 卖单(Asks):另一群人喊着“我要卖!”,价格从低到高排。要价最低的排最前面,优先成交。

一个典型的订单簿结构,通常包含以下几个关键字段:

层级 (Level) 价格 (Price) 数量 (Size/Volume) 累计数量 (Cumulative)
卖一 (Ask 1) 100.50 1,000 1,000
卖二 (Ask 2) 100.55 2,500 3,500
卖三 (Ask 3) 100.60 1,200 4,700
... ... ... ...
买一 (Bid 1) 100.45 2,000 2,000
买二 (Bid 2) 100.40 3,000 5,000
买三 (Bid 3) 100.35 1,500 6,500

你看,卖一和买一之间的价格差,就是咱们常说的买卖价差。这个价差,就是做市商吃饭的本钱。

我的小技巧: 别只看第一档。我习惯把前五档的累计深度都算出来。如果卖一到卖五的累计量很大,说明上方抛压重,价格短期难涨。反之亦然。这比只看第一档要靠谱得多。

2.2 买卖价差(Bid-Ask Spread)的构成:你的利润从哪来?

价差不是凭空产生的。它由几个硬成本构成。你想想看,如果做市商不把这些成本算进去,那就是在给交易所打工。

  1. 手续费(Taker Fee):这是最直接的。你作为做市商,挂单成交通常要付手续费。这个成本必须覆盖。
  2. 逆向选择成本(Adverse Selection Cost):这个有点绕。简单说,就是当你挂单后,市场突然朝不利于你的方向运动。比如你挂了买单,结果一个大户砸盘,你接盘了,价格继续跌。这部分潜在亏损,也要算进价差里。
  3. 存货成本(Inventory Cost):你手里拿着货,就有价格波动的风险。持有时间越长,风险越大。这个风险溢价,也得体现在价差里。
  4. 订单处理成本(Order Processing Cost):包括系统延迟、网络费用等。虽然单笔很小,但积少成多。

所以,一个合理的价差公式大概是:

Spread = 2 * (Taker Fee + Adverse Selection Cost + Inventory Cost + Order Processing Cost)

嗯,这里要注意,这个公式只是理论上的。实际中,你还要考虑竞争对手的报价。我曾经在某个流动性极好的币对上,把价差压到只有0.01个tick,结果一算账,扣掉手续费还亏了。后来我学乖了,价差必须留足安全垫。

2.3 做市报价策略:怎么挂单才不亏?

报价策略的核心,就是决定你在订单簿的哪个位置挂单,挂多少量。这里没有银弹,只有权衡。

我个人常用的几种策略,分享给你:

  • 对称报价(Symmetric Quoting):在买一和卖一同时挂单,价差对称。这是最基础的策略,适合波动率低、流动性好的市场。优点是简单,缺点是赚得少。
  • 非对称报价(Asymmetric Quoting):根据你对市场方向的判断,调整买卖挂单的价差。比如你觉得要涨,就把买单挂得近一点(价差小),卖单挂得远一点(价差大)。这样更容易接到货,但不容易卖出去。说白了,就是用仓位来表达观点。
  • 基于存货的报价(Inventory-based Quoting):根据你当前的持仓量来调整报价。如果你手里货太多,就主动降低卖价,吸引买家;如果货太少,就提高买价,吸引卖家。这是最经典的做市策略之一。
避坑指南: 我曾经犯过一个错,在某个新币上用了对称报价,结果市场深度极差,我的单子被一个程序化大单连续吃掉,瞬间积累了巨量库存,价格随后暴跌。那次教训告诉我:永远不要在不了解市场深度的情况下使用固定价差策略。

下面这张图,是我自己总结的做市报价策略决策流程,你可以参考一下:

做市报价策略决策流程 获取市场状态 波动率是否过高? 暂停做市 库存是否健康? 选择报价策略 输出:报价价格 & 数量

你看,整个流程的核心就是:先看市场环境,再看自身状态,最后决定怎么报价。这个顺序不能乱。

核心总结: 做市报价不是简单的“买一卖一挂单”。它是一个动态的、基于风险管理的决策过程。你的报价策略,本质上是在管理你的库存风险、逆向选择风险和手续费成本。把这三点想明白了,你的策略就成功了一半。

好了,这一节的内容就到这。记住,订单簿是你的战场,价差是你的武器,报价策略是你的战术。下一节,咱们聊聊怎么用代码把这些策略实现出来。

专注资料整理