一、市场微观结构导论
大家好,我是你们的量化交易工程师老张。今天咱们聊聊市场微观结构——说白了,就是市场到底是怎么运作的。
很多人做量化,上来就搞各种统计模型、机器学习。但我个人习惯,先搞清楚底层的东西。你想想看,连订单怎么撮合、价格怎么形成的都不清楚,那策略再花哨也是空中楼阁。
什么是市场微观结构
市场微观结构,简单说就是研究「交易机制」的学问。它回答几个核心问题:
- 订单是怎么进入市场的?
- 买卖双方怎么匹配?
- 价格到底由谁决定?
- 信息如何反映到价格里?
我记得刚入行时,有个前辈跟我说:「你以为你看到的价格就是真实价格?那只是冰山一角。」当时我不理解,后来做高频数据回测时才明白——订单簿里的信息,比成交价丰富得多。
核心观点:市场微观结构研究的是「价格发现」的过程,而不仅仅是价格本身。
订单簿基础
订单簿,就是交易所用来记录所有买卖订单的电子账本。它分两部分:
- 买单(Bid):大家愿意买入的价格和数量
- 卖单(Ask):大家愿意卖出的价格和数量
举个例子,假设某股票当前订单簿长这样:
| 卖单价格 | 卖单数量 | 买单价格 | 买单数量 |
|---|---|---|---|
| 10.05 | 200 | 9.98 | 150 |
| 10.04 | 100 | 9.97 | 300 |
| 10.03 | 500 | 9.96 | 100 |
| 10.02 | 300 | 9.95 | 400 |
| 10.01 | 400 | 9.94 | 200 |
这里有个关键概念——最优买卖价。最优买价是9.98,最优卖价是10.01。中间这0.03的差距,就是买卖价差。
实战技巧:我建议初学者先学会看Level 2数据(深度订单簿),而不是只看成交价。Level 2能告诉你市场的「真实供需」。
买卖价差与市场深度
买卖价差(Bid-Ask Spread)是衡量市场流动性的核心指标。价差越小,说明流动性越好,交易成本越低。
但光看价差还不够。你想想看,如果价差只有0.01,但每个价位只有10股,那大资金一进来,价格直接打穿。这时候就要看市场深度了。
市场深度衡量的是「在某个价格水平上,能成交多少量」。比如上面那个例子,在10.01这个价位有400股卖单,那你想买500股,就得吃掉10.01的400股,再往上吃10.02的100股——成交均价就变成了10.0125。
避坑指南:我曾经犯过一个错误——只看价差不看深度。结果策略在模拟盘跑得好好的,一上实盘就亏。后来才发现,模拟盘用的是撮合数据,深度信息被忽略了。嗯,从那以后,我所有策略都强制加入深度因子。
计算市场深度,我一般用这个公式:
# 计算买盘深度(前N档)
def bid_depth(order_book, levels=5):
total = 0
for i in range(levels):
total += order_book['bids'][i]['size']
return total
# 计算卖盘深度
def ask_depth(order_book, levels=5):
total = 0
for i in range(levels):
total += order_book['asks'][i]['size']
return total
# 深度不平衡指标
def depth_imbalance(bid_depth, ask_depth):
return (bid_depth - ask_depth) / (bid_depth + ask_depth)
这个深度不平衡指标,我个人觉得比单纯的成交量更有预测价值。当买盘深度远大于卖盘深度时,价格短期上涨的概率会高一些。
高频数据特征
做短线交易,离不开高频数据。高频数据有几个显著特征:
- 非均匀采样:交易不是每秒钟都发生的,有密集期也有稀疏期
- 自相关性:相邻的报价往往有很强的相关性
- 跳跃性:价格经常「跳」而不是平滑移动
- 日内模式:开盘、收盘时段交易活跃,午盘相对冷清
我记得有一次处理美股Level 2数据,一天的数据量就有好几个GB。你想想看,每个订单簿快照都包含几十个价位的买卖单信息,每秒更新好几次。处理这种数据,普通的关系型数据库根本扛不住。
技术建议:处理高频数据,我推荐用KDB+或者ClickHouse这类时序数据库。Python的话,用pandas的HDF5存储也能凑合,但别用CSV——读写速度差太多了。
下面我用一张图来总结本章的核心知识体系:
这张图把本章的核心内容串起来了。从订单簿出发,理解价差和深度,再结合高频数据的特征,最终服务于价格发现机制——这就是我们做短线交易的理论基础。
本章要点回顾:
- 市场微观结构研究的是「交易机制」和「价格发现」过程
- 订单簿包含买卖双方的完整意愿,比成交价信息更丰富
- 买卖价差衡量流动性,市场深度衡量价格冲击成本
- 高频数据具有非均匀采样、自相关、跳跃性、日内模式等特征
好了,这一章就到这里。记住,理解市场微观结构,就像学开车前先搞懂发动机原理——虽然不直接教你踩油门,但能让你在关键时刻知道问题出在哪。