撮合引擎:交易所是怎么把买单卖单凑成一笔交易的 书架

第 01 章 / 共 12 章

第一章 · 一面挂单墙

先忘掉K线图

提到交易所,大多数人脑子里冒出的是红绿闪烁的K线、满屏跳动的数字、西装革履的交易员。这些全是表象。我们要造的那台机器,跟K线一点关系都没有——K线只是它吐出来的日志的一种画法。

剥到最后,一个交易所只做两件事:记账,和按规则排队。就这两件。剩下的全部复杂性,都是这两件事在真实世界里撞出来的褶子。这本书的目标很具体:读完它,你能坐下来,从零写出一个能跑、能成交、能经得起真实订单捶打的撮合系统。所以每一章我们都不满足于"是什么",而是追问"为什么必须这样,不这样会出什么事"。

菜市场里那面墙

想象一个卖苹果的菜市场。没有交易所的时候,交易靠双边议价——你走到一个摊位,问多少钱一斤,摊主说五块,你说四块五,成交。这个价格只有你们俩知道。隔壁摊可能四块就卖了,你不知道,你亏了也没人告诉你。

这种市场有三个毛病。第一,找不着对手:你想买的时候,未必有摊主刚好想卖。第二,价格不透明:同一时刻市场里有一百个成交价,谁是公道价?没人知道。第三,说了不算:摊主答应卖你,转头卖给出价更高的人,你没办法。

现在市场管理员出来说:别吵了,立一面墙。想买的,把"我愿出什么价、买多少斤"写在纸条上贴左边;想卖的,贴右边。墙对所有人公开。规则只有一条:左边的最高价和右边的最低价一旦碰上,就必须成交,谁也不许反悔。

这面墙,就是交易所的全部本质。它的学名是订单簿(order book)——一本公开的账本,记着"谁在什么价位想干什么"。而那个不停盯着墙、发现左右两边价格一碰上就宣布"成交"的管理员,就是撮合引擎(matching engine)——我们要写的那台机器。

大白话:交易所不是一个"地方",也不是一堆屏幕。它就是一面公开的墙,加一个铁面无私、只认规则的管理员。你写的撮合引擎,就是那个管理员。

为什么"公开"和"不许反悔"这么重要

值得停下来想一想,这面墙凭什么比摊主吆喝强。

因为它把三个毛病一次治了。想买的和想卖的都往同一面墙上贴,对手盘集中了——这叫流动性聚合,说人话就是:想成交的人都来同一个地方排队,互相找得着。墙对所有人公开,价格透明了——此刻最公道的买价卖价就写在墙的最顶上,谁都能看。纸条一旦贴上、规则一旦启动,成交是机器执行的,谁也反悔不了。

注意第三个好处最容易被忽略,但它恰恰是交易所能收钱的根本原因:人们愿意把订单交给它,是因为相信它会铁面无私地按规则办事——不会因为你是谁就让你插队,不会因为行情剧烈就偷偷改规则。所以贯穿这本书的一条暗线是:我们写的每一行撮合逻辑,本质上都在捍卫这个信任。规则写错了、实现有歧义了、同一笔订单在不同时候得到不同待遇了——信任就没了,这比亏一笔钱严重得多。

墙的两半边,就是"买一"和"卖一"

墙上最顶上的两张纸条,是全天最重要的两个价格。

左边(想买的人)出价最高的那张,叫买一——best bid,此刻市场上有人愿意出的最高买价。右边(想卖的人)要价最低的那张,叫卖一——best ask,此刻市场上有人愿意接受的最低卖价。

正常情况下,买一一定比卖一低。这不难想通:如果最高买价是10块,最低卖价是9块,那管理员早就该宣布他们成交了——他俩的存在本身就是矛盾的。所以只要管理员还在干活,墙上的买一和卖一之间永远留着一条缝。这条缝叫价差(spread),它是这本书后面很多章的主角。

大白话:买一和卖一不是行情软件编出来的数字,它们就是墙上最顶上的两张纸条。价差就是买卖双方还在僵持的距离——谁也不肯再让一步。

从墙到机器,只换了三样东西

真实的交易所把这面墙搬进了机房,搬的过程中换了三样东西:

换完这三样,本质一点没变。这也是为什么这本书敢承诺"读完你能写一个":要实现的从来不是华尔街的神秘黑箱,而是一台规则完全公开、行为必须可复现的排队机器。它的难点不在"想不到",在于规则有几十条,每条都得写对,而且在每秒几十万张订单的冲击下依然条条写对。

这本书怎么走

我们会从墙上最顶上的两张纸条出发。第二章先把订单簿上的每个数字——买一卖一、深度、最小价位——讲清楚它们从哪来;第三、四章分别解剖两种最基本的订单:愿意排队的限价单,和不惜代价立刻成交的市价单;第五章把一次撮合拆成逐秒的慢动作,那是全书的技术核心;第六章把真实交易所支持的所有下单方式过一遍;第七章讲开盘收盘时用的另一套玩法——集合竞价;第八章对比A股、美股、期货、加密货币交易所的规则差异,让你知道哪些是"物理定律"、哪些只是"地方法规";第九章讲成交之后系统还要干的事;第十、十一章挽起袖子写代码,从数据结构到崩溃恢复;最后一章讲上线前必须装上的护栏——涨跌停、熔断、风控。

下一章,我们凑近那面墙,看清楚上面的每一行字。

撮合引擎:交易所是怎么把买单卖单凑成一笔交易的 · 王建硕
费曼式写法 · 由多个 AI 代理撰写与互相审校