2、市场微观结构:订单簿、买卖价差、市场深度与流动性
做套利策略,说白了就是在跟市场结构打交道。你想想看,如果市场是完美的,价格瞬间到位,那套利机会根本不会存在。正是因为市场有它自己的「脾气」——订单怎么排队、价差怎么波动、深度够不够——我们才有机会从中获利。
我个人习惯,在写任何套利策略之前,先花时间把微观结构摸透。这一步做不好,后面回测再漂亮也是白搭。好,我们直接进入正题。
2.1 订单簿:市场的「排队现场」
订单簿(Order Book)就是所有挂单的集合。买方挂单叫Bid,卖方挂单叫Ask。它们按价格排队,价格优先、时间优先。
举个例子,假设某股票当前订单簿长这样:
| 方向 | 价格 | 数量 |
|---|---|---|
| Ask (卖) | 10.05 | 200 |
| Ask (卖) | 10.04 | 150 |
| Ask (卖) | 10.03 | 100 |
| Bid (买) | 10.02 | 300 |
| Bid (买) | 10.01 | 250 |
| Bid (买) | 10.00 | 400 |
这里,最优买价是10.02,最优卖价是10.03。中间这0.01的差距,就是买卖价差。
我在项目中遇到过一件事:有个策略在回测里跑得风生水起,一上实盘就亏钱。查了半天,发现是订单簿快照数据更新频率不够。回测用的是1秒快照,但实盘里订单在毫秒级就变了。你想想看,这差距有多大。
2.2 买卖价差:套利的「隐形门槛」
买卖价差(Bid-Ask Spread)就是最优卖价减去最优买价。它本质上是你进出场的成本。
为什么说它是隐形门槛?因为很多新手做回测时,直接拿中间价成交。但现实中,你想买就得吃卖一价,想卖就得吃买一价。这一来一回,价差就是你的亏损。
实际成交价 = 对手方最优价格
交易成本 ≈ 买卖价差 × 交易量
举个例子,如果价差是0.01,你交易1000股,光价差成本就是10块钱。如果策略每笔利润只有5块钱,那你怎么做都是亏。
我曾经踩过一个坑:回测时用了tick级数据,但没考虑价差动态变化。结果策略在流动性好的时段表现不错,一到流动性差的时段,价差瞬间拉大,策略直接崩了。嗯,这里要注意——价差不是固定的,它会随市场情绪、时间、波动率变化。
2.3 市场深度:你能吃下多少单?
市场深度(Market Depth)指的是在某个价格水平上,有多少挂单等着成交。深度越厚,说明这个价位上对手盘越多,你越容易成交。
我们通常用「深度图」来观察。还是刚才那个例子:
- 买一价10.02,深度300股
- 买二价10.01,深度250股
- 买三价10.00,深度400股
如果你想卖出500股,直接吃买一价只能成交300股,剩下的200股得吃买二价10.01。你的平均成交价就变成了 (300×10.02 + 200×10.01) / 500 = 10.016。比最优买价低了0.004。
这就是「滑点」的来源。深度越浅,滑点越大。
2.4 流动性:市场的「血液」
流动性(Liquidity)是个综合概念。它衡量的是你能否快速、低成本地完成交易。流动性好的市场,订单簿厚、价差小、深度深。流动性差的市场,订单簿薄、价差大、深度浅。
衡量流动性有几个常用指标:
| 指标 | 含义 | 计算方式 |
|---|---|---|
| 买卖价差 | 直接成本 | Ask₁ - Bid₁ |
| 深度 | 可交易量 | 各价位挂单量之和 |
| Amihud非流动性指标 | 价格冲击 | |收益率| / 成交额 |
| 换手率 | 交易活跃度 | 成交量 / 流通股本 |
我个人比较喜欢用Amihud指标。它直接反映了「每成交一块钱,价格会波动多少」。数值越大,说明流动性越差。
2.5 知识体系总览
下面这张图,是我自己整理的市场微观结构知识框架。你可以把它当作一个「地图」,后面讲到具体策略时,随时回来对照。
2.6 实战中的注意事项
另外,不同交易所的订单簿结构不一样。有的支持冰山订单(只显示部分数量),有的支持隐藏订单。这些在回测中很难完全模拟,但至少要知道它们的存在。
我个人习惯的做法是:先拿一小段时间的tick数据,手动模拟几笔交易,感受一下滑点和价差的影响。然后再写代码做全量回测。这样心里有底。
好了,市场微观结构这部分就聊到这儿。记住一句话:套利策略的命门,不在策略本身,而在你如何跟市场结构打交道。后面我们会反复用到这些概念,到时候再深入展开。
公众号:蓝海资料掘金营,微信deep3321