Trader OS
Phase 3 · 市场微观结构

第 13 章 · Order Book

你点下「市价买入」的那一刻,订单簿里发生了什么?

阅读模式
Phase 3 · 市场微观结构TRD-MICRO-001 · v1.0
练习的能力
理解市场实际成交
3D 模拟
交易大厅 · 订单簿

市场现场

当前的阅读模式收起了这一节。

小林攒够了钱,想买 3 个 BTC。

交易软件上方写着一个醒目的价格。旁边有一张两截的表:上半截是红色,下半截是绿色,每一行一个价格、一个数量。

上半截:有人挂着要卖数量(BTC)
60,1205.0
60,0803.0
60,0502.0
60,0301.2
60,0200.8
60,0100.5
下半截:有人挂着要买数量(BTC)
60,0000.6
59,9900.9
59,9801.5
59,9602.2
59,9303.0
59,8905.0

小林看了一眼红色最下面那一行,60,010。他心算:3 个 BTC,大约 180,030 美元。

他点了「立即买入 3 BTC」。一秒钟后,成交记录出来了:

  • 总共花了 180,082 美元,平均每个 BTC 60,027.33 美元;
  • 表上红色的前三行不见了,第四行 60,050 那里的 2.0 变成了 1.5;
  • 红色最下面一行,从 60,010 变成了 60,050。

比他算的多花了 52 美元。钱去哪里了?

你来决定

当前的阅读模式收起了这一节。

你也要买 3 个 BTC,面对的是同一张表。你会怎么买?

观察结果

当前的阅读模式收起了这一节。

同样是买 3 个 BTC,四种做法,四种结果:

做法价格能不能买到要等多久
直接立即买入最贵一定不用等
在 60,000 挂着等最便宜不一定不知道
分三次买看情况基本能几分钟
挂 60,050和立即买入一样,但有上限大概率不用等

你想要确定,就得付价格;你想要价格,就得承担不确定。 没有一种做法同时拿到两样。

还有一件事:软件最上方那个醒目的价格,只是上一笔成交的价格,或者红绿两截交界的中间。它不是你能买到的价格。你能买到的,是对面一行一行挂着的那些价格。

背后的机制

这张两截的表,记下了此刻所有还在等待成交的单子。场上有两种人:

  • 挂着等的人:说好了价格和数量,把单子放在表上,等人来成交。
  • 马上要成交的人:不挑价格,直接去接表上已经挂着的单子。

撮合的规则只有两条:价格优先,时间优先。 想买的人里,出价最高的先成交;出价一样,先挂上去的先成交。

小林的「立即买入 3 BTC」,就是这样一路吃上去的:

顺序价格吃掉的数量这一行还剩
160,0100.50
260,0200.80
360,0301.20
460,0500.51.5
  1. 立即买入
  2. 吃掉最便宜的卖单
  3. 不够就吃下一行
  4. 平均价格越来越高
  5. 最便宜的卖价上移
  6. 屏幕上的价格变了

多出来的 52 美元,没有被交易所多收,而是付给了挂在 60,020、60,030、60,050 的那几位卖家:你一着急,就只能接受他们更高的要价。

更重要的是最后一步:小林自己的订单,改变了屏幕上的价格。 买之前,最便宜的卖价是 60,010;买之后,变成了 60,050。红绿之间的空档,也从 10 美元拉宽到了 50 美元。订单越大,这件事越明显。

它叫什么

订单簿Order Book

所有还在等待成交的买单和卖单,按价格排好的一张表。小林看到的那张两截的表,就是 BTC 在这家交易所的订单簿。

买价Bid

挂着的买单里的价格。最高的那个叫买一,本章里是 60,000。你立刻卖出,最多只能卖到买一。

卖价Ask

挂着的卖单里的价格。最低的那个叫卖一,本章里是 60,010。你立刻买入,最少也要付卖一。

买卖价差Spread

卖一减买一。本章开始时是 10 美元,小林买完之后是 50 美元。价差越窄,立刻成交的代价越小。

限价单Limit Order

