第 05 章 市场结构:交易时段、执行系统与信息系统
对应 Harris《Trading and Exchanges》第 5 章“Market Structures”。第 04a、04b 章讲的是交易者手里的工具——订单;本章讲订单被送进去的“机器”——市场。作者的核心论断是:市场结构决定人们在市场中能知道什么、能做什么;权力来自知识和据此行动的能力,所以市场结构决定了各类交易者之间的力量关系,进而在很大程度上决定谁能盈利。本章给出一个分类框架:交易时段(连续还是集合竞价)、执行系统(报价驱动、指令驱动还是经纪)、信息系统(收集、分发、路由、展示、订单簿)。第 06 章再深入讲指令驱动市场的撮合规则。
学习目标
读完本章,你应当能够:
- 用“交易时段 + 执行系统 + 信息系统”三个维度描述任何一个市场,并说明市场结构为什么会改变最优交易策略。
- 比较集合竞价和连续交易的优缺点,解释为什么“开盘集合竞价 + 连续交易”成为主流,并能计算一次集合竞价的成交价。
- 区分报价驱动、指令驱动和经纪市场:谁提供流动性、谁安排交易、买卖如何匹配,以及各自适合什么工具。
- 理解事前透明与事后透明、订单簿顶部与按价格深度的区别,以及为什么不同交易者对透明度态度不同。
- 认识市场信息系统(行情数据、订单路由、订单展示、订单簿)对量化数据质量和策略可行性的影响,掌握期货交割月代码。
读前导读
这一章在解决什么问题。 CFA 一级把市场分成“报价驱动、指令驱动、经纪”三类,你可能当作定义背过。这一章要说明的是:这种分类不是标签,而是决定谁能赚钱的规则。在报价驱动市场里,交易商能挑客户、能回避知情者,所以对“好客户”报价窄、对可疑客户报价宽;在指令驱动市场里,交易商必须和任何接受报价的人成交,只能对所有人一视同仁地拉宽价差。同样,透明度高低决定了谁先看到信息,路由速度决定了谁先行动。作者的核心论断是“权力来自知识和据此行动的能力”,市场结构恰恰在分配这两样东西。
对量化交易者,这一章最实用的部分是:区分集合竞价和连续竞价(开盘价、收盘价是怎么来的)、了解行情数据的层级与延迟(Level-1 快照和逐笔数据能支撑什么精度的研究),以及期货月份代码这类必备的数据常识。
需要先想起来的数学。 本章只在量化实战里用到简单的“供需曲线”计算。
- 累计求和与单调性:集合竞价中,“愿以价格 \(c\) 或更高买入的总量” \(D(c)=\sum_{p_i\ge c}q_i\) 随 \(c\) 上升而减少(单调递减);“愿以 \(c\) 或更低卖出的总量” \(S(c)=\sum_{p_j\le c}q_j\) 随 \(c\) 上升而增加(单调递增)。两条阶梯线的交叉处就是成交价。函数单调性的直观读法见 第 00 册第 01 章 函数极限与连续。
- 最大化与“取使之最大的那个价格”(argmax):成交量 \(V(c)=\min\{D(c),S(c)\}\),集合竞价选 \(c^*=\arg\max_c V(c)\),即让 \(V\) 最大的那个 \(c\)。小例子:\(D=(1000,1000,500)\)、\(S=(900,1100,1400)\) 对应三个价格,则 \(V=(900,1000,500)\),第二个价格胜出。
- 赔率与隐含概率:庄家侧栏中“投 11 赢 10”可以换算为隐含概率 \(11/21\approx52.4\%\),这和从期权价格反推隐含波动率是同一种“由价格反推参数”的思路,只需算术。
怎么读这一章。 5.0–5.1 是框架,先读懂三个维度。5.2 精读 5.2.2–5.2.3(集合竞价 vs 连续交易)和“A 股对照”中的交易时段。5.3 是本章核心,四类执行系统和表 5-1 都要掌握。5.4 信息系统可以分两遍读:第一遍读 5.4.2 信息分发、5.4.4 透明度、5.4.7 订单簿;5.4.3 代码和 5.4.6 展示系统当作参考资料。量化实战的连续竞价与集合竞价对比是第 06 章的铺垫,建议把供需表自己推一遍。
5.0 为什么市场结构重要
市场使用的交易规则和交易系统定义了它的市场结构:谁能交易、交易什么、何时何地如何交易;交易者能看到关于订单、报价和成交的哪些信息,何时看到,谁能看到。
由此得出几个推论:
- 一个市场里有效的策略,在结构不同的市场中往往不灵。最优下单策略取决于市场结构,所以同一个交易者在不同市场中的行为会不同。
- 流动性、价格效率、波动率、交易利润都取决于交易者的行为,而市场结构通过改变行为来影响它们。
- 相似结构的市场中,交易问题有相似的解法,所以分类框架是有用的。
5.1 概览
交易时段分两类:连续交易时段(continuous trading sessions)——开市期间随时可以尝试交易;集合竞价时段(call market sessions)——所有交易只在市场被“召集”(called)时发生。
交易场所分两类:实体集中市场(physically convened markets)须在交易大厅谈判,期货在交易池(pits),股票在交易柱(posts);分布式接入市场(distributed access markets)用电话或屏幕系统在办公室交易。有些国家要求某工具的所有交易必须在特定交易所进行(例如当时 CBOT 玉米期货几乎只能在场内玉米池交易)。原书侧栏“实体集中的屏幕市场”:屏幕系统本适合分布式接入,但许多亚洲交易所曾要求交易者在交易大厅里使用电子系统——便于监管,也便于在电信基础设施差的地方建可靠网络。
执行系统分三类:
- 报价驱动(quote-driven):交易商与客户交易,安排大部分交易;
- 指令驱动(order-driven):用订单优先规则(order precedence rules)匹配买卖方,用成交定价规则(trade pricing rules)确定价格;
- 经纪(brokered):经纪人帮助买卖双方找到彼此。
信息系统包括:订单路由系统(在客户、经纪商、交易商、市场之间传送订单和成交回报)、订单展示系统(把订单呈现给交易者,如屏幕、喊价、手势)、订单簿(存储未结订单)、市场数据系统(向公众报告成交和报价)。
最小价格变动单位:多数市场只允许使用其整数倍的价格,它占价格的比例在各市场差异很大。第 11 章会说明,它是许多市场中市场质量极重要的决定因素。
5.2 交易时段
5.2.1 连续市场
开市期间随时可以交易。“连续”的意思是可以持续尝试安排交易,实际上通常只在有人需求流动性时才成交。几乎所有主要的股票、债券、期货、期权和外汇市场都有连续交易时段。
5.2.2 集合竞价市场
市场被召集时所有交易者同时交易。可以同时召集所有证券,也可以轮流(rotation)逐只召集。轮流召集曾很普遍,原书写作时只剩少数小国股市在用。
集合竞价的用途很广:
- 许多连续指令驱动交易所以集合竞价开盘,再转入连续交易,也用集合竞价在停牌后重启交易;公开喊价的期货交易所则一开盘就连续交易。
- 多数政府以集合竞价拍卖发行国债。
- 有些股市(德意志交易所、Euronext 巴黎)用集合竞价交易最不活跃的证券。
集合竞价通常采用批量执行系统(batch execution systems):同时用优先规则匹配全部订单,形成涉及多个买方和多个卖方的多边交易;少数允许交易者自行安排双边交易。
侧栏“价格聚集”(price clustering)。交易者并不均匀地使用所有可能的价格,而是聚集在“整数”上:分数报价时代,整数多于 1/2,1/2 多于奇数 1/4,依此类推;小数报价市场中 1.00、0.50、0.25、0.10、0.05 的倍数最常见。最小变动单位相对价格很小、市场波动大、交易清淡时,聚集最明显。聪明的交易者常把限价单挂在整数价位略上方或略下方,以抢到排队优先权。
侧栏“赛马的彩池投注”。美国赛马场的彩池投注(pari-mutuel betting)是一种集合竞价:押中的人瓜分全部投注额(扣除固定比例的抽成),赔率总计器实时显示预计赔付;投注截止时同时为所有注定价。因为系统只允许“市价单”,许多人等到最后一刻才下注,以看清价格。
5.2.3 集合竞价与连续交易的比较
- 集合竞价的主要优点:把对某工具感兴趣的所有交易者的注意力集中在同一时间地点,买卖双方容易找到彼此,流动性集中。
- 连续交易的主要优点:交易者想交易时就能尝试交易,这对不愿等待下次召集的不耐心交易者很重要。
股票市场的历史给出了答案:交易者偏好“开盘集合竞价 + 连续交易”胜过纯集合竞价。许多国家的交易所从轮流集合竞价改为带开盘竞价的连续交易,没有一家反向转变。
金融直觉:为什么开盘偏偏要用集合竞价?因为隔夜积累了大量新信息(海外市场、公司公告、宏观数据),开盘那一刻大家对价值的看法分歧最大。如果直接连续交易,第一笔成交价完全取决于谁的订单先到,很容易被少数订单扭曲。集合竞价把所有订单攒起来一次定价,类似 IPO 的累计投标(book-building)或国债拍卖:参与者越多,价格越能反映整体供需。开盘之后信息逐渐被吸收,分歧变小,连续交易的“即时性”价值就占了上风。收盘集合竞价的逻辑类似:收盘价被基金净值、指数、衍生品结算大量引用,必须尽量难以被单笔订单操纵。
5.2.4 交易时间
连续市场的常规时段通常在营业时间内(NYSE、Nasdaq 为美东时间 9:30–16:00),开盘前用来收集订单,收盘后用来结算和报告。有些市场为配合其他时区在本地“奇怪”的时间开市;外汇市场全天候交易。盘后交易时段(after-hours sessions)吸引其他时区的客户,或让交易者在常规时段后调整头寸。
侧栏“市场声呐”:市场往往像深海一样不透明;在连续市场中,交易者可以试探(ping)——提交订单看会发生什么——来获取他人愿意交易的价格信息。
侧栏“午休”:有些连续市场午间休市,东京证交所是当时最大的午休交易所。NYSE 和 Nasdaq 的日内交易活跃度一般在午餐时最低——可能只因午间处于开盘和收盘(都很活跃)的中间。这就是日内成交量 U 形分布的通俗说明。
A 股对照:沪深 A 股的交易时段是:9:15–9:25 开盘集合竞价(其中 9:20–9:25 不接受撤单),9:30–11:30 和 13:00–14:57 连续竞价,14:57–15:00 收盘集合竞价(深交所 2006 年起实行,上交所 2018 年起实行)。科创板和创业板另有 15:05–15:30 的盘后固定价格交易。A 股有午休,日内成交量呈现上午、下午各一段的“双 U 形”。集合竞价成交价按“成交量最大”的原则确定:高于成交价的买单和低于成交价的卖单全部成交,与成交价相同的买方或卖方至少一方全部成交;若有多个价格满足条件,两所的取价规则有差别(例如深交所取最接近前收盘价的价格),以交易规则原文为准。
5.3 执行系统
每个市场都有一套匹配买卖方的程序,即执行系统。执行系统是市场结构最重要的特征,市场常据此分类。
5.3.1 报价驱动的交易商市场
纯报价驱动市场中,交易商参与每一笔交易:任何人都必须与交易商交易,交易商之间也互相交易,但公众交易者之间不能直接交易。例如 Barbara 想买,必须找交易商从库存卖给她;Saul 想卖,必须找交易商买入;即使 Barbara 愿意直接向 Saul 买,在纯报价驱动市场中也做不到。称“报价驱动”是因为交易商报出买卖价;也称交易商市场,因为交易商提供全部流动性。
交易商市场的特点:
- 交易商与客户相互选择。客户选报价好、服务好的交易商;交易商只与它认为可信且有信用的交易者交易,许多交易商专门服务特定客群。
- 交易商设法回避知情客户,因为常输给他们(回想第 02 章交易商询问 Bob“有没有新闻”)。
- 有些交易商市场有交易商间经纪商,提供匿名交易,保护交易商免受同行的掠夺性行为。
金融直觉:交易商挑客户,和银行做信贷审批是同一件事:银行按客户信用分层定价,交易商按客户的“信息风险”分层定价。一家指数基金被动调仓、一家企业换汇付货款,几乎不可能比交易商更了解价格走向,可以拿到很窄的报价;一家以短线择时著称的对冲基金,就会被报得很宽甚至被拒绝。这种“价格歧视”让低风险客户受益,也是交易商市场能在债券、外汇这类标的上长期存在的原因。在指令驱动市场里所有人看到同一个价格,低风险客户实际上在为高风险客户分摊逆向选择成本,这一点后面讲订单流内部化的章节会重点讨论。
报价驱动市场很常见:几乎所有债券和外汇市场、当时的许多股票市场(Nasdaq、伦敦证交所的 SEAQ)。
侧栏“庄家就是交易商”。体育博彩市场是报价驱动的交易商市场,庄家(bookies)尽量保持两边投注额相等的平衡账簿(balanced book),靠给双方赔付的微小差异获利,这个差异叫 vigorish 或 juice,本质就是买卖价差。典型的橄榄球让分盘是“投 11 赢 10”:两边各投 11 美元,庄家收 22、付给赢家 21,每 22 美元投注赚 1 美元(若按“10 美元本金加 1 美元抽水”描述,就是每 20 美元本金赚 1 美元,原书即按此说法)。账簿失衡时,庄家向其他庄家下对冲注转移(lay off)风险,代价是付抽水。这与做市商的库存管理和对冲一一对应。
推导拆解:把“投 11 赢 10”换算成价格,就能看到价差。
- 押一边要付 11 美元,赢了拿回 21 美元(本金 11 + 赢 10)。公平价格下,付出 = 赢的概率 × 拿回,所以庄家报价隐含的“赢的概率” \(=11/21\approx52.4\%\)。
- 两边都按这个价格报,隐含概率之和 \(=2\times52.4\%=104.8\%>100\%\)。多出来的 4.8% 就是庄家的“价差”,好比一个资产的 ask 隐含概率加上反方向的 ask 隐含概率超过 1。
- 账簿平衡时,两边各收 11,共 22,付给赢家 21,确定性地赚 1,与比赛结果无关,即 \(1/22\approx4.5\%\) 的收入率。
这正是做市商的理想状态:买卖量平衡时只赚价差、不承担方向风险。账簿失衡时庄家就像做市商持有了存货,要么调整赔率(调整报价)吸引另一边投注,要么向其他庄家对冲(在交易商间市场平仓)。
侧栏“没有记分卡分不清球员”。交易所起初是会员组织,提供场所和规则;后来采用规则匹配系统,实质上成了经纪商。经纪公司也建立了类似的匹配系统,看起来很像交易所;ECN 像交易所,运作如经纪商。交易所与经纪商的界限越来越模糊,这是监管争论的话题。
5.3.2 指令驱动市场
买卖双方经常在没有交易商居间的情况下直接交易:订单优先规则决定哪个买方与哪个卖方成交,成交定价规则决定价格。多数是拍卖市场(auction markets),交易规则把“买方找最低价、卖方找最高价”的过程规范化,经济学家称之为价格发现过程(price discovery process)。交易者可以提供流动性(表明条件),也可以获取流动性(接受条件)。
交易商可以而且经常在指令驱动市场交易。在纯指令驱动市场中他们与其他交易者地位平等;有些市场中交易商提供大部分流动性,但仍称指令驱动市场,因为交易商不能选择客户——规则要求他们与任何接受其报价的人成交。
白话解释:区分报价驱动和指令驱动,关键不是“有没有交易商”,而是交易商能不能挑对手。在指令驱动市场里,交易商的报价就是一张挂在订单簿上的限价单,谁来吃都得成交,等于把第 04a 章说的免费期权送给了所有人,包括知情者。在报价驱动市场里,交易商的报价只对眼前这位客户有效,看人下菜,期权只送给它信得过的人。所以同样是交易商,在两种市场里面对的逆向选择风险完全不同。
指令驱动市场的结构差异:
- 单一价格拍卖(single-price auctions):集合竞价后全部以同一价格成交;
- 连续双边拍卖(continuous two-sided auctions):买卖双方持续尝试成交,价格随时间变化;
- 交叉撮合网络(crossing networks):以从其他市场取得的价格撮合(如第 02 章的 POSIT)。
实施方式有两种:口头拍卖(oral auctions,也称公开喊价)在交易大厅面对面谈判;基于规则的订单匹配系统(rule-based order-matching systems)用规则匹配提交的订单,多为电子自动撮合。
由于用优先规则安排交易,交易者不能选择对手,常与没有信用关系的人成交,所以指令驱动市场必须有完善机制确保所有交易者可信且有信用(中央对手方清算,第 07 章)。
侧栏“全球最多产的市场组织者”:eBay 任何时刻都在为数百万件物品进行纯指令驱动拍卖,多数是只允许买方提交限价单的集合竞价,截止时出价最高者获胜;“一口价”让买方在结束前接受卖方报价。eBay 不担保结算,靠互评信用评级降低欺诈。
5.3.3 经纪市场
经纪人积极寻找匹配的买卖方。区别特征是经纪人在寻找流动性中的作用:在交易者通常不公开报价的市场,经纪人必须找到愿意报价的人。这些市场通常不流动,交易商一般不愿参与。
经纪市场中提供流动性的有两类交易者:
- 隐蔽交易者(concealed traders):知道自己想交易,但不向公众暴露订单,经纪人带来合适机会时才出手;
- 潜在交易者(latent traders):直到经纪人带来有吸引力的机会才知道自己想交易。交易决策成本高、交易机会少时,潜在交易者很常见。
经纪市场通常出现在交易物品独特、交易商不愿持有库存时:大宗股票和债券、房地产、整体企业买卖。这些市场中交易商不持仓(标的太大、交易太少),指令驱动也不可行(交易者不愿挂单)。
金融直觉:投行的并购顾问是最典型的经纪市场。一家公司的控股股东平时并没有“卖公司”的挂单,但如果顾问带来一个出价高出 40% 的买家,他就成了卖方,这就是“潜在交易者”。房地产中介、私募二级市场份额转让、大宗股票配售都是这个结构。经纪人的价值在于两点:知道谁可能感兴趣(搜寻),以及在不公开消息的前提下接触对方(控制信息泄露)。所以经纪市场的佣金通常远高于交易所市场,因为搜寻和保密本身就是主要成本。
5.3.4 混合市场
现实中的市场多是混合的:当时的 NYSE 本质上是指令驱动市场,但要求专家在无人提供流动性时提供,有报价驱动成分;Nasdaq 本质上是报价驱动市场,但要求交易商展示并执行公众限价单,有指令驱动成分;两者中经纪人有时安排大宗交易,又有经纪市场特征。
原书表 5-1 汇总:
| 市场类型 | 分类 | 谁提供流动性 | 谁安排交易 | 买卖如何匹配 | 常见例子 |
|---|---|---|---|---|---|
| 交易商市场 | 报价驱动 | 交易商 | 交易商 | 客户选择交易商 | 外汇、债券、股票场外市场 |
| 口头拍卖 | 指令驱动 | 交易商和公众限价单交易者 | 交易者 | 交易规则规范谈判 | 场内股票、期货、期权拍卖 |
| 订单匹配系统 | 指令驱动 | 提交限价单的交易者 | 经纪商或交易所 | 交易规则匹配订单 | 电子交易所、自动经纪系统 |
| 经纪市场 | 经纪 | 公众交易者 | 经纪人 | 经纪人撮合 | 大宗交易 |
现状补充:二十年来全球股票市场几乎全部转向电子订单匹配系统:Nasdaq 以电子限价订单簿为核心,伦敦证交所的 SETS 已覆盖主要股票,NYSE 的场内成分大幅缩小。另一方面,美国零售订单大量由批发做市商在场外内部化执行,形成了“交易所订单簿 + 场外做市”的新型混合结构。
A 股对照:A 股是典型的纯指令驱动市场,全部通过交易所电子订单匹配系统撮合(连续竞价 + 开收盘集合竞价)。科创板自 2022 年起引入做市商机制,作为订单簿的补充,形成混合结构。国内银行间债券市场则以询价(交易商报价)为主,属于报价驱动;大宗交易近似经纪市场。
5.4 市场信息系统
信息系统决定交易者看到什么、何时看到。原书反复强调:谁能获得市场信息、何时获得、以何种形式获得,在很大程度上决定谁能盈利、谁付高交易成本。
5.4.1 信息收集
市场产生的信息价值极高:工具价值、成交、谁交易过、谁想交易以及条件。多数市场从交易系统收集信息,一部分展示给交易者,一部分卖给数据商,大部分保存用于监管。市场数据销售利润丰厚,当时许多大交易所的数据收入超过总收入的 20%。电子交易系统收集信息几乎没有成本,人工市场则要专门建系统,所以电子系统在信息收集上有很强的成本优势。场内交易所雇用市场报告员记录成交;有些电话和场内市场要求交易者在规定时间内自行报告(Nasdaq 电话成交须在 90 秒内报告)。原书侧栏提到,Archipelago ECN 当时通过互联网免费发布完整的限价订单簿。
5.4.2 信息分发
多数市场中,会员比非关联交易者获得更多、更快的信息。市场把信息卖给数据商重新包装分发:客户可以买实时服务(另付交易所费用),也可以买延迟 5–20 分钟的服务——交易所以此对时间敏感程度不同的客户实施价格歧视。原书表 5-2 列出了当时非专业订户的月费,例如 Nasdaq Level I 1 美元、Level II 10 美元,CME 60 美元。
数据商提供两类服务:广播服务(成交价量数据流和行情带、报价数据流)和查询服务(按需提供)。需要极快查询的电子自营交易系统会自建数据服务器。
美国股市数据商受供应商展示规则(Vendor Display Rule)约束,必须用所有交易场所的报价构建综合报价——否则数据商不会纳入小市场的报价,新交易系统将很难争夺订单流。美国几乎所有市场都须把成交和报价发给证券信息处理器(SIP),由其分发综合信息。
屏幕交易系统中参与者常能看到比公众更多的信息:多伦多证交所让会员看到完整订单簿,公众只能看到买卖各五档的汇总数量。
现状补充:Reg NMS(2005 年通过,2007 年实施)重塑了美国股市的数据和路由规则:订单保护规则(禁止以劣于其他市场受保护报价的价格成交)、接入规则、1 美分最小报价单位规则和市场数据规则。今天美国股市数据分为 SIP 综合行情和交易所直连数据(direct feeds),后者更快、更全,高频交易者普遍使用直连数据,二者的延迟差是监管争论的焦点之一。
A 股对照:A 股的 Level-1 行情提供买卖五档,Level-2 提供十档、逐笔委托和逐笔成交等信息;行情快照通常每 3 秒一次。这与多伦多“会员看全簿、公众看五档”的分层思路类似:付费更多、接入更好的人看得更多、更快。
5.4.3 证券代码
命名惯例因交易所、国家和数据商而异。当时美国上市普通股代码 1–3 个字母(单字母罕见,通常留给最大的公司),Nasdaq 股票 4 个字符,开放式共同基金 5 个字符且最后一个总是 X。
期货代码:商品代码 + 年份数字 + 交割月字母,例如 LC2Z 是 CME 2002 年 12 月活牛期货,E72H 是 E-Mini 欧元 2002 年 3 月合约。交割月代码(原书表 5-3,11、12 月按行业标准补全):
| 月份 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 代码 | F | G | H | J | K | M | N | Q | U | V | X | Z |
这套代码至今仍是国际期货数据的标准,量化处理海外期货数据时必须掌握。
股票期权代码(当时由 OPRA 分配):3–5 个字符,前 1–3 个为期权根代码(代表标的),倒数第二个字符表示类型和到期月(看涨 1–12 月为 A–L,看跌为 M–X),最后一个字符表示行权价(A=5/105/205,B=10/110/210,……,T=100/200/300,U=7.5/37.5 等)。例如 IBMAT 是 IBM 1 月 100 看涨,IBMMT 是 IBM 1 月 100 看跌,第 02 章 Lisa 的 MSQMK 是 Microsoft 1 月 55 看跌。期货期权的命名各异:看涨月份代码与期货交割月代码相同,看跌为 A、B、C、D、E、I、L、O、P、R、S、T。
现状补充:美国股票期权 2010 年改用 OSI 标准代码(标的 + 到期日 YYMMDD + C/P + 8 位行权价),原书的 OPRA 字母代码已停用。国内期货合约代码为“品种代码 + 年月”(如 rb2501、IF2412),无需字母月份代码。
5.4.4 透明度
市场发布的数据很有价值:公众用来预测价格变化、预测订单何时执行、评估经纪商表现;没有这些信息,公众不会对市场有信心。
- 事前透明(ex ante / pre-trade transparency):迅速报告报价和订单;
- 事后透明(ex post / post-trade transparency):迅速报告成交;
- 只报告最优买卖价的称显示订单簿顶部(top of the book);报告多个价位的称按价格的市场深度(market by price),即公开限价订单簿(open limit order book)。
原书表 5-7 比较了各市场的透明度:美国股票和期权交易所立即公布最优买卖价、所有成交最迟 90 秒内报告;美国期货市场事后透明但非事前透明(口头拍卖中报价存在时间太短,无法报告);美国场外公司债和市政债通常很不透明;国债市场由交易商间经纪商提供信息;外汇市场报价由数据商提供,成交不报告;Euronext 巴黎公开所有订单;伦敦证交所大额成交可以延迟报告;德意志交易所超大的私下协商交易可能永不报告。
交易者对透明度的态度是矛盾的:能看到别人在做什么时赞成,要求暴露自己时反对。一般而言,最不了解市场状况的人最支持透明度;最了解的人反对,因为不愿放弃信息优势。交易者常说“前一半信息比后一半重要得多”——对原本一无所知的人,看到一点点正在发生的事都极其重要。原书侧栏指出,美国大投行交易债券一般比交易股票赚得多,股市更透明可能是原因之一。
金融直觉:透明度之争本质是“信息租金”归谁。在不透明的公司债市场,交易商看得到大量客户询价和成交,客户只能看到自己的那几笔,交易商因此能按信息优势定价,赚得厚。美国 2002 年推出 TRACE 公布公司债成交价后,多项研究发现客户的交易成本明显下降,说明一部分利润确实来自信息不对称。但透明度并非越高越好:大额订单若立即公开,接手的交易商在平掉库存前就被所有人知道了方向,会被抢先交易,于是不愿接大单或报价更宽。这就是伦敦等市场允许大额成交延迟报告的原因,也是后面讨论大宗交易时的核心权衡。
5.4.5 订单路由系统
好的路由系统快而准。交易者能盈利地执行哪些策略,取决于可用的路由系统:做高频交易策略(high-frequency trading strategies)的短线交易者必须能快速可靠地下单和撤单,要么在场内交易,要么使用快速、有良好计算机接口的路由系统。(这是原书中“高频交易”一词的出处之一,写于 2002 年。)
电子路由系统更快、更准、运营更便宜,正迅速取代电话和跑单;主要缺点是只能处理标准化指令。当时美国股市中最有意思的路由系统是 ITS(Intermarket Trading System,市场间交易系统),让一个市场的交易者把订单发往另一市场,对保持美国股市的整合与竞争很重要(第 26 章)。
原书侧栏介绍了两个早期的算法交易平台:ITG 的 QuantEX 接收实时行情,内置编程语言,用户可以按自定义规则自动生成和提交订单,最常用于管理大型交易程序,也有人用于高频自营策略;State Street 的 Lattice 可以把订单路由到最佳市场,并能创建随市况动态调整的限价单策略。
侧栏“场内交易者的优势”:场内交易者能比场外交易者早得多看到并响应市场动态。当时最好的数据系统 3 秒内报告,最好的路由系统 5 秒内把订单送达,这些延迟让场内交易者能抢先利用机会。场内交易者还能看到谁在交易,若能猜出对方为何交易或代表谁,这很有价值。这就是“速度优势 + 信息优势”,在电子市场中演化为低延迟竞争和订单流识别。
侧栏“电报、行情带、电话与电子数据网络”:电报出现前,信息传递不比骑马快,每个大城市都有自己的交易所,同一工具各地价差很大。电报让交易者了解其他城市的市况,把订单发往价格最好的地方;套利者最先使用。有流动性声誉的市场吸引更多订单从而更流动,小市场要么停止交易,要么合并。每次通讯创新都加剧竞争并导致市场集中。 另一则侧栏讲了 AMEX 手势传单的由来:交易所早年在街头交易,电报员在楼上窗口用手势向街上的经纪人传递订单。
现状补充:ITS 在 Reg NMS 实施后退出历史舞台,取而代之的是各市场之间的直接接入和券商的智能订单路由(smart order routing, SOR)。
5.4.6 订单展示系统
屏幕交易系统随电子通讯变便宜越来越普遍。有的向所有参与者广播全部信息;消息系统(messaging systems)允许向特定交易者发私信,交易商市场常用来谈判。屏幕系统是看板交易系统的技术继承者——NYSE 曾在大厅墙上挂看板展示订单,因此被称为“Big Board”。
公告板(bulletin boards)发布交易意向(indication of interest, IOI),通常显示经纪-交易商名称、证券、买卖方向,很少有确定价格。当时机构用 AutEx 或 Bridge 发布电子意向,清淡的场外股票用 Nasdaq OTC Bulletin Board,最小最不活跃的股票在 Pink Sheets 上发布。
口头拍卖与口头沟通的准确性。口头谈判必须非常准确:场内有人喊叫推搡、电话铃响、行情滚动,快速市场中无差错沟通是巨大挑战。大型期货池公开喊价的未匹配交易率常高达 4%。防误解的方法包括:让双方在屏幕上看到对方的意图;用手势(掌心向外表示卖,掌心向内表示买);固定报价格式——出价时“价格 for 数量”(喊“6 for 20”是愿以 6 买 20 张),要价时“数量 at 价格”(喊“40 at a quarter”是愿以 1/4 卖 40 张);只喊价格末位;电话交易复述确认并录音;出错时确定谁错了,无法确定就各让一半(split the difference)。原书侧栏还记录了两段趣事:1992 年 Lehman Brothers 试验把交易员通话实时转写到屏幕上的语音识别系统,因技术太原始放弃;香港期货交易所的经纪人为了手机信号站到窗边交易,使交易所的录音系统收不到声音,1995 年交易所改用电子系统 HKATS 后问题消失。
5.4.7 订单簿
所有代理订单的经纪商、交易所和交易商都维护订单簿,存放暂不能成交的未结订单,主要是挂单限价单,也可能有尚未触发的止损单和 MIT 单。
订单簿含有极有价值的信息:它揭示了交易者愿意交易的条件。第 11 章将说明,知道别人意图的聪明交易者常能抢在其前面交易获利,所以能否接触订单簿是盈利的重要决定因素。
- 公开订单簿市场(open book markets)向所有人完整展示订单簿;封闭订单簿市场(closed book markets)不展示。
- 交易者一般都想看订单簿,但很多人不想让别人看到自己的订单。在公开订单簿市场中,他们不提交挂单,而是自己或由经纪人持有,等合适机会再出手。
- 规则匹配系统在交易者把挂单放进系统时效果最好。为保护限价单交易者,有些市场限制访问订单簿,或允许隐藏订单(如 Euronext 的未披露限价单)。
- 许多交易商为送来订单流的经纪人代管订单簿,有些交易商喜欢持有限价单,因为这些单子给他们免费交易期权。
白话解释:最后一点值得停一下。交易商代管客户的限价单,就等于一个人同时拿着很多张别人送出的期权,而且只有他能看到。行情对他有利时他可以先和这些限价单成交,对他不利时就让它们留在那里。这是一个典型的利益冲突,也是为什么很多市场规定“公众订单优先”“交易商不得在客户限价单前面交易”(第 02 章专家被要求先让簿内订单成交,就是这类规则)。
5.5 小结与要点
市场结构的差异决定了市场如何运作、谁能提供流动性、谁最了解当前市况、谁能先行动,从而影响流动性、交易成本、价格效率,并决定谁能盈利。差异最大的是如何安排交易:报价驱动(交易商安排全部交易、提供全部流动性)、指令驱动(交易者或电子系统匹配公众订单)、经纪(经纪人寻找愿意交易者)。集合竞价只在召集时交易,连续市场开市即可交易;实体集中市场在交易大厅,分布式接入市场在办公室;透明市场让人看到所有订单和成交,不透明市场中许多人永远看不到。现存结构的巨大多样性说明,最佳结构取决于工具本身、人们为何交易它,以及可用的通讯和计算技术。
量化实战:集合竞价与连续竞价的撮合差异
本章对量化交易的影响集中在以下几点:
- 回测必须区分集合竞价和连续撮合。开盘价、收盘价由集合竞价产生,是单一价格;连续竞价阶段的成交价随订单到达顺序变化。用收盘价回测的策略,其实盘执行对应的是收盘集合竞价;用分钟数据回测的策略对应连续竞价。混用会产生偏差。
- 日内模式:U 形成交量、A 股午休带来的双 U 形,直接决定 VWAP 算法的成交量曲线和日内因子的构造方式。
- 数据质量:订单簿顶部 vs 多档深度、快照 vs 逐笔、SIP vs 直连数据、延迟行情,决定了高频研究能做到什么精度。A 股 Level-1 只有 3 秒快照,在快照间发生的成交顺序和撤单都不可见,基于快照的订单簿回测必须考虑这一点。
- 价格聚集:整数价位附近的挂单聚集可以用于排队和支撑阻力研究,“在整数前一档挂单”是常见的执行技巧。
- 透明度与执行成本:在债券等不透明的 OTC 市场,量化策略面临更高的执行成本和信息劣势,需要单独建模。
下面的代码把同一组 8 张限价单分别送进连续竞价(用第 04a 章的订单簿)和集合竞价(按“成交量最大—未成交量最小—最接近参考价”的规则定价),比较两种机制的成交结果;最后给出期货交割月代码的解析函数。集合竞价的定价规则与交易者剩余,第 06 章会详细讨论。
运行前先把第 04a 章「实战一」的第一段代码保存为 lob.py,并与下面的脚本放在同一目录。
import numpy as np
import pandas as pd
from lob import LimitOrderBook # 第 04a 章的订单簿
# 同一组限价单(按到达顺序)
orders = [("B", 10.05, 300), ("S", 10.02, 200), ("B", 10.03, 500), ("S", 9.98, 400),
("B", 10.00, 600), ("S", 10.04, 300), ("S", 10.01, 500), ("B", 10.06, 200)]
# ---------- 1. 连续竞价:逐笔到达、逐笔撮合 ----------
ob = LimitOrderBook(tick=0.01)
for side, p, q in orders:
ob.limit(side, p, q)
ct = pd.DataFrame(ob.trades, columns=["价格", "数量", "主动方", "被动方"])
print("连续竞价成交:")
print(ct[["价格", "数量", "主动方"]].to_string(index=False))
print(f"连续竞价:{len(ct)} 笔,成交量 {ct['数量'].sum()},价格区间 {ct['价格'].min()}–{ct['价格'].max()}")
# ---------- 2. 集合竞价:一次性撮合、单一价格 ----------
def call_auction(orders, prev_close):
buys = [(p, q) for s, p, q in orders if s == "B"]
sells = [(p, q) for s, p, q in orders if s == "S"]
cands = sorted({p for _, p, _ in orders})
rows = []
for c in cands:
demand = sum(q for p, q in buys if p >= c) # 愿以 c 或更高价买的量
supply = sum(q for p, q in sells if p <= c) # 愿以 c 或更低价卖的量
rows.append((c, demand, supply, min(demand, supply), abs(demand - supply)))
tab = pd.DataFrame(rows, columns=["价格", "累计买量", "累计卖量", "可成交量", "不平衡量"])
best = tab[tab["可成交量"] == tab["可成交量"].max()] # 规则 1:成交量最大
best = best[best["不平衡量"] == best["不平衡量"].min()] # 规则 2:未成交量最小
best = best.iloc[(best["价格"] - prev_close).abs().argsort()] # 规则 3:离参考价最近(交易所具体规则不同)
return tab, best.iloc[0]
tab, clr = call_auction(orders, prev_close=10.00)
print("\n集合竞价供需表:")
print(tab.to_string(index=False))
print(f"集合竞价:单一成交价 {clr['价格']},成交量 {clr['可成交量']}")
# ---------- 3. 期货代码中的交割月字母 ----------
MONTH = dict(zip("FGHJKMNQUVXZ", range(1, 13)))
def parse_future(code):
"""例:'LC2Z' → 商品 LC,2002 年 12 月(单个年份数字需结合上下文判断年代)"""
root, year, month = code[:-2], code[-2], code[-1]
return root, int(year), MONTH[month]
for c in ["LC2Z", "E72H"]:
print(c, "→", parse_future(c))
运行输出:
连续竞价成交:
价格 数量 主动方
10.05 200 S
10.05 100 S
10.03 300 S
10.03 200 S
10.01 200 B
连续竞价:5 笔,成交量 1000,价格区间 10.01–10.05
集合竞价供需表:
价格 累计买量 累计卖量 可成交量 不平衡量
9.98 1600 400 400 1200
10.00 1600 400 400 1200
10.01 1000 900 900 100
10.02 1000 1100 1000 100
10.03 1000 1100 1000 100
10.04 500 1400 500 900
10.05 500 1400 500 900
10.06 200 1400 200 1200
集合竞价:单一成交价 10.02,成交量 1000.0
LC2Z → ('LC', 2, 12)
E72H → ('E7', 2, 3)
怎么读:
- 成交量相同,价格分布不同。两种机制都成交了 1,000 股,但连续竞价产生了 5 笔、价格从 10.01 到 10.05 的成交,集合竞价只有一个价格 10.02。
- 连续竞价中,价格取决于到达顺序。第一个卖家(限价 10.02)以 10.05 成交,因为它碰上了一个积极的买单——连续竞价按被动方的挂单价成交,到达早晚和对手是谁决定了你的价格。集合竞价中所有人都以 10.02 成交,愿意出 10.05 买的人也只付 10.02。这就是第 06 章要讨论的“歧视性定价”与“统一定价”的区别。
- 集合竞价的价格选择:10.02 和 10.03 都能成交 1,000 股、不平衡量都是 100,按“离参考价 10.00 最近”选 10.02。不同交易所在这一步的规则不同,回测集合竞价时要按目标市场的规则实现。
推导拆解:供需表每一行怎么来,以 10.02 这一行为例。
- 累计买量:限价 \(\ge10.02\) 的买单有 10.05(300)、10.03(500)、10.06(200),合计 1,000。限价 10.00 的买单不愿付 10.02,不算。
- 累计卖量:限价 \(\le10.02\) 的卖单有 10.02(200)、9.98(400)、10.01(500),合计 1,100。
- 可成交量 \(=\min(1000,1100)=1000\):买方只要 1,000,卖方再多也卖不出去。不平衡量 \(=|1000-1100|=100\),即卖方有 100 股没成交。
- 对所有候选价格重复这一步,累计买量随价格上升递减、累计卖量递增,可成交量先升后降,最大值出现在两条线交叉附近(10.02–10.03)。
为什么用“成交量最大”而不是别的标准?因为成交量最大的价格,就是经济学供需曲线的交点:在这个价格上,愿意成交的人最多被满足,交易者剩余(愿付价与实付价之差的总和)也接近最大。第 06 章会把这个结论讲完整。
- 对量化的意义:用集合竞价价格(开盘价、收盘价)回测的策略,假设的是“以统一价格成交”,且自己的订单会参与供需平衡、可能改变成交价;用连续竞价数据回测时,必须考虑到达顺序和排队,不能假设总能以某个价格成交。
本章小结
市场结构由交易时段、执行系统和信息系统组成,它决定交易者能知道什么、能做什么,从而决定权力关系和利润分配。集合竞价集中流动性,连续交易提供即时性,“开盘集合竞价 + 连续交易”是主流。报价驱动市场中交易商提供全部流动性、可以选择客户并回避知情者;指令驱动市场用优先规则和定价规则匹配订单,交易商不能选客户,需要中央清算保证信用;经纪市场服务于隐蔽和潜在交易者,适合独特标的和大宗交易;现实中多是混合市场。信息系统中,数据是交易所的重要收入,会员和场内交易者比公众看得更多更快;最不知情的人最支持透明度;订单簿信息价值高,于是有了隐藏订单和封闭订单簿。每次通讯技术进步都推动竞争和市场集中。
| 概念 | 要点 |
|---|---|
| 市场结构 | 交易时段 + 执行系统 + 信息系统 |
| 集合竞价 | 召集时同时交易,单一价格;集中流动性 |
| 连续交易 | 随时可交易;提供即时性 |
| 报价驱动 | 交易商参与每笔交易,可选客户 |
| 指令驱动 | 优先规则匹配、定价规则定价;交易商不能选客户 |
| 经纪市场 | 经纪人搜寻隐蔽交易者和潜在交易者 |
| 事前 / 事后透明 | 报价订单的发布 / 成交的发布 |
| 订单簿顶部 / 按价格深度 | 只显示 BBO / 显示多档 |
| 集合竞价定价 | 成交量最大 → 不平衡量最小 → 参考价规则 |
| 期货月份代码 | F G H J K M N Q U V X Z 对应 1–12 月 |
练习
基础
- 用“交易时段 + 执行系统 + 信息系统”三个维度描述 A 股主板市场和国内银行间债券市场。
- 解释为什么报价驱动市场中的交易商能回避知情交易者,而指令驱动市场中的交易商做不到。这对两种市场中的价差有什么影响?
- 下面哪些市场更适合经纪市场结构:一幅名画、一只大盘股的 100 股、一家未上市公司 30% 的股权、一张 10 年期国债?说明理由。
- 解析期货代码 CLZ5、ESH6 的交割月份。 答案:12 月、3 月(年份需结合上下文)。
进阶
- (原书第 5 题)集合竞价集中流动性,连续市场提供即时性。如何权衡?对一只日均成交只有几笔的股票,你会推荐哪种机制?
- (原书第 6 题)轮流集合竞价应按什么顺序召集证券?套利者在轮流集合竞价中面临什么特殊问题? 提示:相关证券在不同时间定价,套利者无法同时成交两条腿。
- (原书第 7、12 题)“阳光是最好的消毒剂”对透明度意味着什么?大买方交易员如何看待事前透明?哪些因素决定一个交易者是否支持订单和成交价的透明?
- (原书第 9 题)哪些工具最适合报价驱动、指令驱动和经纪市场?从交易频率、标准化程度、单笔规模、信息不对称程度四个方面分析。
- 修改本章代码:在集合竞价中加入一张 400 股、限价 10.06 的买单,成交价和成交量如何变化?如果你是这张买单的提交者,你的订单对成交价的影响有多大?这对“在收盘集合竞价中执行大单”有什么启示?
- 一个基于 A 股 Level-1 快照(每 3 秒)的做市回测假设:自己的挂单在快照中价格被穿过时即成交。列出这个假设可能高估收益的至少三个原因。 提示:排队位置未知;快照间的成交和撤单不可见;逆向选择(第 04a 章);集合竞价时段的特殊规则。
原书推荐习题:第 5 章思考题共 16 题(PDF p.124),推荐第 5、6、7、9、12 题。
原书对照
- 原书第 5 章 Market Structures,PDF 第 102–124 页(原书页码约为 PDF 页码减 13)。
- 开篇与 5.1 概览:p.102–103;5.2 交易时段(侧栏“价格聚集”“赛马的集合竞价投注”“市场声呐”“午休”):p.103–105;5.3 执行系统(表 5-1,侧栏“庄家就是交易商”“没有记分卡分不清球员”“全球最多产的市场组织者”):p.105–109;5.4 市场信息系统(表 5-2 至 5-8,侧栏 SIP、QuantEX、Lattice、“场内交易者的优势”、Pink Sheets 等):p.110–123;5.5 小结、5.6 要点:p.123–124;5.7 思考题:p.124。
- 原书表 5-8(p.119,订单路由系统)为旋转表格,本章只摘要。