做市的核心:自利行为如何提供市场公共服务
做市最奇妙的地方在于,参与者交易完全是为了自己的经济激励、为了自己的利润。即便每个人都彻底自利,他们仍然在替交易所完成一项功能:仓储风险。假设一个买家和一个卖家来到同一个交易所,也就是来到了同一个空间位置,但他们到达的时间不同。只要允许这些人和其他人交易,市场就可以自己决定一个公平价格。
这一点非常重要,因为它说明,自由、无摩擦的市场对资本主义经济有多重要。大家好,我叫 Anan。嗯,我以前在 Flow Traders 做高频交易,后来去了 Tower Research Capital,现在是 QEX 的创始人兼 CEO。QEX 是一个面向股票、大宗商品和外汇的、全天候 24/7 的永续期货交易所。今天我要教大家做市到底是怎么运作的。
系统化交易地图:资本与速度两条轴
谈做市之前,我们先退一步,想清楚自己处在什么样的交易世界里。人们经常把高频交易、做市、量化交易、算法交易混在一起,也会问量化研究员做什么、交易员做什么、开发者又做什么。我们先花几分钟把这个世界展开,我把整个大类统称为“系统化交易”(systematic trading)。
系统化交易可以沿两条轴来理解:一条是资本,一条是速度。速度这一侧,策略从所谓的高频交易,一路延伸到中频交易以及更慢的策略;资本这一侧,则对应不同类型的机构。
自营机构与对冲基金:资本回报率的经济学
从资本这一轴看,大致有两类公司。第一类是 proprietary trading firm,也就是通常简称 prop 的自营交易公司;第二类是拿别人的钱来交易的公司。按照我这里非常宽泛的说法,对冲基金就是一种拿别人的钱来做交易的机构。
在这个大框架里当然也可以有非系统化交易,也就是 discretionary,主观交易。今天我们不讲它,我们讲系统化交易,它有时也叫 quantitative trading,量化交易。基本思想是:我们根据规则,以及过去观察到的统计模式来构建交易策略,然后用这些策略赚钱。
如果只看资本侧,自营交易公司和对冲基金的一个主要区别是,自营公司通常只使用合伙人自己的钱,因此资本量往往没有那么大。既然资本有限,它们就需要非常好的资本回报率,需要更高的利润率,才能赚到足够的钱。所以它们通常会做那些容量未必很大、却可能产生很高百分比回报的策略。
自营交易公司的年回报可以高到 50%,甚至 100% 以上。我想你很难找到长期做到这种回报水平的对冲基金。不过,对冲基金的重点是它能吸收大量资本,所以即使在这些资本上只做到比较温和的回报,最终赚到的绝对金额仍然很大。
两类机构能运行什么策略,也受到资金来源的影响。对冲基金最终管理的是客户的钱,它必须在客户设定的风险约束里行动,而这些约束又是基金和客户谈判出来的。基金要有销售流程把资本募进来,也必须规定资本怎么返还、怎么赎回,以及基金亏钱时怎么办等等。
自营公司就不太一样。很多这类监管考量并不以同样方式适用,因为你最终是在拿自己的钱交易。这有点像你拿自己的钱管理股票组合:监管者通常不会像管理客户资金那样关心这笔钱以什么条件进来、又以什么条件退回去。
再看速度这一轴。这里有高频交易,也有中频交易,有时还会说低频交易;不过在系统化交易世界里,我们主要就在前两者之间讨论。高频和中频的差别,关键在于你预测多远、持有风险多久。
高频交易里,你通常预测非常短的未来,并且尽量不要让自己承担风险超过几秒钟——我会说从几秒到一分钟左右。正因为如此,高频交易和自营交易公司非常契合。我给你一个直觉:自营公司需要高资本回报率,所以它不能把一笔资本占在那里很久才开始产生收益。
如果你做高频交易,你会不断进出仓位,所以不会积累一个非常大的单边头寸。假设我交易标普期货:我买入之后,信号很快又让我卖出,因为我只预测未来几秒,或者最多一分钟。那么我的仓位会持续“买、卖、买、卖”,通常不会累积到几亿美元甚至几十亿美元,也就不需要为一个巨大头寸准备那么多资本和风险承载能力。
因此,那些资本没有那么多、却需要做到很高资本回报率的自营公司,往往很适合高频交易:它们不会长期留在巨大仓位里。相反,对冲基金更容易落到中频世界,因为它们不太在意高频交易每一笔非常小的盈亏。
高频策略如果只预测未来几秒,也只持有风险几秒,那么扣掉费用之后,市场在这么短时间里能给你的可利用价格变化和价差终究有限。所以,如果你有能力在一笔交易后面投入大量资本、承担更大的头寸,那么你反而拥有一种“特权”:你可以预测更远的时间尺度,让股票、期货或期权有更多时间移动,从而有机会获得更大的绝对收益。
中频策略为什么需要更多资本
这就是中频区域:你试图预测未来几小时、几天、甚至几周,并把仓位持有更久。为了让这种策略值得做,你通常需要建立更大的总体头寸,所以需要更多资本。因为策略容量更大,你的投资回报率百分比可能会更低,但长期算下来,绝对美元利润可能更高。
换句话说,你可以把更多钱放进策略,即使每一美元资本赚到的百分比没有自营 HFT 那么夸张,最后还是可能赚到更多美元。
ONYX 广告与不同策略的风险管理差异
Odds on Open 由 Onyx Capital Group 赞助,它是石油衍生品领域的头部做市商。他们刚刚发布了第四版终端 Flux。如果你有石油敞口,有两件事值得知道。第一,Flux 会实时提供 800 条石油曲线的公平价值,其中包括那些很难估值的曲线。第二,它还包含 Onyx 自己的持仓数据,因此你能看到市场的多空仓位,以及这些仓位大致是在什么价格进入的。可以在 flux.live 找到它,链接也在节目简介里。
回到刚才的坐标系。你在不同象限里使用什么模型、怎么创建策略和规则、怎么控制风险,都会很不一样:自营 HFT、对冲基金、中频交易,各自和资本提供者之间的关系不同——资本可能来自内部,也可能来自外部——而且它们承担的仓位规模也不同。
高频交易因为不容易积累特别大的仓位,所以如果策略表现不对,你通常可以直接关掉策略,再快速卖掉所有仓位。这件事相对便宜、也相对容易。中频就不同了,你可能已经有几亿甚至几十亿美元的仓位。
如果你想清算那么大的头寸,就像我们看到“Leopold Ashar”把他的投资组合头寸清算给 Ken Griffin 那样,这可能是一笔非常昂贵的交易。也正因为如此,你必须非常小心地确保模型工作正常:一旦策略已经跑起来,等你后来发现里面有 bug,可能已经太迟,无法轻易停下。
做市位于高 Sharpe 的自营 HFT 象限
所以,这几个象限对交易和风险的思考方式都不一样。今天我们要讲的是一种具体的交易方式:做市(market making)。在刚才那张图里,做市位于“自营资金 + 高频交易”这个象限。
做市通常使用自营资金,因为它的 Sharpe 很高,也就是风险调整后回报很好;它的资本回报率也很高,而且一般并不需要很多现金,更不一定需要去外部募集大量资金。
接下来我们快速复习一下市场是什么,然后再弄清楚为什么需要做市商、做市商究竟解决了什么问题。我会尽量从一个很基础的角度把它拆开,让你看到做市商为什么自然会存在,以及他们赚取费用和盈亏的同时,到底向市场提供了什么经济服务。
可互换性与交易所为什么存在
金融市场本质上也是商品市场。这里一个关键概念是可互换性(fungibility):我们交易的东西在某种意义上是标准化、等价的。比如我买一股 Tesla,Ethan 卖给我一股 Tesla,只要是同一类别的股份,它和世界上其他同类 Tesla 股票就是一样的。我不需要担心 Ethan 给我的是“一股坏的 Tesla”,也不会存在某一股特别好。
石油期货也是这样。标的交割的石油有标准化规格,所以你不需要自己检查每一桶油;谷物期货也是如此;期权合约也有非常明确的、标准化的条款。正因为这些单位对于交易目的而言是相同的,一单位买进和一单位卖出才可以互相匹配。
在可互换的市场里,交易真正的问题是:买家要找到卖家,卖家也要找到买家。难点在于双方并不知道彼此在哪里。解决这个问题的一种办法——不是唯一办法——就是交易所。
交易所最朴素的意义,就是提供一个共同的空间位置,让买家和卖家能找到彼此。过去的交易所就是交易员站在一个交易池里大声喊单,真的是一个物理地点。纽约证券交易所很有名地就在华尔街,今天还在那里;伦敦证券交易所也在伦敦金融城。
人们之所以去那里,是因为如果你是卖家,你知道在那里能找到买家;如果你是买家,也知道在那里能找到卖家。大家因此可以到达“同一个空间点”。今天的交易所当然更加形式化,绝大多数已经电子化,人们通过电子系统提交订单。
中央限价订单簿到底如何运作
现代交易所常用一种叫中央限价订单簿(central limit order book)的模式。源字幕这里把缩写说成了 “CLO”。我们先用一种很常见的图来理解它——价格梯(ladder)。本质上,中央限价订单簿就是一个统一的会计账本:所有人都把自己的订单提交进来,订单进入同一本账,交易所负责找出哪些买卖双方能够在某个价格上达成一致,然后完成交易。
为了简单起见,我们先讲股票。假设有人想以 100 美元买一只股票,而且想买 10 股。我就在 100 这一档旁边写上 10。买入订单这一侧叫 bid,也就是买价/买单。
源字幕在这里一度说“它们也被一些人叫 asks”,后面又明确说:以 100 的价格最多买 10 股,这叫一个 bid,bid 就是买入订单。相反,如果我要卖股票,那么卖出订单叫 offer;后面他也把两边重新概括为 bids 和 offers。本文保留这段字幕层面的术语矛盾,不替源头偷偷改写。
这些订单也叫 limit orders,限价单。因为你指定一个价格时,真正表达的是:“这是我愿意接受的最差价格。”如果我挂一个 100 美元买 10 股的 bid,那么对买方来说,100 是我愿意支付的最高价,因为买东西当然希望越便宜越好;如果能在 99、98、97,甚至交易所允许的话 97.5 成交,我都会更高兴。
卖方正好相反,因为你想卖得越高越好。如果我把卖出限价放在 100,那么 100 是我愿意接受的最低价;101、102 当然也愿意卖。交易所要做的就是收集这些订单,找到双方能够同意的价格,并把交易撮合起来。
举个例子。假设我愿意“以 102 买 10 股”。如果当前订单簿里没有任何能与之匹配的卖单,交易所就把我的订单放进订单簿,让所有人看到,等别人以后来和它交易。
反过来,假设我说我要卖 10 股、最低 100;订单簿里已经有人愿意以 100 买 10 股,那么一个是买、一个是卖,双方都接受 100,于是交易所就可以让 10 股在 100 成交。
再换一种情形:卖方只想在 100 卖 5 股,而买方原本想在 100 最多买 10 股。买方当然愿意先买 5 股,所以交易所让这 5 股成交;买方剩余的 5 股买单继续留在簿上,卖方的 5 股卖单则全部完成。
最后一个例子更有意思:如果我愿意最低 90 卖 5 股,而簿上有人最高愿意 100 买,那么理论上 90 到 100 之间的任何价格双方都能接受。交易所需要有一套规则决定究竟按什么价成交。
价格优先、最小跳动与真实订单簿
大多数交易所——不是全部——通常会让先在订单簿里挂着的那一方得到相对“更差”的价格,而后来主动来与它成交的一方得到相对“更好”的价格。源字幕把这里称作 “take a price priority”。他随后解释:如果一个订单已经躺在簿上,后来者主动来吃它,交易一般按簿上已有订单的价格成交,而不是在双方可接受区间里取平均。
到这里,我们已经知道中央订单簿是什么、为什么存在。它是一个集中式账本:订单进来之后,要么立刻与另一边成交,要么没有成交、就留在簿里等待之后的人来交易。接下来问题变成:从这个结构里怎么赚钱?什么样的交易策略会自然出现?
真实订单簿不会只有 100 这一档。首先,市场通常规定一个明确的最小价格跳动,也就是 tick size。这里为了举例,我们假设最小跳动是 1 美元。讲者在写价格时先说了“99.98”,随后又说“101——抱歉,103。我有硕士学位却不会往上数。”这是他现场的自我修正;之后还加了 97 这一档。
同一个价格档位也可以有多个不同人的订单。比如在 99 美元,可以一个人想买 30 股,另一个人想买 70 股,那么这一档总共有 100 股买量,也就是你最多可以在 99 卖出 100 股。其他档位也一样,可以有 10、36、121 等不同数量。
在卖盘侧,比如 103 可以有一个人卖 5 股、一个人卖 12 股、一个人卖 20 股;104 又可能有人卖 90 股。这些数字都是讲者为了说明问题随手编的,但它更像一只典型美国股票的订单簿:很多不同的人在不同价格上愿意买或卖。
所以现在可以退一步问:这样一张订单簿到底“意味着”什么?它不仅是等待成交的订单集合,还隐含了市场参与者对这只资产合理价格的判断。
没有免费午餐:订单簿中的无套利定价
有些人熟悉“没有免费午餐”这个概念。在市场经济学里有一个对应版本,可以叫理性套利定价,也可以叫无套利定价(arbitrage-free pricing)。意思是:如果一个市场里存在无风险、或接近无风险的赚钱机会,理性参与者就会去把这笔钱赚掉,而这个机会随后也就消失了。
把它放回中央限价订单簿里看:大多数时候——我强调是大多数时候,因为偶尔当然可能有短暂的套利机会——如果在某个价位上存在显而易见的无风险利润,早就会有人与那个订单交易,把它从簿上吃掉。
比如如果在 100 的买单上卖出能锁定无风险利润,那么理性的套利者会去卖,直到 100 这一档买单消失,市场重新变得更“公平”、更有效率。卖盘侧同理:如果 102 或 103 的卖单明显便宜到让你买入就能无风险赚钱,套利者会迅速买掉这些卖单。
现在假设 100 的买单确实还在,102 的卖单也确实还在。这意味着至少没有人认为,单纯与这两档交易就能轻松锁定无风险利润。因此,这只股票的公平价格——也就是一个你不能靠简单套利免费赚钱的价格——应该在 100 和 102 之间。
为什么?因为如果公平价格根本不在 100 到 102 之间,就应该有人可以出来做套利、赚走无风险利润,直到订单簿被改变。市场里没有免费的午餐,这个机制就把我们带到了“公平价格”这个概念。
Theo:如何从中间价读取公平价值
于是我们得到一个公平价格的概念。很多交易公司会把理论价格叫 theoretical price,简称 theo。这算是芝加哥、阿姆斯特丹交易圈里常见的一种行话。一个很实用的粗略估计,就是取 100 和 102 之间的中间价:这里是 101。
为什么可以先把 101 当公平价?因为市场里没人认为在 100 或 102 上就存在明显的免费钱,否则那些订单早被交易掉了。所以公平价应在 100 与 102 之间,而 101 是我们此刻能拿到的最直接估计。它不一定是宇宙真理,只是根据当前订单簿做出的最好近似。
这再次说明自由、低摩擦市场对资本主义经济的重要性。中央限价订单簿让所有人提交订单、互相交易,也让那些专门寻找无风险利润的人参与进来。这样的人叫 arbitrageurs,套利者:他们在市场里寻找能够无风险获利的价格关系。
当套利者能自由和其他人交易时,市场就能自己发现公平价格。原因非常直接:如果公平价不在最高买价——我把它叫 best bid,最优买价——和最低卖价——best ask,最优卖价——之间,套利者就会去交易,直到这个关系被修正。
因而,对任何使用中央限价订单簿的市场,不论是石油、黄金、股票、期权、外汇对、指数或其他经济工具,我们通常都能说:它的公平价格大致位于 best bid 与 best ask 之间,中点往往是一个第一近似。
这个机制还把供需失衡非常具体地映射到价格上。如果有人突然想大量买入,他会先买掉 102 上的 10 股,再买 103 上的 5 股、12 股,继续向上吃卖盘。于是最优卖价被推高,best bid 与 best ask 的中点也会上移。需求变强,价格就通过订单簿向上移动。
所以订单簿同时体现了两件事:一是市场供需平衡形成的价格,二是无套利或理性定价条件形成的价格约束。这就是我们如何从市场本身获得一个“公平价格”的基本思路。
谁真正挂出了订单簿:通常不是散户
好,现在终于回到做市。我们前面铺垫了很久,现在真正问:在中央限价订单簿里,怎么赚钱?先给一个提示:刚才那些 10、70、30、36、121、5、12、20、90 股之类的挂单,极少是普通散户投资者亲手放进去的。
普通投资者可能是真的想买这个产品、想卖这个产品,可能是投机,也可能有业务上的实际需求。但订单簿里大量持续存在的双边挂单,通常来自专业的高频自营交易公司,也就是我们最开始那张图左上角的机构——其中一类就叫 market makers,做市商。
现在有了前面的工具,做市商的工作其实非常简单。假设产品公平价大约是 101,那么如果我在 101 以下挂买单、在更高的价格挂卖单,我平均是在公平价下方买、在公平价上方卖,因此从期望上讲应该赚钱。
更具体一点,假设我们很幸运,在 100 挂了 10 股买单,又在 102 挂了 10 股卖单。有人把 10 股卖给我们,另一个人又很快从我们这里买走 10 股,那么买入成本 100、卖出价格 102,每股 2 美元,10 股就是 20 美元利润——这是扣手续费之前。
所以,订单簿的结构本身已经给出一种专业赚钱方式:在公平价两侧报价,让别人来与你成交。只要这件事能以足够好的统计期望反复发生,它就可以成为一项全职、职业化的交易业务。
做市的经济功能:跨时间仓储风险
但做市不只是“找到价差然后赚钱”。回想交易所解决的原始问题:如果我是一个看多股票的投资者,想买;Ethan 已经持有这只股票、变得看空,想卖。每笔交易都必须有另一方,所以我们需要找到彼此。
交易所解决了空间问题:它给我们一个共同地点,我知道去那里能找到潜在的卖家或买家。但它只解决了方程的一半,因为我们还必须在同一时间到达。空间可以一致,时间却未必一致。
做市商提供的经济服务,就是填上这个“时间差”。假设一个卖家先到了,我可以在 100 买下 10 股,把这 10 股的风险先仓储在自己账上。此时我以 100 做多 10 股;价格可能下跌让我亏钱,也可能上涨让我赚钱。我承担这段风险,直到 Ethan 以后出现。
等 Ethan 来了,从我这里买走股票,我再把那 10 股卖给他,希望实现利润。理想情况是价格没有朝不利方向移动,而且我最终卖价高于买价。之所以从平均意义上期待如此,是因为我估计公平价在 101 左右。
讲者接着说,至少在短期里,价格不会只朝一个方向运动,而会有类似随机波动。源字幕把这个词转成了 “brownie in motion”,结合语境很可能是在说 Brownian motion(布朗运动);本文不把源字幕的错误当作确定原文,只在这里说明可能的解释。
做市的经济目的就在这里。做市员每天醒来并不会想:“今天我怎样最好地服务交易所?”我过去跑做市策略时也不会这样想。做市最有意思的地方恰恰是,每个人都只在追逐自己的经济激励、自己的利润。
可是这些彻底自利的人对交易所又极其关键,因为他们替市场仓储风险。一个买家和一个卖家可以来到同一个空间,却处在不同时间点;做市商夹在中间,把风险在时间上摊开。前 Jane Street 交易员兼思想者 Augustine Lebron 也用类似方式描述做市:它就是“把风险在时间上展开”(time-spreading risk)。如果两个人想买卖同一个产品,却没在同一时刻出现,做市商就通过中间持有风险,帮助他们最终彼此完成交易。
Edge:围绕自己的公平价值报价
再往下一层,我们看看实际怎么做市。一个非常常见、也非常简单的做法,就是先估计公平价格。这里继续用非常粗糙的方法:best bid 是最高买价,best ask 或 best offer 是最低卖价,两者中点就是我们的公平价。此时他把中点设为 100.5。
接下来,每一笔交易都拿 100.5 来“mark”。如果是买入,我的期望收益可以写成:`100.5 - 买入价格`,再乘上成交数量;如果是卖出,则是 `卖出价格 - 100.5`,再乘数量。卖得越高越好,买得越低越好。
这个“交易价格与公平价之间的距离”就叫 edge。它可以理解为:我每交易一股、一个合约,或者一金衡盎司,期望赚到多少美元。买盘的 edge 是 `100.5 - bid price`,卖盘的 edge 是 `ask price - 100.5`。
如果我在最靠近公平价的两侧挂单,每成交一股可能预计赚大约 50 美分。反过来,我绝对不应该把买单挂到公平价上方,也不应该把卖单挂到公平价下方,因为那样每一股反而可能亏 50 美分。
我也可以把订单挂得更远。源字幕举例说,挂到另一档“then I make $150”。从上下文看这个数字很可能存在小数点或转写问题,但源字幕就是 `$150`,本文先照录。挂得更远意味着每股 edge 更大,但前面已经排着别人的订单,比如一人 30 股、一人 70 股。
大多数交易所会让同一价格档位里更早挂进去的订单优先成交。因此,你后来排在这些人后面,就要等前面的量先被吃掉。结果是:你虽然每股赚得更多,却可能很久都成交不到;相反,贴近市场挂单时每股赚得少,却可能成交更多股。做市商必须权衡“每股 edge”和“成交概率/成交量”。
队列优先与逆向选择问题
一个附加问题:为什么交易所要规定,在同一价格档位上,最先挂单的人最先成交?给你一点时间想。答案是激励。做市商把第一张订单挂在一个此前没人报价的档位上时,其实承担了额外风险,交易所需要给他一点好处,鼓励他先提供流动性。
这里最重要的风险叫 adverse selection,逆向选择。它的意思是:当你的公平价值估计错了时,你反而更容易成交,因为这时你更可能给套利者“免费钱”。套利者会比那种只是随机来买卖、没有信息优势的普通投资者更快、更积极地和你交易。
比如我以为公平价是 100.5,但真实公平价其实是 99.9。市场表面上仍未必存在显眼的无风险套利,可一旦我在 100 挂了买单,我平均每股就可能亏 10 美分。聪明的套利者发现你的报价错了,会非常快地把股票卖给你,所以你恰恰在最不该成交的时候更容易被成交。
因此,交易所给“第一个勇敢挂到新价格档位上的人”队列优先权:如果你先在 100 报价且一时没人来打你,其他参与者会更有信心认为公平价至少不明显低于 100,然后也可能排到你后面。你承担了最先暴露价格的风险,所以获得先成交的优先级作为补偿。
对做市商来说于是有多个选择:我可以排在别人后面,源字幕这里说“每笔赚 `$150`”;也可以贴近市场,每笔大约赚 50 美分;或者把订单挂得很宽,等一个巨大的卖家突然进来。前两个 `$150` 与 50 美分并置,明显提示源字幕的金额单位可能有问题,但我们不擅自改。
假设一个大卖家要一次卖 500 股,他可以先依次吃掉前面的 30、70、30、36、121 股等买量,最后为了把 500 股全部卖完,可能不得不打到我挂得更远的订单。源字幕这时说,我“每股赚 `$350`”。同样,这个数字从上下文看很可能缺小数点,但本文按源保留。宽报价的好处是单次 edge 大,坏处就是成交概率更低。
而且只看静态 edge 还不够。假设我在 100 成交买入 10 股,我现在就真的做多了 10 股。接下来可能有新闻出现,也可能刚才那个卖家继续卖,把 100、99 等买盘一路打掉,于是 best bid/best ask 的中点、也就是我们估计的公平价,会往下移动。
这时,我原本还希望在 102 卖出那 10 股,却可能根本等不到 102 成交。为了平掉多头,我也许只能在 100 挂卖单,甚至在 99 卖。如果在 100 出掉,我不赚钱;如果在 99 出掉,我每股亏 1 美元。这就是做市商真正承担的库存和价格移动风险。
竞争如何压缩买卖价差
所以做市本质上是一场竞争。你竞争着向市场出售流动性。所谓流动性,就是让那些此刻想交易的人能够马上成交;他们愿意相对于产品的公平价值让出一点价差、牺牲一点 edge,来换取即时成交。用经济学语言说,交易者在需求流动性,做市商在出售流动性。
假设我先在 100 挂 10 股买单。另一个做市商可能说:“我认为公平价其实是 101.5,所以我愿意在 101 也买 10 股。”这相当于他改善了市场:卖家如果要马上卖,会先打 101,而不是我的 100。于是我不再拥有成交的第一优先级。
其他原本在 99 的做市商也会重新思考:“既然有人已经报到 101,我为什么还留在 99?”为了争夺订单,他们可能撤掉更差的报价、向更靠近市场的位置移动。可一旦有人移动,其他人又会继续反应,报价由此变成一场动态竞赛。
反过来,如果某个价位上根本没人报价,一个做市商又可能想:“既然我和别人拥有同样的成交优先级,为什么要多付 1 美元?”于是他可能把报价往更有利于自己的方向退一档。其他人也会跟随。这说明具体队列和价格档位会共同决定做市商到底愿意改善市场还是后撤。
但在竞争充分、大家都想抢成交的环境里,长期效果往往是压缩 bid-offer spread,也就是买卖价差。价差有很多定义方式,这里最容易理解的是:一个主动成交者为了得到流动性,相对于公平价值放弃了多少 edge。
如果 best bid 是 101、best offer 是 102,那么价差是 1 美元。假设市场的最小价格跳动也是 1 美元,这已经是这个市场能够存在的最小价差。如果一个交易者先卖、什么都没发生、随后再买回来,他只损失 1 美元;等价地,如果公平价是 101.5,那么每次在一侧主动成交,相对于公平价大约付出 50 美分。
如果这些更靠近的报价都不存在,best bid 退到 99,而 best offer 还是 102,源字幕接着说“现在公平价是 `10.5`”。从 99 与 102 的中点计算显然应是 100.5,但字幕明确写成 10.5,本文保留这个源矛盾。之后字幕又说,每次在 99 卖或在 102 买“每股会损失 `$150`”;这里同样很可能有小数点缺失,但不擅自修正。
无论这些具体转写数字如何,讲者要表达的机制很清楚:价差越宽,需求流动性的交易者承担的交易成本越高;做市商彼此竞争、不断改善报价,会把 bid-offer spread 压窄,从而降低整个市场的交易成本。
这又是自由市场里很有意思的一点。每个做市商都只是为了自己赚更多钱,但他们的竞争行为最终让市场使用者获得更好的价格、更低的成本。个人自利通过竞争转化成了更低的社会交易摩擦。
从市场结构回顾到现代做市
到这里,我们已经讲了市场为什么存在、市场的结构、人们怎样下单,以及这些机制怎样自然形成中央限价订单簿;也讲了订单簿怎样产生 price discovery,也就是在一天中的大多数时刻,只要把市场“冻结”下来,就能从里面读出资产的大致公平价格。
我们还看到了,市场的这种自然结构本身就产生了一种交易机会——做市。它为什么对市场有用?做市商提供什么经济服务,才让他们赚取利润和费用显得合理?以及为什么和其他行业一样,做市商之间的竞争最终也会让市场用户得到更低的成本和更好的结果。
接下来我想把这件事再讲透一点,看看现代环境里的做市具体长什么样,并通过比较两种不同的订单簿来理解它。
厚簿与薄簿:流动性会自我强化
我重新画两张订单簿。第一张叫 thick book,厚订单簿。这次不再写每一张单,而只写每个档位的总数量。源字幕里的示例大致是:某一档有约 1,000,下一档 2,500,98 这一档有 7,000;卖盘侧 101 有 4,000,102 有 5,000,103 有 7,000。字幕把“thousand”转成了 `th00and`,但数量关系很明确:这是一个挂单很深的市场。
到目前为止我们几乎没真正谈数学模型、量化交易或算法交易。现代市场里真正发生的事情是:不同机构会各自建立一个公平价值模型。前面我只是简单说 100 与 101 之间的中点 100.5 是公平价;真正的量化机构会用自己的模型得出更细的 fair value。
大多数时候,你的公平价值不会明显穿过当前市场,否则就会出现容易赚的钱。但公平价值有时可以略高于 101 或略低于 100,因为现实市场并不是完全无摩擦的:交易有手续费、有执行成本,套利也有成本。因此,即使存在一点看上去的价格低效,也可能没有足够利润让你真正把套利做掉,这种低效可以维持一段时间。
还可能有相关产品先动了、这个产品暂时没动,于是给出额外交易机会。所以量化公司真正做的,是建立一个尽可能好的公平价值模型,然后还要问第二个问题:我对这个公平价值究竟有多少证据、应该有多大信心?
假设这张厚订单簿每天交易 100 亿美元名义金额。100 亿美元很多,而且订单簿本身也很深,意味着你可以买卖很多股票,却不会把价格冲击得太厉害,交易成本很低。
再画另一张 thin book,薄订单簿。这里的挂单量就小得多:示例中一些档位只有 10、25、70,另一侧只有 3、21 股之类。假设这张簿每天只交易 100 万美元。
如果两张订单簿代表同一只股票在两种不同情形下,我会更相信厚簿给我的公平价值信号。为什么?因为这里已经发生了非常多真实交易,而且大量做市商愿意用很大的数量挂在买卖两边。他们愿意赌这么多钱,说明他们对“公平价值大概在 100 与 101 之间”非常有信心。
薄簿就不一样。甚至没人愿意在 101 买,说明做市商对公平价值到底在哪里有很宽的分歧区间。这个市场本身也不怎么交易,而正是实际成交给我们 price discovery:一笔成交意味着有人愿意买、也有人愿意卖,双方用真金白银表达对价格的不同判断。
成交越多,我们越能说:“公平价格大概就在这里附近。”成交太少,就缺少这类证据。所以即使是同一只股票,仅仅因为订单簿状态不同,我对公平价预测的置信度也会完全不同。
报价规模、冲击成本与流动性恶性循环
这正是现代量化算法做市的方式:先计算股票的公平价值,然后围绕这个公平价值向订单簿添加买卖订单;与此同时,根据自己对公平价值的信心决定订单要下多大。如果我非常有信心,就可以挂很大的 bid 和很大的 offer;如果我很犹豫,就会把双边数量压小。
薄订单簿的直接后果是交易成本高。举个最简单的例子:如果你快速买一股再卖一股,在薄簿里可能损失 2 美元,在厚簿里只损失 1 美元,交易成本直接翻倍。
大额交易时差距更明显。讲者说,如果想一次交易 100 股,在薄簿里为了卖完这些股票,就必须一路穿过多个价格档位,平均成交价会离最优价很远。
他随后现场口算,源字幕记录为:`10 × 100 + 23 × 99 + 70 × 98 + ……`,接着他自己停下来修正:“剩下多少来着?哦不,呃……`67 × 98`,对,再除以 100。”这组数量本身与前面的 100 股目标并不完全自洽,但这是源中的现场自我修正,因此本文完整保留,而不替他重新构造一套算式。
讲者据此说,薄簿里卖 100 股的平均成交价会“刚刚高于 98”,随后又说大约是“98 point something”,自己也强调没有在脑中精确计算。接下来他对厚簿说:“如果我要卖 100 股,我可以以……的价格卖掉”,但源字幕在 `for a price of` 之后直接缺失了具体价格,所以这里不能补一个并不存在于源中的数字。
紧接着他给出的结论是:在厚簿里,平均执行价格大约好 1.8 美元。100 股就是节省约 180 美元交易成本。无论前面口算字幕有哪些缺口,这个比较体现了他的核心观点:深度越大,大额交易穿透订单簿的冲击越小。
厚簿因此是一张“健康”的订单簿:做市商竞争激烈,摩擦低,可以用很低的交易成本完成交易。薄簿则因为公平价值不确定,做市商不愿意提供太多流动性;流动性少,成交量就低;成交量低,做市商更不愿意冒险放更多量,因为市场连公平价都缺乏足够证据。
最终它会形成一个恶性循环:公平价值越不确定 → 提供的流动性越少 → 成交量越低 → price discovery 越差 → 做市商越没有理由扩大报价 → 市场交易更少。反过来,厚簿则体现了流动性和定价信心相互强化的一面。
用算法把做市扩展到每天 100 亿美元
厚订单簿就是做市的“黄金标准”。大型美国股票、美国权益市场里常见的订单簿就接近这种形态。做市商先有一个公平价值,然后围绕公平价值挂单,等待别人来与自己交易。
风险管理的目标是尽量保持组合中性:如果因为别人卖给我而做多,我就尽量再把这个多头卖出去;如果因为别人从我这里买而做空,我就尽量买回来。做市商在中间保持尽可能中性的组合,帮助那些在不同时间点到达的买家和卖家找到彼此。
我上一份工作刚开始时,我们每天交易的成交量超过 100 亿美元,所以前面才会用 100 亿这个数字举例。这说明,如果你把做市做好,把各种 edge cases 都处理妥当,就能够在不人工管理每张订单的情况下处理极大的交易量。
你可以让算法完成这些工作。这也是顶级交易公司赚钱的策略之一,而且是最古老的策略之一。很多人在量化金融行业开始职业生涯时,最早接触的就是做市。
源字幕最后一句停在:“这就是做市公司和高频交易公司赚……”(`marketmaking firms and high frequency trading firms make`)。源文件到这里直接结束,因此本文不补写它原本可能要说的宾语或结论。