跳到正文

流动性探测与寻源:找到没显示的量

显示簿只是流动性最薄的一层。往下每拿一层量,付的都是同一种货币:信息。这篇讲怎么找隐藏流动性、怎么理智地选暗池、扫单逻辑怎么设计才不漏底。

第 6 篇 · 共 12 篇 约 11 分钟

你需要买 200000 股。亮簿显示卖一只有 5000 股。但量明显在别处:broker 的销售交易员提到卖一”很有兴趣”,暗池 AXE feed 显示 50000 股的大块,上午的期权活动暗示有大机构流在动。

问题是:你怎么把这 200000 股拿到手,既不付天价,也不把底牌亮给全市场?

这就是流动性探测和寻源的分工。探测回答”量藏在哪”,寻源回答”我怎么拿到它而不惊动市场”。做得好,你在中间价附近成交、冲击最小;做不好,你把价格推了 30 美分还没填完。而贯穿整件事的是一条交换律:显示簿之外的每一层流动性都拿得到,但你付的货币不是钱,是信息——你每探一次,市场就多知道你一点。这篇文章从头到尾都在讲怎么管理这笔信息支出。

Harris(2003,第 22 章)把”显示簿之外的流动性”当作现代市场微观结构的核心问题。显示簿是最薄的一层,下面是暗池、内部化方、隐藏单。买方交易员的活就是穿越这些层。

流动性的五层

对美股大盘股,流动性大致叠成五层,越往下越大、也越难碰。

最上面是亮所——NYSE、Nasdaq、CBOE、IEX 这些交易所的显示簿。它是唯一你能直接看到的一层,也是最薄的一层:任何时刻典型只显示真实可用流动性的 5–20%。

往下是暗池(ATS)。美国股票市场大约有 35–40 家在运作,有大的(高盛的 Sigma X、MS Pool、Citadel Connect),也有小的,合计约占美股成交量的 13–15%。再往下是 wholesaler:零售内部化方(Citadel Securities、Virtu)用自己库存直接成交零售市价单——这不是机构流,但零售规模的单基本都在这层被消化了。

第四层是大宗交易台。大 broker 运营大宗 desk,把大机构单双向撮合,成交上 tape 但从不碰显示簿。最底下是隐藏单:亮所的冰山、暗池里的隐藏单,一些暗池还提供类似亮所冰山的”储备”功能。

把五层加总,流动大盘股在任何时刻的”真实”流动性可能是显示簿的 5–10 倍。买方交易员要回答的是:其中多少拿得到、什么价、要漏多少信息。

暗池不是同一种东西

35–40 家暗池的差异比名字暗示的大得多:运营者不同(银行系的高盛 Sigma X、MS Pool,代理型的 Liquidnet、BIDS,独立的 Citadel Connect、Virtu),撮合逻辑不同(多数连续撮合,一些定期拍卖,一些只做中点),费率结构不同(maker-taker、taker-maker、免费),订户群体不同——有的池子里挤满 HFT 做市商,有的以长仓机构流为主——信息政策也不同,有的公开披露撮合逻辑和反作弊保护,有的讳莫如深。

所以选池不能看名气,得看数据,而且要看四个互相咬合的数。成交率告诉你这个池子给不给你量:路由过去的单有多大比例真成交了?成交率低说明池子的流动性是挑人的——它只在对它订户有利时才撮合你。价格改善告诉你成交的价好不好:相对 NBBO 平均改善多少?多数池子号称中点撮合,实际成交价可以优于也可以劣于中点,取决于池逻辑。Markout 告诉你成交之后发生了什么:价格持续对你反向(负 markout)说明你在跟知情对手交易,成交本身就是坏消息。泄露测试告诉你光是问一下要不要付费:ping 完 X 池,100 毫秒内亮所卖价宽了 0.5 美分——这个池在漏你的信息。

大多数执行平台把这四个数捏成每个暗池的”毒性分数”,直接喂给 SOR 的路由逻辑:毒的少给流量,成交好、毒性低的多给。这个分数就是前面说的”信息支出”的账本。

反作弊:因为对面真的在打你

