找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2273

积分

0

好友

318

主题
发表于 昨天 13:54 | 查看: 6| 回复: 0

成交越多越亏:许多做市商都曾有过类似的经历。当你把挂单阈值调低、将报价贴得更近、或者放宽撤单条件时,成交量确实会立刻增加。但如果你贪心,想继续放大交易量,就会发现一个令人沮丧的事实——随着成交量攀升,单笔成交的平均收益却在不断恶化,最终导致“做得越多,亏得越狠”,仿佛在向市场缴纳一笔“隐形税”。

这种现象与对手方(Taker)的手续费率、以及报价的最小变动单位(Tick Size)密切相关。简单来说,对手盘的手续费越高,Tick Size 越大,市场发动趋势性行情的成本就越高,做市商想要盈利就必须赚取更宽的买卖价差(Spread)。

这构成了一个结构性的两难困境:成交概率(Fill Probability)提升了,但成交后收益(Post-Fill Return)往往会变得更差。最直观、也最常见的应对策略当然是“提高成交难度”,比如挂单离中间价更远、拉大报价价差、更快地撤单。但问题在于,这等于默认接受了“想要赚钱,就必须减少成交”的逻辑,将做市业务变成了一种极为保守的被动生意。

那么,除了“提高成交难度”之外,还有没有更优的解法?答案是肯定的。但前提是,我们必须认识到这个问题的本质不在于“成交了多少”,而在于“你在和谁成交”——这就是做市领域中绕不开的四个字:逆向选择

1. 逆向选择:老生常谈,但永远是重中之重

逆向选择,说得直白一些,就是在信息不对称的市场中,吃掉你订单的对手方,往往比你掌握更多信息、速度更快、或对价格走势更加“确定”。结果就是,你的订单一旦成交,价格很可能继续朝着对手方预期的方向运动。你刚刚赚到的那点微薄价差,很快就会被后续不利的价格变动(即更差的 Markout)侵蚀殆尽,甚至导致亏损,使你沦为“接盘侠”。

正因如此,绝大多数做市策略,无论是显性的还是隐性的,其核心目标都在做同一件事:尽量避免吃到有毒的成交(Toxic Flow)

在我们的实践中,曾于某交易所尝试使用RPI(零售价格改善)订单进行挂单。这种订单形式的特点是只与个人投资者成交,不与专业的API订单成交。实验发现,在不需要添加任何额外预测(Alpha)的情况下,仅进行无脑挂单就能实现稳定盈利。

高频做市实盘数据面板:保证金余额、未实现盈亏、仓位、成交量与延迟监控

为什么会有这样的结果?原因有二:

  1. API订单:通常来自专业玩家,他们具备编程能力,自带交易逻辑和 Alpha,其订单大部分可以被视为“有毒订单”。
  2. 个人玩家:遵循市场中的“二八定律”,大约20%的人赚钱,80%的人亏钱。与这部分群体交易,做市商更容易占据优势。

2. “成交困境”不是感觉:在真实做市里,它可以被量化

一篇极具代表性的实盘研究论文《The Market Maker’s Dilemma: Navigating the Fill Probability vs. Post-Fill Returns Trade-Off》将这个问题清晰地剖析开来。作者在币安 BTC 永续合约市场上进行了真实的做市实验,使用最简单的做市商基准来量化这个“成交概率 vs 成交后收益”的权衡关系。

他们的实验方法非常直接:

  • 先扮演一周的“傻瓜做市商”:始终将订单挂在最优买一/卖一价,一旦产生仓位就立即反向平掉。
  • 利用本侧订单队列深度、对手方队列深度以及盘口不平衡度等信息,拟合一个经验性的成交概率函数 h(q)。这个过程涉及到对市场微观结构的深入逻辑分析
  • 接着,在相同的“队列条件”下进行统计:如果这类订单被成交,那么在接下来的几秒钟内,其平均收益是多少。

结论非常明确:在那些成交越容易(概率高)的区域,订单被吃掉后,其平均收益明显偏向负值;而在那些成交越困难(概率低)的区域,收益虽然未必很高,但至少更接近零轴,甚至为正。

这意味着:

  • 高成交率天然地与更强的逆向选择绑定在一起。
  • 想要“多成交”,本质上就是在向更“有毒”的交易区域迈进。
  • 真正的盈利关键,在于关注 “哪些成交值得参与”,而不是 “如何促成更多的成交”

这就是做市业务中最常见的 KPI 陷阱:如果你把成交量作为核心 KPI,市场会奖励你更多的“成交”,但它绝不会因此奖励你“赚钱”。

3. 关键一手:在“高成交概率区域”里识别好坏成交

读到这里,很多人会下意识地得出结论:那就把订单挂得远一点,减少成交好了。但这篇研究的真正价值在于,它告诉我们:你并非只能二选一。 你可以将“多成交”与“多赚钱”之间的矛盾,转化为一个更可控的问题——

只在“高成交概率区域”内,学会区分“好成交”与“有毒成交”。

