市场微观结构:订单簿深度、买卖价差、市场深度、流动性、订单类型
做市策略的核心,说白了就是跟市场微观结构打交道。你想想看,我们每天看到的K线图,其实是无数笔订单撮合后的结果。真正决定你能不能赚钱的,是那些藏在K线背后的细节——订单簿、价差、深度这些东西。
我个人习惯把市场微观结构比作「市场的呼吸」。订单簿的每一次跳动,就像人的心跳。做市商就是那个贴着胸口听心跳的医生,得知道什么时候心跳有力,什么时候心律不齐。
订单簿深度:市场的「底牌」
订单簿深度,就是挂在买卖盘上的订单数量。我刚开始做量化时,以为看个买一卖一就够了。后来被市场狠狠教育了一回——有一次我看到买一挂单很大,以为支撑很强,结果一个大单直接把买一到买十全部吃掉,价格瞬间崩了5%。
从那以后,我养成了看订单簿深度的习惯。深度不是看某一档,而是看整个价格区间内的累积挂单量。
关键指标:
- 前5档深度:反映近期价格支撑/阻力
- 前20档深度:反映市场整体流动性
- 深度斜率:挂单量随价格变化的速率
举个例子,如果买一到买五的挂单量是100、80、60、40、20,深度斜率就很陡。这说明市场只在当前价格附近有支撑,一旦跌破,下方就是真空区。这种时候,做市策略要格外小心。
买卖价差:做市商的「饭碗」
买卖价差,就是买一价和卖一价之间的差额。做市商赚的就是这个差价。我见过很多新手做市商,上来就把价差设得很小,以为这样能吸引更多成交。结果呢?赚的钱还不够手续费。
价差不是越小越好。它受几个因素影响:
| 因素 | 影响方向 | 我的经验 |
|---|---|---|
| 波动率 | 波动越大,价差越大 | 波动率飙升时,我通常把价差放大1.5倍 |
| 流动性 | 流动性越好,价差越小 | BTC/ETH的价差可以做到0.01%,山寨币可能要0.5% |
| 时间 | 非交易时段价差扩大 | 凌晨3点的价差可能是白天的3倍 |
我的小技巧: 动态调整价差。我会根据最近100笔成交的价差中位数,加上一个安全边际。比如中位数是0.02%,我就设0.025%。这样既不会太激进,也不会太保守。
市场深度:你能吃下多少单
市场深度和订单簿深度有点像,但侧重点不同。市场深度衡量的是「在某个价格范围内,你能成交多少量而不引起价格明显变动」。
我记得有一次做回测,策略在模拟环境里跑得特别好,年化收益30%。结果一上实盘,直接亏了5%。为什么?因为回测时假设市场深度无限,但实盘里一个大单就把价格打穿了。
衡量市场深度,我常用这个指标:
# 计算市场深度
def market_depth(order_book, price_range=0.01):
"""
order_book: 订单簿数据
price_range: 价格范围(百分比)
"""
mid_price = (order_book['asks'][0][0] + order_book['bids'][0][0]) / 2
upper = mid_price * (1 + price_range)
lower = mid_price * (1 - price_range)
bid_depth = sum(qty for price, qty in order_book['bids'] if price >= lower)
ask_depth = sum(qty for price, qty in order_book['asks'] if price <= upper)
return bid_depth, ask_depth
这个函数算出来的就是「在1%的价格范围内,你能买/卖多少」。如果结果只有几个BTC,那这个市场深度就很浅,做市策略要降低仓位。
流动性:市场的「血液」
流动性是个综合概念。一个流动性好的市场,你进去不费劲,出来也不费劲。流动性差的市场,进去容易出来难——就像沼泽地。
我判断流动性好坏,看三个维度:
- 宽度:价差大小。价差越小,流动性越好。
- 深度:订单簿厚度。挂单越多,流动性越好。
- 弹性:价格被冲击后恢复的速度。恢复越快,流动性越好。
避坑指南: 我曾经在流动性差的市场做市,以为价差大能多赚点。结果遇到一个鲸鱼,直接把我挂在卖单上的所有仓位全吃了,价格瞬间拉上去。我的买单还没反应过来,价格又跌回来了。那一单亏了我半个月的利润。
所以我现在有个铁律:流动性低于某个阈值的品种,坚决不做市。
订单类型:做市商的「武器库」
做市策略离不开订单类型。每种订单都有自己的脾气,用对了是利器,用错了是自残。
限价单
限价单是做市商的主力武器。你挂一个买单在买一,等着别人来成交。好处是你能控制成交价格,坏处是可能永远成交不了。
我个人习惯把限价单分成两类:
- 被动限价单:挂在当前价格附近,赚取价差。这是做市策略的核心。
- 主动限价单:挂在远离当前价格的位置,等待极端行情。比如暴跌时在下方挂买单抄底。
市价单
市价单是「不惜一切代价成交」。做市商一般不用市价单,因为会吃掉自己的利润。但有一种情况例外——风控。
我记得有一次,市场突然暴跌,我的限价单全部被吃掉,仓位变成了净多头。我二话不说,直接下了一个市价单平仓。虽然亏了点滑点,但保住了本金。市价单在风控时就是救命稻草。
冰山订单
冰山订单是限价单的「隐身版」。你挂一个大单,但市场上只显示一小部分。剩下的部分像冰山一样藏在水下。
为什么要用冰山订单?
- 避免暴露意图:如果你挂一个1000BTC的买单,别人一看就知道你要买,会抢跑。
- 减少市场冲击:大单直接挂上去,会把价格推高。冰山订单可以慢慢吃。
- 迷惑对手:别人以为只有100BTC的买单,结果吃完了又来100BTC,反复几次就懵了。
实战经验: 我在做市时,如果单边仓位超过日均成交量的1%,就一定会用冰山订单。比如日均成交量1000BTC,我挂10BTC以上的单子,都会拆成冰山。每笔只显示1-2BTC,剩下的藏在下面。
知识体系总览
下面这张图是我自己总结的市场微观结构知识体系。做市策略的所有决策,都建立在这些概念之上。
嗯,这张图基本把市场微观结构的核心概念串起来了。你想想看,做市策略说白了就是在这五个维度之间找平衡。深度够不够?价差能不能覆盖成本?流动性会不会突然消失?订单类型选对了没有?
我个人习惯每天开盘前,先花5分钟扫一遍主要交易对的这些指标。如果发现某个指标异常,比如价差突然扩大,或者深度骤减,我就会调整当天的策略参数。这不是什么高深的技术,纯粹是经验积累。
最后说一句:市场微观结构不是静态的。它每时每刻都在变化。做市商要做的,就是跟上这个变化,甚至提前预判变化。嗯,这就是我们接下来要深入的内容。
公众号:蓝海资料掘金营,微信deep3321