RPI订单——做市商的拼好饭
文章目录
如果有一种RPI特殊挂单,同一个价格别人永远排在你前面,而且 API 机器人还吃不到你,更难成交,做市商为什么还会愿意往里面塞更多钱吗?
正常理解肯定是不愿意。做市最怕排队排不到,订单限制越多,成交机会越少,资金利用率也越低;但我最近抓了一些 XAU 的盘口数据,发现一个挺反常识的现象:不少市场里,这种特殊订单的深度不但不小,甚至比普通订单簿还厚。
这就有意思了。做市商不是慈善家,如果一种订单明显更难成交,却还有大量资金长期堆在里面,那它一定在别的地方给了足够大的补偿。这里的补偿不仅仅多一些rebate,还多了一个对做市商更重要的东西:交易所开始帮你挑对手盘了。
做市商算法的基础困境
大部分人玩做市策略,都会碰到一个情况。你挂了一个卖单,半天没人理你,突然有人冲进来把你的单子吃掉,然后价格继续往上涨;然后你再挂一个卖单,继续被吃掉,最后手里的库存单子均价特别差。
很多所谓的 Maker 收益,最后就是被这种 adverse selection 一口一口吃掉。所以传统做市一直在干一件事:尽量只跟笨一点的订单成交,然后躲开聪明的钱。
于是大家卷机房、卷专线、卷行情延迟、卷撤单速度。不是因为做市商喜欢高科技,只是市场一旦开始动,你最好在对方按下成交键以前先跑掉。
逃避与聪明钱成交的 RPI 订单
所以就有了 RPI 订单。
它的思路其实很简单:既然做市商最怕的是 toxic flow,那干脆不要再比谁跑得快,直接从撮合规则上把两种人分开。以某交易所的规则为例,RPI 只能和 Web、App 的非 API 用户成交,API 发出来的订单根本不能打到 RPI;它本身还是 Post-Only,而且同价位下,RPI 的撮合优先级还排在普通订单后面。
也就是说,做市商主动放弃了一部分成交机会,换来的是:各种聪明钱,API 套利、HFT、程序化 taker,都先被交易所挡在了门外。
这时候再回头看前面的深度数据,就很好理解了。RPI 少掉的并不只是“成交机会”,更重要的是少掉了做市商最不想要的那部分成交机会。
来自交易所的自动偏心
RPI 有意思的地方,是交易所还不仅帮你找对象,甚至还帮你自动 repricing。
某交易所的规则里,如果普通盘口被 API taker 扫掉,原来挂在这个价位上的 RPI 并不会顺手被打掉。在文档的规则指引里,Ask1 的普通订单被吃完以后,Ask1 上的 RPI 会被撮合引擎自动移动到新的位置,不同交易所机制不一样。
这件事对做市的人来说,实在是太暖心了。正常撤单要经历看到行情变化、收到 WebSocket、策略判断、发 Cancel、网络传输,最后撮合引擎收到;中间任何一步慢一点,你都有可能成为知情交易者的成交方。
RPI 的一部分保护直接发生在撮合引擎里面。别人还在研究怎么把撤单从 5ms 优化到 2ms,交易所直接偏心地帮你重新挂。
看不见的另一层盘口
RPI 还有一个很大优势的地方:API 交易者和普通用户看到的,根本就不是同一本 Orderbook。当然喽,你可以订阅 RPI 订单,但是成交不了;如果你真要去搞自动化去吃,那么你大概率要被封号的。
还是拿某交易所来说,RPI 不会出现在普通 API orderbook 里面,但是 Web 和 App 会把 RPI 正常显示进去,而且不会额外告诉用户“这一档是 RPI”。
也就是说,用 API 看 XAU,可能看到 Ask 一共只有 10 万美元深度;但一个手机用户打开交易所,眼前可能有 50 万。多出来的 40 万不是假单,它真的可以成交,只是不能和我这种 API 用户成交。
这个设计其实挺有意思。以前我们默认一个交易所有一套 Orderbook,只是不同人的延迟不一样;RPI 出现以后,不同的人甚至开始拥有不同的可成交集合。
所以很多平时用 API 研究的指标也要重新理解。你看到的 Depth、Imbalance、Slippage,描述的只是 API 能访问的市场,不一定是零售用户真正面对的市场。
插一句搞笑的,Bybit 是我印象中最早开始搞 RPI 的,现在他又开始搞了一个 RPI TAKER,特殊情况让 API 又可以吃 RPI 订单了,哈哈哈哈哈。
交易所都在这么干
我抓了四个交易所 XAU 的 RPI 深度,同时把普通盘口也一起记录下来。
这里我觉得最有意思的是RPI / Normal 的比例。如果普通盘口有 1000 万,RPI 只有 100 万,说明做市商还是更愿意把库存放在公开市场里;反过来,如果正常盘口只有 100 万,RPI 却挂了 500 万,那其实已经很说明问题了。
做市商当然可以嘴上告诉你这个机制多么安全,但真正有意义的是他愿不愿意把仓位和保证金放进去。从这个角度看,Depth 本身就是一种投票。
交易所为什么愿意这么偏心?
看到这里还有一个问题:交易所为什么要给做市商这么多保护?
其实也不难理解。零售用户最讨厌的是 Spread 大、盘口薄、Market Order 一下滑出去很多。如果让专业做市商直接去普通盘口里面和所有 HFT、套利机器人肉搏,他自然会把 adverse selection 成本重新加回报价里,最后就是 Spread 更宽、Depth 更薄、零售成交更差。
RPI 本质上是交易所和做市商做了一笔交换:我帮你过滤掉一部分 toxic flow,你给我的零售用户更好的价格和更多的流动性。
所以 RPI 叫 Retail Price Improvement 其实挺准确的。表面上是在服务散户,但前提还是要先让做市商觉得这笔生意能赚,他才愿意把价格报得更好。
而且有些交易所还会进一步给 RPI 单独设计 Maker Fee / Rebate。某交易所的文档里,RPI MM 就有独立于普通账户的费率体系。交易所负责筛 flow、提供撮合保护,再给一点 rebate;做市商负责把大量流动性塞进去。最后零售用户看到更厚的盘口,交易所拿到更好的交易体验,做市商拿走中间那一点 spread,三个人都觉得自己赚了。
但深度不是利润
不过写到这里,本来标题是《做市商的印钞机》,但是“印钞机”这三个字还是太标题党,不是开了权限就直接开印,但是至少比普通MM要好上一个档次了。
RPI 深度很厚,只能证明做市商愿意把钱放进去,不能直接证明这些钱最后一定赚了。真正要判断一个 Maker 策略有没有优势,还是得看成交以后发生了什么。比如一笔 Ask 被吃以后,100ms、1s 、5s 之后 Mid Price 在哪里;一笔 Bid 成交以后,价格有没有马上继续往下掉,也就是 Markout。
如果普通 Maker 成交以后经常是 100.00 卖掉,100ms 后市场变成 100.10;而 RPI Maker 成交以后更多是 100.00 卖掉,100ms 后还是 100.00,那这个差异才是真金白银。
Spread 只有几个 bp,adverse selection 少几个 bp,就可能直接决定一个做市策略最后到底赚钱还是亏钱。所以我下一步其实更想抓的是四个交易所的 RPI Fill Markout vs Normal Fill Markout。如果成交后的毒性也能和今天看到的 Depth 一样形成明显区别,那 RPI 就不只是“看起来很爽”了。
到那个时候,《做市商的印钞机》这个标题才算真的坐实。
结语
所以做市商真正想解决的问题一直是:我到底怎么尽量避开逆向选择?
传统做市靠速度解决这个问题。发现对面可能知道得比自己多,就赶紧撤;再往前卷,就是更快的行情、更快的机器、更短的网络。
RPI 干脆换了一种方向,不去判断这个人聪不聪明,先看他是不是从 API 进来的。大名鼎鼎的 @RobinhoodApp 就是卖散户流给做市商而出名的,可以做到 0 手续费。
当你想开一个宰客大排档卖拼好饭的时候,又怕碰到硬茬。
这个时候,交易所大哥开着大巴,就带着散客团来消费了,最后三七分成。
怎么才七成?
七成是人家的,能得三成还得看交易所的脸色。**