说好了价格上限(买)或下限(卖)的订单。能立刻成交的部分马上成交,剩下的挂在订单簿上等待。挂着等的限价单,就是订单簿里的那些行。

市价单Market Order

不指定价格、要求立刻成交的订单。它从对面的最优价开始,一行一行吃下去,直到数量够了为止。

排队Queue

同一个价格上,先挂的单子先成交。你在 60,000 挂买单,就排在已经在那里的 0.6 个 BTC 后面。排在队伍前面,本身就是一种优势。

成交均价比最优价差出来的那部分,叫滑点(Slippage)。小林这笔的滑点是每个 BTC 17.33 美元,大约 2.9 个基点(1 个基点是 0.01%)。第 14 章会专门讲它。

真实市场

同一时间,每家交易所的订单簿都不一样CEX

BTC 同时在很多家交易所交易,每一家都有自己的订单簿。同一秒钟,这家的卖一可能比那家高几美元,挂着的数量也可能差好几倍。

所以「BTC 现在多少钱」其实没有唯一答案。有人专门盯着这些差别,在便宜的那家买、贵的那家卖,把各家的价格拉到一起。第 16 章会讲这些人和这些交易场所。

看得见的,不一定吃得到

订单簿上的单子可以随时撤掉,很多由程序挂出,每秒钟更新许多次。你在屏幕上看到的数量,等你的订单到了,可能已经不在了。

在受监管的市场,故意挂出不打算成交的大单来误导别人,叫幌骗(Spoofing),是违法的。但即使没有人作恶,正常的撤单也足以让「看得见的深度」和「吃得到的深度」不是一回事。

链上的另一种撮合DEX

很多去中心化交易所没有订单簿。它们用一个资金池和一条公式来报价:你买得越多,池子里剩下的币越少,价格就沿着公式越来越贵。

形式不同,道理相同:买得越多,平均价格越高。 第 16 章会把两种撮合方式放在一起比较。

动手

Lab在订单簿里下一笔单30 分钟本站的订单簿模拟 · 任意交易所的公开盘口

下面是本章那张订单簿。拖动数量,看你的订单吃掉几行、平均价格和滑点。

成交均价
60,027.33
滑点
17.33 · 2.9 bp
碰到的档位
4 档
成交后价差
50
卖单(被你吃掉的一边)
  1. 60,010吃 0.5
  2. 60,020吃 0.8
  3. 60,030吃 1.2
  4. 60,050吃 0.5
  5. 60,0803
  6. 60,1205
买单
  1. 60,0000.6
  2. 59,9900.9
  3. 59,9801.5
  4. 59,9602.2
  5. 59,9303
  6. 59,8905

课程版本V1-docs;来源lab:order-book;第 13 章 / TRD-MICRO-001

只记录点击时的参数和结果;不代表实验通过。
查看待保存快照
  1. 分别买 1、3、10 个 BTC,记下成交均价和滑点。数量翻了几倍,滑点翻了几倍?
  2. 勾上「前三档挂单撤走一半」,再买 3 个 BTC。滑点变成了多少?
  3. 切到「市价卖出」,卖 3 个 BTC。为什么卖出的滑点和买入不一样?
  4. 打开任意一家主流交易所 BTC 现货的公开盘口(不需要登录),记下卖方前五行,自己算一遍:买 1 个和买 10 个 BTC 的均价各是多少?写清取数的时间。

改一个变量

如果买入数量从 3 BTC 变成 10 BTC

六行卖单都要碰到,平均每个 60,069.70,比卖一贵 59.70 美元,大约 10 个基点。

数量多了两倍多,每个 BTC 多付的钱却从 17.33 涨到 59.70,一共多付 597 美元,是买 3 个时的十倍多。滑点不是按数量平摊的,订单越大,每一份都越贵。

如果卖一到卖三的挂单突然撤走一半

同样买 3 个 BTC,平均每个 60,038.67,滑点从 17.33 变成 28.67,贵了六成多。

订单簿薄了,同一笔订单就要吃得更深。这正是周末深夜和市场恐慌时会发生的事。

如果改成立即卖出 3 BTC

