1 The Ecology of Financial Market
阅读 Trades, Quotes and Prices 的第一章。
Originally Posted at: https://clouder0.com/zh-cn/posts/financial-market-ecology/
How Trade Happens
Traditional Way
金融市场都有哪些参与者?他们的各自的目的是什么?
任何交易,总是有两个参与方:Buyer & Seller. 买入的数量和卖出的数量总是相等。
价格由供需驱动。想象以下场景:
- Buyer: 你这玩意卖多少钱?
- Seller: 五块钱。
- Buyer: 好,我要买它。
- Seller: 现在卖六块钱了。
- Buyer: ???逗我玩呢。
- Seller: 因为我知道你要买了嘛。
- Buyer: 但我要买一百个!便宜点呗。
- Seller: 啊哈,那现在十块钱一个了。
- Buyer: ???
- Seller: 你就说你买不卖吧。
交易的双方总是希望自己能获得最大的利益。Seller 总是希望以 Buyer 能接受的最高价格成交,而 Buyer 总是希望以 Seller 可接受的最低价格成交。
既然如此,为什么大家能达成一致呢?每次交易的达成,似乎就总是意味着:有人做出了妥协。如果 Seller 一路提价至 Buyer 的承受极限并成交,那么 Buyer 就妥协并付出了更多的成本。 反之亦然。
在这种博弈情形下,一个经典的策略是:
- 假如我是 Buyer,不论我最终愿意出多少,先报一个极低的价格。
- 然后通过反复拉扯试探,找到 Seller 愿意卖出的最低价格。
- 假如我是 Seller,不论 Buyer 如何报价,总是狮子大开口加价一大堆。
- 通过反复试探拉扯,找到 Buyer 愿意买入的最高价格。
在这个交易协商过程中,双方通过反复的报价缩小价格边界,并最终达成交易。
这是传统线下购物的主流拉扯手法,在七大姑八大姨去买东西的时候很常见(
形式化地,Buyer 最高可接受价格为 \(\text{bid}\),Seller 最低可接受价格为 \(\text{ask}\),当 \(\text{bid} \ge \text{ask}\) 时,存在成交的可能。
此时 \(p \in [\text{ask}, \text{bid}]\) 都是合法的价格。当 \(p\) 较为接近 \(\text{ask}\) 时,价格偏低,Buyer 占优。当 \(p\) 较为接近 \(\text{bid}\) 时,价格偏高,Seller 占优。
但是这样考虑有一个问题:比如图中在接近于 \(\text{bid}\) 的位置成交,但实际上,我作为 Buyer,哪怕我实际上已经愿意出这个价格,我依然希望能尽量地压低成本,那么我会——继续报低价!
这类似于:我可以妥协,但我不愿意妥协,想逼你妥协。那么价格会进一步收敛。
...听起来很神奇对吧?为什么大家最终能够达成交易,这个交易的价格又到底是什么呢?
在实际的博弈中,总是有其他的因素考量:
- 时间成本。磨磨唧唧,你不买有的是人买。
- ……
理论上讲,一个理性人总是应当愿意做任何有利可图的交易,无论这个交易的利润多少。哪怕已经付出了很多时间扯皮,但在最终的时间点,只要依然能赚钱,哪怕利润微薄,都愿意卖出。
这似乎给了 Buyer 相当的议价自由。毕竟只要你卖就能赚,无非是赚多赚少,只要你能赚就应该和我 trade. 除非有别的 Buyer 出现。
……
是的,交易就是如此的困难。在金融市场中,哪怕是一个简单的交易,在双方都希望利益最大化的情况下,都需要如此拉扯,实在是太麻烦了。如何让交易高效地进行,并尽可能满足双方的利益,这就是金融学的一个重要研究目标。
Walrasian Auction
在刚刚的例子中,之所以长时间无法达成交易的主要原因是:双方总是通过连续报价来争取自己的利益,并试探对方的意图。
Walrasian Auction 对此给出的解决方案是:一锤子买卖。
引入中间商,收集 Buyer 和 Seller 的意图。Buyer 和 Seller 报单时,承诺一定会按这个价格达成交易。这种 commitment 在现代金融市场的语言中,被称为 liquidity provision.
Walrasian auctioneer 将这些报单收集到 orderbook 中,形成两个 \((\text{price}, \text{volume})\) 序列,然后进行撮合成交。一旦报单发生,Buyer & Seller 将不再能更改它们报出去的单,也就无法根据别人的报单而更改报价,从而避免了反复扯皮。
这形成了两个曲线,Supply Curve 和 Demand Curve:
分别对应的是:愿意以 \(p\) 价格卖出的数量,以及愿意以 \(p\) 价格买入的数量。
当然,愿意以低于 \(p\) 的价格 \(p'\) 卖出的 Seller 一定也愿意以价格 \(p\) 卖出,反之亦然,因此做一个累加。
可以看到,随着 \(p\) 增大,\(S(p) \uparrow\),而 \(D(p) \downarrow\).
我们最终可以找到一个全局最优的价格,让最多的交易得以发生。
注意,只有当 \(\text{maxbid} \ge \text{minask}\) 时,才有可能有交易发生。当这个条件不满足,也就是 Best Bid 依然小于 Best Ask 时,不会发生交易。
如果 \(S(p),D(p)\) 是连续的,那么在最优价格 \(p^*\) 总是有 \(S(p) = D(p)\).
当然,实际上价格是离散的。那么,哪怕报单是相同的价格,也一定会有一些 Buyer/Seller 的需求无法得到满足。
这个时候,谁能成交,成交多少,就要根据具体的撮合机制判断了。常见的是按先来后到的顺序进行撮合。
Walrasian Auction 解决了成交的问题,但带来了一个新的问题:交易者无法根据市场上的信息动态地调整了。
Market Makers
随着信息技术的发展,传统的 Walrasian Auction 也被数字化改造了。
现在负责促成交易的是 Market Makers,他们主要做两方面工作:
- Quoting: 在任意时刻,maker 必须承诺,他们将以 bidprice \(b\) 成交至少 \(V_b\) 手,并将以 askprice \(a\) 成交至少 \(V_a\) 手。
- Clearing: 当 Buyers & Sellers 向 Maker 提交订单后,Maker 进行撮合,选择最优价格 \(p^*\) 进行交易。
相比于传统的 Walrasian Auction,这套机制的最大不同点在于:Market Maker 给出了成交的承诺。这有两方面的好处:
- 让 Taker 能够以一个合理的市场价格,付出一定可控的额外成本来成交。这类似于下市价单。
- 提供了价格锚定,让 Buyer & Seller 能够合理地报价。
Market Maker 在特定的时刻进行撮合,找到成交量最大的 Best Price. 也就是找到 \(p'\) 使得:
Market Maker 的 initial quotes 也会包含在这个式子中,有的时候还会根据市场的报单额外再加一点,用来管理仓位、避免大幅价格波动之类的。
在这套系统中,Market Maker 处于特殊的地位。
Continuous-Time Double Auctions
而到了如今,基本上已经没有这种持有特权的 Market Maker 了。
现在,大家使用的是 Limit Order Book 撮合机制。Buyer & Seller 分别在对应的价格报单,并在极小的时间窗口中实时撮合。
例如,一个 Buyer 报单出现时,如果 Limit Order Book 上存在 \(\text{ask} \le \text{bid}\),那么就会让这个 Buyer 和相应的 Seller 成交。一般遵循价格时间规则,当多个 Seller 满足 \(\text{ask} \le \text{bid}\),则以最低价、次低价依次成交。当价格相同,再按时间先来后到,直到交易完成。
Ecology
当一个交易发生时,至少存在一个 Buyer,一个 Seller. 有人愿意买,有人愿意卖。
但价格总是会发生波动,也就意味着:总有一方吃亏,一方得利。买卖双方完成交易,转身互道一声傻 X. ……总是这样吗?
市场上的交易行为通常分为:
- Informed trades,知道内部信息的 Trader 希望通过交易获利。
- Uninformed trades,对未来价格没有预测的 Trader,有可能是为了流动性套现离场,有可能是为了降低仓位减小风险...这种交易被称为 noise trades,因为它们跟未来价格变动没什么关系。
但是,哪来的那么多内部信息呢,实际上 informed trades 更接近于:Traders 通过某种观察,要么是 Fundamental analysis 基本面分析,要么是 Quantitative analysis 技术分析,对未来的价格有了一些微弱的预测,然后进行交易。
这些 information 确实跟未来的价格有关,但——相关性一般都很小,而且时间尺度不一样。有的人做长线,看重几个月甚至几年的收益。有的人做短线超短线或者高频。做长线的交易者,愿意(或者说不得不)付出一定的成本给成功的短线交易者。类似这样,不同的需求、不同的策略、不同的生态,构建出了一个丰富的交易市场。
To Trade or Not to Trade?
交易是有成本的。Transaction Costs.
很多交易者频繁交易而付出了巨大的成本,这很多时候是因为他们高估了自己的 Signal 的准确率。
实际上,简单的考虑价格随机游走的情况,在任何时刻随便开一单,在任意的时间尺度上,总是有一半的概率能获利。这导致我们很难区分技术和运气。
Liquidity Providers
大部分交易策略试图预测未来价格并获利。但 Makers 不同,他们通过提供市场流动性获利。
一般而言,Makers 总是试图维持接近 0 的 net inventory,也就是持有相同的多仓空仓。在两侧挂单,吃 bid-ask spread 买卖价差:
如果价格相对稳定,那么当某个时刻,一个 Buyer 在 \(a\) 价格成交,过了一会,一个 Seller 在 \(b\) 价格成交,那么 Maker 就净赚了 \(a-b\).
听起来,Maker 似乎稳赚不赔,但现实当然并非如此。Maker 的 Risk 是什么呢?
最重要的是 adverse selection. 因为 Maker 总是两侧公开挂单并等待成交,而对未来价格有更好预测的 Taker 就会吃单,而他们的成交和未来的价格移动是存在相关性的。
比如说:当一个公司爆出重大利好,价格会急剧上涨,此时 Maker 提供流动性进行了大量的 Sell,然后价格上涨了,Maker 巨亏离场。
价格波动时,Maker 当然会动态调整两侧挂单价格、挂单量或者 Spread.
Maker 适合震荡行情,在单边行情中不那么合适。
当 Maker 观察到 order-flow imbalance,也就是买卖订单不平衡时,往往他需要相应地调整挂单价格。如果他收到了更多的 buy orders,那么他就会提高 askprice \(a\) 来减少 buy orders、提高 bidprice \(b\) 来增加 sell orders.
这也就意味着,成交存在 price impact. Buy order 使价格上升,Sell order 使价格下降。
\(m\) 记为 midprice. \(\mathbb{E}[m_{\infty}]\) 为 \(m\) 的未来预期值。由于少量交易是 informed trades,跟未来的价格存在相关性,这意味着当一个 buy order 成交后,期望会上升一点点。一个 sell order 成交后,期望会下降一点点。
将 \(\varepsilon\) 记为交易的方向,对于 buy trade \(\varepsilon = +1\),对于 sell trade \(\varepsilon = -1\),\(\mathcal{R}_\infty\) 代表交易的 long-term impact,则有:
只要交易和未来价格移动有正向的关联,\(\mathcal{R}_\infty > 0\).
现在考虑,Maker 成交时,每笔成交本来应当赚到 Half Spread \(\dfrac{s}{2}\),但实际上因为存在 price impact,实际的收益是 \(s/2 - \mathcal{R}_\infty\).
那么 Spread 必须要足够大,满足 \(s \ge 2 \times \mathcal{R}_\infty\),Maker 才有利可图。当然,这里还忽略了 Transaction Costs 之类的。
不幸的是,大量的小交易都含有一定的信息,让 Maker 付出一定的 impact cost. 而少数时候,有一些订单和未来价格高度相关,从而造成 Maker 的大幅亏损。
考虑一个简单的例子:
到来的订单有 \(\phi\) 的概率是 informed,成功预测了未来的 \(\pm J\) 的价格移动。剩余的是 uninformed.
假设所有交易独立,那么有 \(\mathcal{R}_\infty = \phi J\),Maker 至少需要设置 \(s=2\phi J\).
Liquidity providers 一般不会放很大的 Volume 在 LOB 上,因为有可能被 informed trader 干一票大的。所以市场上存在少量的 revealed liquidity 和大量的 latent liquidity.
那么,当较大的交易发生时,一般都不得不拆成很多的小单,以避免产生过大的 Price Impact 而拉高成本。在这种情况下,LOB 上的信息总是并不揭示全部的真实信息,imbalance 也可能是潜藏的。Equilibrium 似乎总是一种遥不可及的、像是完美的圆那样的存在。