一、做市引擎概述
做市商,说白了就是市场的「流动性供应商」。我经常跟团队新人说:你想象一下菜市场里那个永远在吆喝「买进卖出」的摊主,他就是做市商。在数字资产或传统金融领域,做市商的任务就是同时挂出买单和卖单,赚取中间的价差。
嗯,这里有个关键点——做市商不是投机者。投机者赌方向,做市商赚的是「服务费」。我在早期做市项目中见过不少团队把做市做成了方向交易,结果市场一波动就爆仓。所以,搞清楚定位很重要。
1.1 做市商的核心定义
做市商(Market Maker)是在交易所同时提供买入和卖出报价的机构或个人。他们承诺在特定价格范围内持续提供流动性,并以此获得交易所的返佣或价差收益。
核心特征:
- 双边报价:同时挂买单(Bid)和卖单(Ask)
- 价差收益:赚取 Bid-Ask 之间的差价
- 库存管理:必须持有一定数量的基础资产
- 风险敞口:承担库存贬值的风险
我记得有一次在 Binance 上做 BTC 永续合约的做市,当时市场波动率极高,价差从正常的 0.01% 瞬间扩大到 0.5%。如果你没有做好库存管理,那一波就能让你亏掉一个月的利润。所以,做市商本质上是在管理「库存风险」和「价差收益」之间的平衡。
1.2 做市策略的核心目标
做市策略的目标其实就三个字:稳、赚、活。我拆开来讲:
- 稳:库存风险可控。你想想看,如果市场突然暴跌,你手里全是多单,那不就完了?所以策略必须能动态调整库存敞口。
- 赚:持续赚取价差。说白了就是每次买卖都赚一点点,积少成多。我见过最优秀的做市团队,单笔交易只赚 0.01% 的价差,但一天做几万笔,利润非常可观。
- 活:快速响应市场变化。做市引擎必须能在毫秒级别调整报价,否则就会被套利者吃掉。
避坑指南: 我曾经犯过一个错误——把「赚」放在第一位,忽略了「稳」。结果遇到一次黑天鹅事件,库存敞口过大,一天亏掉了三个月的收益。从那以后,我把「稳」永远放在第一位。
1.3 做市引擎架构总览
做市引擎是整个系统的核心大脑。它负责接收市场数据、计算报价、管理库存、执行对冲。我习惯把架构分成四个层次:
这个架构图是我在实际项目中反复迭代出来的。一开始我只有策略层和执行层,结果发现数据源不稳定、风控不到位,系统经常出问题。后来加了数据层和风控层,整个系统才真正稳定下来。
1.4 各层职责详解
| 层级 | 核心职责 | 关键指标 | 常见问题 |
|---|---|---|---|
| 数据层 | 行情订阅、订单簿维护、成交数据清洗 | 数据延迟 < 1ms,丢包率 < 0.01% | 数据源断连、行情延迟抖动 |
| 策略层 | 报价计算、库存管理、对冲信号生成 | 报价更新频率 > 100Hz,库存敞口 < 5% | 报价过激导致频繁成交、库存偏离 |
| 执行层 | 订单发送、撤单重发、成交确认 | 订单延迟 < 5ms,撤单成功率 > 99% | 订单被拒、撤单超时 |
| 风控层 | 敞口监控、止损触发、异常熔断 | 风控响应 < 100ms,误报率 < 1% | 误触发导致策略暂停、风控失效 |
⚠️ 重要提醒: 很多做市团队只关注策略层,忽略了数据层和风控层。我曾经见过一个团队,策略写得非常漂亮,但数据源只用了一个公共 API,结果行情延迟 200ms,被套利者反复收割。记住:做市引擎的瓶颈往往不在策略,而在数据和执行。
1.5 库存管理与对冲的关系
库存管理是做市引擎的核心中的核心。你想想看,做市商手里永远有库存——要么是现货,要么是合约。如果库存管理不好,市场一个波动就能让你亏光。
我个人的习惯是:把库存管理分成三个维度:
- 库存敞口:当前持有的净头寸。比如你持有 10 个 BTC 的多单,那敞口就是 +10。
- 库存成本:你建仓的平均价格。这个决定了你的盈亏平衡点。
- 库存久期:你计划持有库存的时间。做市商一般希望库存久期越短越好。
对冲模型的作用就是:当库存敞口超过阈值时,通过反向交易来降低风险。比如你持有太多多单,就开一些空单对冲。说白了,就是给库存上保险。
实战经验: 我在做 ETH 做市时,发现单纯用现货对冲效果不好——因为现货流动性差、滑点大。后来改用永续合约对冲,效果好了很多。但要注意:永续合约有资金费率成本,需要算清楚账。
1.6 本章小结
做市引擎不是简单的「挂单-成交」循环。它是一个包含数据、策略、执行、风控四个层次的复杂系统。做市商的核心目标是在控制库存风险的前提下,持续赚取价差收益。
嗯,这一章我们先把框架搭起来。后面的章节我会深入讲解每个模块的具体实现,包括报价算法、库存管理模型、对冲策略等。记住:做市是门手艺活,理论和实践缺一不可。