这次吃的是绿色那一截:平均每个 59,987,比买一低 13 美元。

买单那一侧前几行挂得比卖单一侧厚一些,所以同样 3 个 BTC,卖出的代价比买入小。订单簿两边的厚度不一样,买和卖的成本也不一样。

三种深度

同一个知识节点TRD-MICRO-001,三种深度各问一个问题
  1. 基础你点下「市价买入」的那一刻,订单簿里发生了什么?第 13 章
  2. 进阶Queue、逆向选择和市场冲击,怎样决定一笔订单的真实成本?Advanced E · 执行与微观结构
  3. 机构大额订单怎样拆分、去哪些场所成交,才能让冲击最小?Institutional
  4. 3D站在订单簿里点一次市价买入,看对面的挂单一层层被吃掉,算出成交均价和滑点。交易大厅

记住三件事:

  1. 屏幕上的价格只对第一小份有效,数量一大就不是那个价了。
  2. 市价单用价格换确定,限价单用确定换价格。
  3. 你的订单本身会改变价格。

带走的问题

7
流动性够吗?成交要付出多少成本?
先看订单簿,再决定订单大小。算一算你的数量要吃掉几行、滑点是多少,把它当成交易成本的一部分。
6
仓位应该多大?
仓位越大,成交成本越高。一个在 1 个 BTC 上赚钱的想法,放大到 100 个 BTC,可能就不赚钱了。
10
结果出来以后,怎样区分运气和决策?
一笔交易赚了钱,是因为方向对,还是因为你这次恰好成交得便宜?复盘时把两件事分开记。

本章自测

一句话带走

价格是买卖双方挂单的交界。市价单一层层吃掉对面的挂单,吃得越深,成交均价离最优价越远。

记录这次学习

“已读”只表示你确认读过本章;自测由你对照参考结论自评,两者都不等于掌握认证或职业等级。每次点击保留一条带时间的本地记录。

自答核心问题并记录自评

你点下「市价买入」的那一刻,订单簿里发生了什么?

概念掌握自报(不是认证)

仅由你主动声明。已读、正确自评或实验结果都不会推断掌握;未报告为未知。撤销后成为未知,并取消已选附件。

  • 买价:未读取

  • 卖价:未读取

  • 买卖价差:未读取

  • 限价单:未读取

  • 市价单:未读取

  • 排队:未读取

尚未读取本章自报;没有报告不表示已经掌握。

带着本章上下文准备提问

Tutor 提问工作台

模型服务尚未配置。点击发送只会把下方预览提交给本站接口并收到未配置提示,不会调用外部模型或生成回答。提供方、运行位置及数据保留方式仍待确定。

角色目标:用故事、例子和计算解释一个概念。 以下为提问准备,不是该角色的生成结果。

Foundation 第 13 章 · TRD-MICRO-001 v1.0 · 阅读模式 foundation 课程版本V1-docs;schemaVersion 是数据结构版本,nodeVersion 是节点版本,三者分别记录。阅读模式不等于自报 Level。

选择本地记录、管理自报 Level

读取只在点击后发生;读取不等于同意上传。已读、自评、实验、研究快照均是学习者资料,不是模型指令或已验证事实。不要放入密钥、身份信息或真实账户资料。

逐条选附(最多 10 条,默认不选)

没有已加载的记录。先在章节确认已读、自答自测,或在实验控件中保存当前快照。

检查将使用的提问与附件

请填写 1–4000 字的问题

服务未配置;没有 AI 回答。

本地存储、导出与清除

记录保存在当前浏览器、当前站点的 localStorage,最多 100 条,不自动过期。没有账号隔离或云备份;共用设备上的其他使用者可能读到。请单标签页编辑;多标签页同时写入可能覆盖,请及时导出。修改或删除记录会取消当前已选附件,需重新加载。

Journal 由第 35 章日志工具单独管理和清除。删除本地数据不代表删除未来服务端数据;当前没有服务端副本。浏览器拒绝存储时不会假报成功,请复制本页预览。

管理本地记录与 Tutor 提问

本页目录