毒性不是抽象风险。老练的做市商会主动探测 SOR 的 ping 并利用它,典型攻击链是这样的:

  1. SOR 为一笔买单 ping 暗池 X
  2. 亮所上的做市商探知这次 ping(延迟套利)
  3. 做市商在亮所买入、转手在暗池卖给 SOR
  4. SOR 在被抬高的价位成交

这叫延迟套利,是碎片化市场的阴暗面。IEX 当年专门为对抗它而生,招牌就是 350 微秒减速带;其他场所后来也上了类似机制。

SOR 这边的防御全是围绕”让自己的行为不可学习”展开的。设最小规模门槛,低于门槛(比如 500 股)的单不 ping 暗池——太小的 ping 大概率反而是对面 HFT 的试探。时机随机化,别同时 ping 所有池,错开加随机延迟。顺序随机化,别每次都按同样顺序巡池。条件路由,最近成交发毒的池直接停掉。再加上用带规模约束的 IOC 单去试探池行为而不真正承诺。

但防御不是白来的:藏得越深,错过合法流动性越多。大多数 SOR 接受 10–15% 的成交率损失,换逆向选择的下降——又是那道信息与成交的交换题,只是这次是在防守端做。

扫单:把一个价位一次拿干净

当你决定动手,具体动作经常是一次扫单:同时向多个场所发单,把一个价位上所有可用流动性一次捕获。对可成交买单,扫单在价格限制内吃掉亮所的全部显示卖价,外加暗池里的隐藏卖价。

参数就四个:每个场所发多少股(扫单量)、愿付的最差价(扫单限价)、时效(IOC 或当日)、路由范围(含不含暗池和内部化方)。一笔限价 $50.05 的 50000 股买单,典型扫法是:发 10000 到 NYSE(显示量最大)、10000 到 Nasdaq、10000 到 CBOE、10000 到一家倒挂费率场所(taker 收返佣),再各拿 5000 股 IOC 中点单 ping 三个暗池,剩余规模先留在手里。合并流动性够就全成交,不够就部分成交、未成交部分退回。

def sweep(buy_size, max_price, lit_venues, dark_venues):
    """扫亮所并 ping 暗池。"""
    filled = 0
    remaining = buy_size
    # 亮所扫单
    for venue in lit_venues:
        venue_size = min(remaining, 5000)
        fill = venue.send_ioc('BUY', venue_size, max_price)
        filled += fill
        remaining -= fill
        if remaining <= 0:
            break
    # 暗池 ping
    for pool in dark_venues:
        pool_size = min(remaining, 2000)
        fill = pool.ping_ioc('BUY', pool_size)
        filled += fill
        remaining -= fill
        if remaining <= 0:
            break
    return filled, remaining

这是玩具。真实实现的规模是按显示流动性动态定的,ping 带反作弊随机化,场所选择带毒性感知——前面两节讲的东西全要进这个循环。

顺带说 ping 规模本身也是信息。用 100 股 ping 池子,你像个小散户;用 50000 股 ping,你在广播”这里有大单”。所以大单要拆成多次 ping、时机随机化、不同池切不同片。代价是更多来回延迟和复杂度,大多数机构算法认了这笔账。

AXE 和 IOI:broker 递来的信号

不是所有隐藏流动性都要你自己挖,有些会主动找上门。AXE 是交易员黑话,指自己手上急着想干掉的单;broker 会就在手的大单发布意向(IOI,indication of interest),长这样:“BUY 50K XYZ @ 49.95 或更好,干 30 分钟。”

关键是理解 IOI 是信号不是报价。它的意思是”你在这个价或更好有对侧兴趣的话,我们也许能撮合”——broker 用它寻流,而不必把单挂上簿。对买方,IOI 是个免费选项:大多数是噪音(陈旧或低质量),可以无视;多个 broker 在同一边亮 AXE 时,它是个方向信号;你恰好有对侧兴趣时,可以直接回应、按指示价撮合。

风险在于 IOI 有时是钓鱼——broker 手里根本没有真单,只是在试探对侧兴趣。你一回应,兴趣就漏出去了,broker 可能抢在你前面反向成交。诚实的 IOI 生态很值钱,不诚实的纯属浪费时间,而区分两者基本靠经验:哪家 broker 的 AXE 兑现过、哪家的从来兑现不了,做几个月心里就有账。

