一、做市商系统概述

大家好,我是这次课程的主讲人。在量化这个圈子里摸爬滚打了十多年,我做过股票、期货、期权,最后发现结构化产品做市商系统,才是最考验系统架构功力的领域之一。

今天咱们就来聊聊这个系统的全貌。说白了,做市商就是市场的「批发商」。你想想看,普通投资者想买一个结构复杂的雪球产品,或者一个带保底的指数挂钩票据,上哪儿买去?这时候就需要做市商站出来,一边报买价,一边报卖价,赚取中间的差价。

1.1 结构化产品做市商定义

结构化产品做市商,本质上是一个风险中介。我们不是简单地倒买倒卖,而是通过复杂的数学模型和交易策略,把场外客户的需求转化成场内可对冲的头寸。

核心角色:

  • 流动性提供者:随时准备买入或卖出结构化产品
  • 风险管理者:通过Delta对冲、Gamma对冲等手段控制风险敞口
  • 定价引擎:实时计算产品的理论价值和风险参数

我记得刚入行时,带我的老工程师说过一句话:「做市商不是赌方向,而是赚概率。」这句话我到现在都记得。我们赚的是买卖价差,而不是赌市场涨跌。

1.2 核心业务流程

一个完整的做市流程,其实可以拆成四个环节。我习惯用「报价-成交-对冲-结算」来概括。

  1. 报价阶段:系统根据市场数据、模型参数、库存情况,计算出双边报价。这里有个坑——我曾经遇到过报价延迟导致被套利的情况,后来加了报价频率监控才解决。
  2. 成交阶段:客户点击报价后,系统需要快速校验、撮合、生成交易确认。嗯,这里要注意,风控检查必须在毫秒级完成。
  3. 对冲阶段:成交后,做市商需要立即在底层市场进行对冲。比如卖出一个雪球产品,就要买入相应的股指期货来对冲Delta风险。
  4. 结算阶段:包括资金划转、持仓更新、损益计算等后台操作。

个人经验:很多团队只关注报价和成交的速度,却忽略了结算环节的自动化。我曾经见过一个项目,结算还是靠人工Excel核对,结果每天凌晨三点还在加班。自动化结算,越早做越好。

1.3 系统架构全景图

下面这张图是我根据多年实战经验总结的做市商系统架构。说白了,就是「三层两总线」的格局。

结构化产品做市商系统架构全景图 接入层 FIX协议网关 REST API网关 WebSocket实时推送 内部OMS接口 核心业务层 定价引擎 蒙特卡洛/有限差分 风险管理 Greeks计算/压力测试 订单管理 OMS/订单路由 数据与基础设施层 市场数据总线 历史数据库 实时计算集群 监控告警系统 消息总线(Kafka/RabbitMQ) 服务总线(gRPC/HTTP) 图1:做市商系统采用「三层两总线」架构,层间通过消息总线和服务总线解耦

这个架构图我画了很多版本,最后发现这个最实用。三层分别是接入层、核心业务层、数据与基础设施层。两总线是消息总线和服务总线,负责层间通信。

避坑指南:我曾经见过一个团队,把所有逻辑都写在一个进程里,结果报价延迟、风控失效、数据库连接池爆满。记住,层与层之间必须解耦,否则一个模块出问题,整个系统就瘫痪了。

1.4 关键性能指标

做市商系统好不好,不是看界面好不好看,而是看这几个硬指标。我习惯把它们分成三类:速度、容量、稳定性。

指标类别 指标名称 目标值 说明
速度 报价延迟 < 1ms 从行情到达→模型计算→报价发出
成交确认延迟 < 5ms 从收到订单→风控校验→确认返回
对冲指令延迟 < 10ms 从成交确认→对冲指令发出
容量 并发连接数 > 10,000 同时接入的客户端数量
每秒报价数 > 50,000 系统每秒能更新的报价数量
稳定性 系统可用性 99.99% 全年停机时间不超过52分钟
数据一致性 100% 报价、成交、持仓数据必须完全一致

为什么这些指标这么重要?我举个例子。假设你的报价延迟是10ms,而竞争对手是1ms。在行情剧烈波动时,你的报价还没出来,市场已经变了。你想想看,客户会选谁?

一个小技巧:监控这些指标时,不要只看平均值。我习惯看P99和P99.9的延迟。平均值好看没用,尾部的长尾延迟才是真正杀死系统的元凶。

好了,关于做市商系统的概述就聊到这里。这些内容看起来简单,但每一条背后都有血泪教训。后面的章节,我会逐一深入每个模块的架构细节和实现方案。


专注资料整理