一、做市引擎概述
做市引擎,说白了就是一套自动化的报价系统。它负责在交易所里持续挂出买单和卖单,赚取买卖价差。我做了这么多年量化,见过太多人把做市想得太简单——不就是低买高卖吗?其实里面的门道深着呢。
1.1 做市商定义
做市商(Market Maker)是交易所指定的专业机构。它的核心义务是:在大部分交易时间内,同时提供买入和卖出报价。作为回报,交易所会给做市商一些优惠,比如降低手续费、提供数据订阅折扣等。
我个人习惯把做市商比作「市场的润滑剂」。没有做市商,散户想买卖可能得等很久才能成交。做市商的存在,让市场流动性大大提升。
核心要点:做市商不是投机者,而是服务提供者。它的利润来源是买卖价差,而不是价格方向判断。
1.2 做市策略类型
做市策略五花八门,但主流的有这么几类:
- 对称做市:买卖价差固定,两边挂单量相等。最简单,但风险也最大。
- 非对称做市:根据库存情况调整报价。比如库存偏多,就降低卖价、提高买价。
- 动态做市:结合市场波动率、订单流等实时调整参数。这是目前主流做法。
- 统计套利做市:利用多市场、多品种的价差关系做市。复杂度高,但收益稳定。
我在项目中遇到过最头疼的事,就是策略选型。刚开始做BTC永续合约做市时,我选了对称做市,结果波动一来直接爆仓。后来才明白,策略类型必须跟市场特征匹配。
1.3 做市引擎核心组件
一个完整的做市引擎,至少包含以下模块:
| 组件 | 功能 | 我的经验 |
|---|---|---|
| 行情模块 | 接收实时行情,计算中间价 | 延迟必须控制在1ms以内 |
| 定价引擎 | 根据策略生成买卖报价 | 参数调优是最耗时的环节 |
| 订单管理 | 发送、撤销、跟踪订单 | 订单状态机必须严谨 |
| 风控模块 | 监控风险指标,触发熔断 | 这是最后一道防线 |
| 库存管理 | 控制持仓风险,做对冲 | 库存偏离度是关键指标 |
你想想看,这些组件任何一个出问题,都可能导致巨额亏损。我记得有一次,订单管理模块的撤销逻辑有bug,导致挂单一直没撤掉,行情反转时直接亏了30万美金。嗯,从那以后我再也不敢轻视订单管理了。
1.4 风险控制的重要性
做市引擎的风险控制,说白了就是保命。我见过太多团队,策略收益不错,但一次黑天鹅事件就全亏回去了。
常见的做市风险包括:
- 方向性风险:库存方向跟市场走势相反
- 流动性风险:极端行情下无法平仓
- 操作风险:代码bug、网络延迟、交易所故障
- 模型风险:策略假设失效
警告:千万不要以为回测没问题就万事大吉。实盘环境比回测复杂100倍。我曾经在回测中年化收益50%的策略,实盘第一天就亏了8%。原因?回测没考虑交易所的撮合延迟和订单簿深度变化。
风控体系应该做到事前预防、事中监控、事后复盘。事前要设好参数上限,事中要实时监控风险指标,事后要分析亏损原因。这三步缺一不可。
我的建议:刚开始做做市,一定要从小资金起步。先跑模拟盘,再跑小实盘,最后才上大资金。每一步都要验证风控逻辑是否有效。别问我怎么知道的——都是血泪教训。
下面这张图展示了做市引擎的核心知识体系,你可以快速了解各模块之间的关系:
这张图把做市引擎的核心要素都串起来了。你可以看到,风控不是独立存在的,它跟策略、执行紧密相连。我个人习惯在设计系统时,先把风控模块画出来,再考虑其他模块。为什么?因为风控决定了你能活多久,策略决定了你能赚多少。
好了,这一章就讲到这里。做市引擎的概述部分,核心就是理解做市商的角色、策略类型、组件构成,以及风控为什么这么重要。下一章我们会深入风控体系的具体设计,包括指标计算、熔断机制、压力测试等实战内容。
公众号:蓝海资料掘金营,微信deep3321