大宗 desk:规模的最后出口

订单大到 $10M+(或者大约 ADV 的 5% 以上),前面所有电子手段都开始不够用——暗池加亮所填不满这种量,硬填就是显著冲击。这时的出口是高接触交易:大宗 desk。

大宗 desk 是 broker 内的销售团队,专做大机构单的双向撮合。销售员给 5–10 个大客户(养老金、主权基金、资管)打电话:“你愿意在 $50.00 卖 XYZ 200000 股吗?“找到匹配,交易上 tape 但不碰亮簿也不碰暗簿,价格双边协商,常在中点或点差内。双方都省下点差和冲击——大宗交易是执行里最接近免费午餐的东西,代价是它建立在信任上:双方都得相信对手是真的、价格是公平的。

这套信任有显式的机器在背后。大 broker 的大宗 desk 维护着”自然”买卖方数据库——对特定股票表达过兴趣的机构账户。客户要买 XYZ 200000 股,销售员查库找 XYZ 的自然卖方,打三五个电话摸兴趣,撮合成交。经济账:desk 典型收每股 1–3 美分佣金,跟电子执行差不多,但买方拿到价格改善、卖方躲掉市场冲击。desk 的真正价值不是撮合动作,是那个数据库——关系弱的小 desk 找不到块,bulge-bracket 大行的 desk 关系深、经常找得到。

所以买方的正确姿势是跟多家大宗 desk 都保持关系、按比例分流量:全给一家,它消化不完;全都藏着,关系就死了。电子交易起来之后大宗 desk 的市场份额一直在降,但对 ADV 5–10% 以上的单子,它仍是最佳执行选项。

收盘竞价:被低估的一层

还有一层流动性经常被忽视:收盘竞价。

大多数交易所在收盘时跑一次单一清算价的集中撮合。竞价的设计初衷就是把日终盯市和基准再平衡的流动性集中到一个点上,所以那一刻的深度远超日内任何时候。你在收盘前的窗口(各所的截单时间不同,大致在最后十分钟内)向竞价提交带限价的单,交易所找出最大化可执行量的价格,所有匹配单在那个统一价成交。

对一笔 200000 股的单,收盘竞价可能一口气全部成交,价格离最后连续成交价在 0.5 美分内——没冲击、没点差成本,就是收盘价。代价是一个新的不确定性来源:不平衡。交易所在收盘前几分钟发布买卖不平衡数据,如果大额不平衡对你不利,清算价会难看。专业做法是先看不平衡再交单,限价跟着调。而且大单自己也会移动清算价,不平衡还可能在最后 30 秒翻转——竞价不是免费的,只是把风险换了个形状。

条件单:挂着等条件对齐

更高级的一招是条件单:不发市价单也不发普通限价单,而是发一笔只在指定条件满足时才执行的单。条件可以是时段(只在 10:00 到 15:00 之间执行)、价格(中间价高于 $X 才执行)、成交量(ADV 超过某阈值才执行)、参考价(VWAP 或更好才执行)。

它解决的是”我想表达策略但不想承诺立即执行”的问题:单躺在场所里等条件对齐,对齐就成交。大多数暗池支持条件单,亮所支持有限。对长水平期干大单的买方交易员,会用条件单是实打实的 edge——你把耐心写进了订单本身,而不是靠人盯。

HFT:既是点差的来源,也是探测的对手

现代流动性探测绕不开跟高频交易公司的复杂关系。

HFT 公司是美股最大的显示流动性提供者:挂紧报价、赚 maker 返佣(或付 taker 费)、在大多数回合赚点差。亮所点差之所以紧,就是它们卷出来的——对买方这大体是好事,紧点差意味着跨点差便宜,需要即时性时它们随时在。

紧张的地方在于 HFT 同时也是最老练的探测者。它们看得到你的 SOR ping、你的订单模式、你的算法行为,探测到慢速机构单就抢跑——就是前面那条延迟套利攻击链。对策有三种:IEX 式的减速带、更小更随机的子单、明确屏蔽 HFT 的暗池,没有一种完美。买方对 HFT 探测的暴露是一笔在任何基准上都看不见的税。

