一、做市商系统概述

大家好,我是老张。在量化交易这个圈子里摸爬滚打了十多年,今天咱们来聊聊做市商系统。说实话,这个系统看着简单,但里面的门道真不少。我刚开始接触做市商时,也踩过不少坑,今天就把这些经验分享给你。

1.1 做市商定义

做市商,说白了就是「报价商」。你想想看,在交易所里,买卖双方不一定同时出现。这时候就需要一个中间人,同时挂出买单和卖单,为市场提供流动性。这个中间人,就是做市商。

我记得刚入行时,带我的老工程师跟我说过一句话:「做市商就是市场的润滑剂。」当时不太理解,后来自己做了几年才明白——没有做市商的市场,就像没有油的齿轮,转不动。

核心定义:做市商(Market Maker)是指在证券、期货、数字货币等交易市场中,持续提供双边报价(买入价和卖出价),并承诺以该价格成交的金融机构或个人。

1.2 做市商盈利模式

做市商怎么赚钱?这个问题我经常被问到。其实核心就两个字:价差

你低价买入,高价卖出,中间的差价就是利润。但实际操作中,远没这么简单。我给大家拆解一下主要的盈利来源:

盈利模式 说明 我的经验
买卖价差 买入价与卖出价之间的差额 这是最基础的,但竞争激烈,价差越来越薄
返佣激励 交易所给做市商的交易手续费返还 有些交易所返佣能占到总利润的30%以上
库存增值 持有的资产价格上涨带来的收益 这个要看运气,我吃过亏,也赚过钱
数据服务 向第三方提供市场深度数据 大机构才玩得起,小团队别想了

避坑指南:我曾经在某个小交易所做市,以为价差大就能赚钱。结果流动性太差,挂单半天没人接,最后库存砸手里了。记住:流动性比价差更重要

1.3 做市商系统核心功能

一个完整的做市商系统,需要具备哪些功能?我把它归纳为四大模块:

  • 报价引擎:实时计算最优报价,决定挂什么价格、挂多少量
  • 风险管理:监控库存、敞口、最大亏损等指标,防止爆仓
  • 订单管理:负责订单的创建、修改、撤销,以及成交后的处理
  • 数据监控:实时展示盈亏、成交统计、市场行情等

嗯,这里要注意一点。很多新手做系统时,只关注报价引擎,觉得能算出价格就行。但实际项目中,风险管理才是系统的灵魂。我见过太多团队,报价做得漂亮,结果一次黑天鹅事件就全赔进去了。

1.4 系统架构演进历程

做市商系统的架构,这些年经历了三个阶段。我亲身经历了从第一阶段到第三阶段的转变,感触很深。

第一阶段:单体架构

早期做市商系统,就是一个大单体。报价、风控、订单处理全在一个进程里。优点是简单,缺点是改一处动全身。我记得2015年时,我们团队就用的这种架构,每次升级都要停服半小时,用户体验极差。

第二阶段:微服务架构

后来大家发现单体不行,开始拆微服务。报价一个服务、风控一个服务、订单一个服务。好处是独立部署、独立升级。但问题也来了——服务间通信延迟、数据一致性难保证。我有个朋友,他们团队拆了20多个微服务,结果排查一个bug要查半天日志。

第三阶段:事件驱动架构

现在的主流做法,是事件驱动架构。所有模块通过消息队列通信,异步处理。这样做的好处是:

  • 高吞吐:能处理每秒百万级订单
  • 低耦合:加新功能不影响现有模块
  • 易扩展:加机器就能提升性能

下面这张图,是我个人习惯用的架构图,展示了当前主流做市商系统的核心流程:

做市商系统核心架构图 行情数据源 报价引擎 计算最优买卖价格与数量 订单管理 创建/修改/撤销/成交处理 交易所 风险管理 库存监控 敞口计算 最大亏损限制 熔断机制 实时告警 数据监控 实时盈亏 成交统计 市场深度 延迟监控 历史回放 图1:做市商系统核心架构(事件驱动模式) 实线:数据流 | 虚线:控制流

我的建议:如果你是从零开始搭建做市商系统,别一上来就搞微服务。先用单体架构跑通核心逻辑,等业务量上来了再逐步拆分。我见过太多团队,架构设计得天花乱坠,结果连基本功能都没跑通。

好了,关于做市商系统的概述就聊到这儿。记住一句话:做市商的核心不是报价,而是风险管理。后面几章,我会详细拆解每个模块的实现细节。


公众号:蓝海资料掘金营,微信deep3321