第二章:市场微观结构——订单簿基础、限价单与市价单、买卖价差、市场深度
做量化交易,尤其是做冲击成本建模,你绕不开一个东西——市场微观结构。
说白了,就是市场到底是怎么运作的。不是K线图上那几根线,而是每一笔订单进来,怎么匹配,谁先成交,价格怎么跳。我刚开始做高频策略的时候,以为策略好就能赚钱,结果实盘一跑,滑点直接吃掉一半利润。嗯,从那以后,我老老实实把微观结构啃了一遍。
这一章,我们就从最基础的订单簿讲起。你搞懂了这些,冲击成本的计算才有根。
1. 订单簿:市场的“实时账本”
订单簿(Order Book),你可以把它想象成一个实时更新的账本。上面记录着所有交易者挂出来的、还没成交的订单。
它分两边:
- 买单(Bid):大家想买,但还没买到。价格从高到低排列。
- 卖单(Ask):大家想卖,但还没卖掉。价格从低到高排列。
我习惯把订单簿看作市场的“供需地图”。买盘是需求,卖盘是供给。价格怎么动,就看这两边谁更强。
举个例子,一个简单的订单簿长这样:
| 价格 | 买盘数量 | 卖盘数量 | 价格 |
|---|---|---|---|
| 10.00 | 100 | 200 | 10.01 |
| 9.99 | 300 | 150 | 10.02 |
| 9.98 | 500 | 100 | 10.03 |
最高买价是10.00,最低卖价是10.01。这中间的0.01,就是买卖价差。
2. 限价单 vs 市价单:两种“性格”的订单
订单分两种,性格完全不同。
- 限价单(Limit Order):指定一个价格,不达到这个价就不成交。它提供流动性,像个“守株待兔”的猎人。
- 市价单(Market Order):不指定价格,按当前最优价立刻成交。它消耗流动性,像个“横冲直撞”的蛮牛。
为什么会这样?你想想看,限价单挂在那,等着别人来吃,它给市场提供了深度。市价单一来,直接吃掉最优的挂单,深度就减少了。
我在做算法交易的时候,最头疼的就是市价单的冲击。一个大市价单砸下去,价格瞬间被推高好几个tick。所以,我后来做策略,都会刻意控制市价单的使用频率,或者拆成小单慢慢打。
3. 买卖价差:市场的“摩擦力”
买卖价差(Bid-Ask Spread),就是最优卖价减去最优买价。它就是你交易时,一买一卖之间要付出的成本。
价差越小,说明市场越活跃,流动性越好。价差越大,说明市场冷清,或者波动剧烈。
我一般用价差来快速判断一个品种的交易成本。比如,做股指期货,价差通常只有1个tick,成本很低。但做某些小盘股,价差可能有好几个tick,那冲击成本就大了。
价差的计算公式很简单:
Spread = Ask_Price - Bid_Price
但实际中,我还会看相对价差,也就是价差除以中间价。这样能更公平地比较不同价格的品种。
4. 市场深度:你能“吃”多少而不被察觉
市场深度(Market Depth),指的是在某个价格水平上,有多少订单等着成交。
深度越大,说明你能在不明显影响价格的情况下,交易更大的数量。深度越小,一个大单就能把价格打穿。
我习惯用深度图来直观感受。下面这张SVG图,展示了一个典型的订单簿深度结构:
你看,买盘这边,越往下深度越大。卖盘那边也是。如果你要买100股,直接吃卖1就够了。但如果你要买1000股,那就要把卖1、卖2、卖3全吃掉,价格自然就被推高了。
这就是冲击成本的来源——你交易的数量,超过了最优价位的深度。
5. 知识体系总览
最后,我用一张SVG图,把这一章的核心逻辑串起来。你看完应该能有个整体框架:
从订单簿出发,你理解了订单类型,知道了价差和深度。这些,最终都指向一个目标——冲击成本建模。
嗯,这一章的内容就到这里。你把这些基础打牢了,后面讲具体的冲击成本模型,你才能跟得上。