核心概念与术语:报价流、询价流、成交流、做市商、流动性提供商

好,咱们正式开始聊报价路由系统的核心概念。说实话,这些术语你如果去翻金融教科书,每个都能写一整章。但在我眼里,它们就是四个流和两类角色。搞懂了这些,整个系统的骨架你就抓住了。

报价流(Quote Flow)

报价流,说白了就是市场里不断刷新的买卖价格。做市商不停地喊:「我出价买,我出价卖」,这些喊价信息像水流一样涌向交易系统。

我个人习惯把报价流分成两类:

  • 被动报价:做市商提前挂好的双边价格,比如 EUR/USD 一直挂着 1.1050/1.1052
  • 主动报价:针对特定询价请求给出的即时价格,时效性极强

关键点:报价流的核心指标是「报价更新频率」和「报价深度」。我在项目中遇到过一家做市商,每秒推送 5000 条报价更新,结果我们的路由系统直接被打满了 CPU。后来加了报价聚合层才扛住。

报价流在系统里通常用 Quote 对象表示:

{
  "instrument": "EUR/USD",
  "bid": 1.1050,
  "ask": 1.1052,
  "bidVolume": 1000000,
  "askVolume": 1000000,
  "timestamp": 1712345678000,
  "provider": "MS_BANK"
}

询价流(RFQ Flow)

询价流,就是交易员发起的价格询问。你想想看,当一个大客户想交易 5000 万欧元,他不会直接按市场价打,而是先问一圈:「你们谁给的价格好?」

RFQ(Request For Quote)的典型流程:

  1. 交易员发起询价,指定品种、数量、方向
  2. 路由系统把询价分发给多个做市商
  3. 做市商在规定时间内回复报价
  4. 系统收集所有回复,选出最优价
  5. 交易员决定是否成交

实战经验:我曾经优化过一个 RFQ 路由逻辑,发现 80% 的询价其实只需要发给 3 家核心做市商。盲目广播反而会泄露交易意图,让市场知道你急着买。嗯,这里要注意——询价流的「隐私保护」比你想的重要得多。

成交流(Execution Flow)

成交流,就是交易真正发生的那一刻。报价流和询价流都是「前戏」,成交流才是「高潮」。

成交流包含几个关键阶段:

阶段 说明 耗时要求
订单提交 交易员点击「成交」按钮 < 1ms
路由决策 系统决定发给哪个做市商 < 100μs
做市商处理 做市商确认成交或拒绝 < 10ms
成交回报 结果返回给交易员 < 5ms

这里有个坑,我踩过。成交流的「原子性」非常重要——要么全成,要么全不成。有一次系统在处理成交流时,订单已经发给做市商 A 成交了,但做市商 B 的回复还没回来,结果系统误判为「部分成交」,导致账目对不上。后来我们引入了两阶段提交协议才解决。

做市商(Market Maker)

做市商,就是那些天天在市场上喊价的人。他们不是来炒作的,是来提供流动性的。你想想看,如果没有做市商,你想买 100 万欧元,可能等半天都找不到卖家。

做市商的核心特征:

  • 双边报价:同时报买入价和卖出价,赚取差价
  • 持续报价:交易时间内必须持续提供报价
  • 义务成交:在报价范围内必须接受成交

注意:不是所有做市商都靠谱。我见过一些「伪做市商」,平时报价很积极,一到市场剧烈波动就撤单或者拒绝成交。路由系统必须能识别这种行为,降低他们的路由优先级。

流动性提供商(Liquidity Provider)

流动性提供商的范围比做市商更广。做市商是流动性提供商的一种,但流动性提供商还包括:

  • 银行:传统的大额流动性来源
  • ECN(电子通信网络):撮合多个参与者的订单
  • 对冲基金:有时也提供流动性
  • 其他交易平台:比如 FXAll、Hotspot

我个人习惯把流动性提供商分成 Tier 1 和 Tier 2:

层级 特点 典型代表
Tier 1 报价深、信用好、延迟低 摩根大通、德意志银行
Tier 2 报价灵活、可定制、但深度有限 区域性银行、做市商

四个流的关系

这四个流不是孤立的。我画了一张图,帮你理清它们的关系:

报价路由系统核心流程 交易员 报价流 询价流 成交流 路由引擎 做市商 A 做市商 B 做市商 C 流动性池 报价流 询价流 成交流 路由引擎 做市商 流动性池

从图上你能看到:报价流持续注入路由引擎,询价流按需触发,成交流是最终产出。路由引擎就是那个「大脑」,它决定把哪个流发给哪个做市商。

我的建议:刚开始设计系统时,别急着优化性能。先把这四个流的边界定义清楚。我在第一个版本里把报价流和询价流混在一起处理,结果代码越写越乱,重构了两次才理顺。先分清楚,再谈优化。

好了,核心概念就这些。记住这四个流和两类角色,你就能看懂大部分报价路由系统的设计文档了。下一节我们会深入路由引擎的内部,看看它到底是怎么做决策的。


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