它们自己的探测手段也值得知道,因为寻流算法用的是同一套:冰山刷新(显示量被打掉又立刻补上,冰山现形)、报价变化、成交打印(打印的对侧可能就是刚成交的隐藏单)、订单簿压力(多笔小单连续打买价,队列里可能藏着冰山)。微秒级的延迟寻流是 HFT 的竞争领域;机构算法不拼原始速度,拼的是用统计模式识别可能的冰山活动——聪明探测,不是快探测。

什么时候值得干这一套

流动性探测不是默认动作,它有明确的适用边界,边界基本由四个变量画出来。

订单相对 ADV 的规模:5% 以上,显示簿注定填不了你,必须往下挖;规模小,显示簿就够,挖是白费劲还白漏信息。点差宽度:点差 1 美分时中点成交每股省 0.5 美分,值得追;点差 0.1 美分时省的可以忽略,别折腾。暗池深度:美股大盘的暗流动性深,小盘基本没有。最后是时间:流动性探测是耐心活,你只有 5 分钟截止的话,市价单才是对的答案;股票在快市里(点差炸开、暗池抽走流动性)时,探测直接失效。

三个例子看这些变量怎么组合。第一个:美股大盘、正常条件,想买 200000 股、ADV 400 万。显示簿卖一 8000 股,两家 broker 的 AXE 显示卖一有 50K 块,X 池中点有 30K。做法:touch 上被动挂 50000,ping X 池 30000(大概率中点成交),回应 broker AXE 拿剩下的 120000。15 分钟内全成交,均价中点 + 0.5 美分——所有层都用上了,每层付了一点信息,都没付多。

第二个:美股中盘、宽点差,想买 50000 股、ADV 50 万,点差 5 美分,显示簿卖一 2000 股,暗池 AXE 空空如也。做法:扫掉显示簿那 2000 股,然后在买价挂 5000 等卖方来打,慢慢干。一小时可能填 30000,剩下的记机会成本——中盘没有那么多层可挖,耐心是唯一的杠杆。

第三个:小盘、停牌复牌,想买 30000 股、ADV 10 万,复牌时点差 50 美分、显示簿 500 股。做法:不交易。等点差收窄,或者摊一整天慢慢干。停牌股上探测帮不了你——没有层就是没有层。

失败模式,以及怎么发现自己正在失败

这套手艺的失败模式都有名有姓。被 HFT 探测到:ping 被识别、市场抢跑、你在差价位成交。逆向选择:你找到的流动性是知情的,中点成交之后股票对你反向,因为卖家知道点什么。空暗池:ping 过去没有对侧兴趣,白付一个来回的延迟。过时报价:你动手时的簿已经不是你看的那个簿,层没了。以及最根本的信息泄露:路由模式被看穿,意图被推断。

发现失败靠的不是直觉,是对账。按场所监控 markout,哪个场所持续给负 markout 就少路由;成交率掉了就查原因;整体执行质量一周週变差,就该重新标定探测逻辑。毒性分数要按月更新,有毒的池子丢掉。暗池成交持续超预期同样是警报——说明你往那边路由太多了。选 broker 时把这些当面试题:要他们的 SOR 毒性数据(没有就有鬼),问暗池选择逻辑是优先成交率还是质量,问大宗 desk 接入(对大单这比 SOR 重要),并且先用小单试跑再上量——别拿 $50M 的单去测一个没验过的 SOR。

大多数 shop 有这套监控。大多数交易员看得不够细。两者之间的差距,就是这篇文章讲的全部信息支出最后有没有人记账的差距。

参考文献

  • Harris, L. (2003). Trading and Exchanges: Market Microstructure for Practitioners. Oxford University Press. 第 21–22 章。ISBN: 978-0-19-514470-3.
  • Almgren, R., & Chriss, N. (2000). “Optimal Execution of Portfolio Transactions.” Journal of Risk, 3(2), 5-39.
  • Bertsimas, D., & Lo, A. W. (1998). “Optimal Control of Execution Costs.” Journal of Financial Markets, 1(1), 1-50.