其核心思路是 “先条件化,再分类”

  1. 利用 h(q) 缩小关注范围
    使用上一步得到的成交概率函数 h(q),在每次提交订单前计算一个预估的成交概率 p = h(q)。然后,只保留那些满足 p > p_threshold(例如,p > 0.8)的订单,形成一个 “高成交概率子集”
    这些订单的含义是:从当前订单簿的队列结构来看,它们有极高的可能性会被成交。

  2. 在该子集上重新定义“好/坏成交”
    对于每一笔属于高成交概率子集的订单,观察其实际的市场发展路径:

    • 如果订单最终未被成交,则标记为 0(忽略)。
    • 如果订单被成交,则追踪成交完成后中间价(Mid Price)第一次发生变动的时刻,并计算此期间的收益 r
      • 若收益 r > 0(价格反向运动,对做市商有利),标记为 1(定义为“好成交”或“反转成交”)。
      • 若收益 r <= 0(价格顺向运动或不变,对做市商不利或平庸),标记为 0(定义为“有毒成交”或“一般成交”)。

这样一来,数据标签就不再是简单的“市场接下来是涨是跌”,而是在一个本来就高风险(高成交概率)的状态下,对这笔真实发生的成交进行定性:它究竟是值得参与的“好成交”(1),还是应该规避的“有毒成交”(0)。

这一步剔除了大量“本来就不会成交”的噪声样本,使模型训练任务聚焦于 “如何在极可能成交的情况下,提前识别出成交的质量” 这一核心决策点上,更贴近实际做市场景。

4. 模型和策略:不需要全能大脑,只要一层“过滤门”

在获得了 「高成交概率子集」+「好/坏成交标签」 的数据后,作者才开始构建预测模型。此处他们刻意保持了模型的简洁性:

  • 特征:包括多时间尺度的价格波动率、短期收益的自相关性、成交频率与方向,以及买卖一档的挂单量、市场深度分布、顶档订单存活时间等标准的订单簿信息。
  • 模型:选择了 Logistic 回归(便于分析特征贡献度)和随机森林(用于非线性拟合和特征重要性分析)进行对比。

真正的关键在于 策略层如何应用这个模型。它并非要颠覆原有的做市框架,而是在原有骨架上增加一道 “过滤门”

  • 仍然沿用最简单的做市逻辑:在最优买卖价挂单、仓位控制在 -1/0/+1、一边成交后立即在另一边挂单对冲。
  • 每次准备挂单时,执行以下检查:
    1. 先计算当前市场状态下的预估成交概率 p = h(q),判断是否处于高成交概率区(p > p_threshold)。
    2. 如果是,则使用训练好的模型预测该笔潜在成交是“好成交”的概率 P(good|q)
    3. 只有当 P(good|q) 高于某个设定的阈值时,才允许发出这份挂单;否则,就拒绝这笔潜在的成交。

用一句话概括这层过滤器的作用:它替你做市系统多问一句——“这笔几乎肯定会成交的订单,真的值得我吃下吗?”

实证效果符合直觉:当提高过滤阈值后,每日的总成交次数会减少,但单笔成交的往返收益从负值转为正值,整体策略的夏普比率得到显著改善。这并非简单的“少做单就赚钱”,而是 “少做坏单就赚钱”

5. 回到开头的问题:除了提高成交难度,还能怎么做得更好?

“提高成交难度”本质上是一种被动的防守策略:让自己远离危险的交易区域。而上述思路则提供了一条更主动的路径:在危险的(高成交概率)区域内部,进行精细化的筛选——不依赖于整体的保守化,而是依靠 “有选择地拒绝” 部分成交。

当然,增加一个预测过滤层并非唯一的答案。将视野放宽,规避有毒订单本身就是一套组合拳,包括:配合价格预测进行偏移报价、缩短挂单的有效期或在市场异常时及时撤单、在高波动时期主动收缩风险敞口、精心选择下单时机等。上述论文只是实现方式之一。

更现实的做法往往是多种手段叠加使用:

  • 价差与报价偏斜:决定你愿意在什么价格水平上与对手方相遇。
  • 挂单时间与撤单规则:决定你将风险暴露给市场多久(行情延迟是危险的信号)。
  • 库存管理与下单量:决定你单次交易愿意承担多大的风险。
  • 过滤规则与预测模型:在关键场景下,赋予你一票否决权。

将这些模块串联起来,其核心理念其实就是一句最朴素的职业经验:先认清每一笔成交背后可能存在的逆向选择风险,再学会果断地对一部分成交说“不”。

结语:做市不是和数据做生意,而是和对手玩无限游戏

逆向选择是做市商的入门考题,也是所有资深交易者需要用整个职业生涯反复解答的终极命题。因为你所面对的并非固定不变的数学规律,而是同样聪明、同样贪婪、并且同样在不断进化中的对手。

因此,做市这门生意真正的“经验感”,从来不在于“如何促成更多成交”,而在于:当市场热情地将成交机会推到你面前时,你是否能保持冷静,并精准地分辨出——这到底是一块诱人的利润,还是一剂致命的毒药。

本文探讨的高频做市策略与风险管理思想,在 云栈社区 的技术交流板块中亦有深入讨论,欢迎对量化交易感兴趣的朋友共同探讨。




上一篇:C++性能优化实战:深入CPU流水线、分支预测与缓存机制
下一篇:基于HiReC系统实现云中高吞吐高可靠的跨集群VPC通信
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-16 02:04 , Processed in 0.215047 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表