第一章:微观结构基础——订单簿基础概念、限价单与市价单、买卖盘口、市场深度与流动性
大家好,我是你们的老朋友。今天咱们正式开讲《市场微观结构实战工具包》的第一章。
说实话,我刚开始做量化交易那会儿,觉得市场微观结构这东西挺玄乎的。什么订单簿、盘口深度,听着像物理课本里的名词。后来踩了不少坑才明白——这些才是市场的底层代码。你想想看,所有交易策略,不管多花哨,最终都要落到订单簿上执行。不懂微观结构,就像开车不看仪表盘,迟早要出事。
1.1 订单簿:市场的实时快照
订单簿是什么?说白了,就是交易所里所有未成交订单的集合。它记录了当前市场上所有交易者愿意买入或卖出的价格和数量。
我习惯把订单簿想象成一个双向拍卖市场。一边是买家,一边是卖家,中间是成交价。交易所就是个撮合平台,把买卖双方拉到一起。
核心要点:订单簿不是静态的,它每毫秒都在变化。每一笔新订单、每一次撤单、每一笔成交,都会实时更新订单簿的状态。
咱们来看一个典型的订单簿结构:
# 一个简化的订单簿示例
order_book = {
'asks': [ # 卖单,按价格从低到高排列
{'price': 100.10, 'size': 200},
{'price': 100.15, 'size': 150},
{'price': 100.20, 'size': 300},
],
'bids': [ # 买单,按价格从高到低排列
{'price': 100.05, 'size': 250},
{'price': 100.00, 'size': 180},
{'price': 99.95, 'size': 400},
]
}
嗯,这里要注意:卖单是从低到高排列,因为卖家想卖高价,但为了尽快成交,会挂出相对低的价格。买单则是从高到低排列,买家想买低价,但为了抢到货,会挂出相对高的价格。
1.2 限价单与市价单:两种最基本的订单类型
这两种订单,是交易世界里的原子操作。所有复杂的交易策略,最终都是由这两种订单组合而成的。
限价单(Limit Order)
限价单,就是你指定一个价格,只有市场价格达到或优于这个价格时,订单才会成交。
- 买单限价:你出价100元买,只有卖价≤100元时才会成交
- 卖单限价:你出价110元卖,只有买价≥110元时才会成交
我在项目中遇到过一个问题:用限价单挂单,结果半天没成交。后来发现是价格挂得太保守了。限价单的好处是价格可控,坏处是可能无法成交。
我的经验:做高频交易时,限价单通常用来提供流动性。你挂单后,别人会来吃你的单子,你赚的是买卖价差。但要注意,如果市场方向判断错了,限价单会让你吃大亏。
市价单(Market Order)
市价单,就是你不指定价格,直接按当前最优价格成交。说白了,就是「我要买,不管多少钱,赶紧给我成交」。
- 市价买单:吃掉当前最优的卖单价格
- 市价卖单:吃掉当前最优的买单价格
市价单的优点是保证成交,但缺点是价格不确定。尤其是大单子,可能会吃掉好几个价位,造成严重的滑点。
避坑指南:我曾经在流动性差的品种上用过市价单,结果一个100手的单子,硬是吃掉了5个价位,成交均价比我预期的差了0.3%。从那以后,我做大单子都会先用限价单试探,或者用算法交易拆单执行。
1.3 买卖盘口:订单簿的「第一道防线」
买卖盘口,指的是订单簿上最优的买单和卖单。也就是买一、卖一的价格和数量。
咱们用个表格来展示:
| 盘口位置 | 价格 | 数量 | 说明 |
|---|---|---|---|
| 卖五 | 100.25 | 500 | 第五档卖单 |
| 卖四 | 100.20 | 300 | 第四档卖单 |
| 卖三 | 100.15 | 200 | 第三档卖单 |
| 卖二 | 100.10 | 400 | 第二档卖单 |
| 卖一 | 100.05 | 150 | 最优卖价 |
| 买一 | 100.00 | 200 | 最优买价 |
| 买二 | 99.95 | 350 | 第二档买单 |
| 买三 | 99.90 | 250 | 第三档买单 |
| 买四 | 99.85 | 180 | 第四档买单 |
| 买五 | 99.80 | 600 | 第五档买单 |
买一和卖一之间的差价,就是买卖价差(Bid-Ask Spread)。这是市场流动性的核心指标之一。
为什么会这样?因为买卖价差就是做市商和交易者的利润来源。价差越小,说明市场越活跃,流动性越好。价差越大,说明市场冷清,交易成本高。
1.4 市场深度:订单簿的「厚度」
市场深度,指的是在某个价格水平上,订单簿上累积的订单数量。它反映了市场吸收大额订单的能力。
我习惯用深度图来直观理解。深度图展示了在不同价格水平上,累积的买单和卖单总量。
关键指标:
- 深度斜率:斜率越陡,说明订单集中在少数价位,流动性差
- 深度宽度:宽度越大,说明订单分布均匀,流动性好
- 深度不平衡:买单深度远大于卖单深度,说明买方力量强
咱们用代码来算一下市场深度:
def calculate_market_depth(order_book, levels=5):
"""
计算指定档位的市场深度
"""
bid_depth = sum([bid['size'] for bid in order_book['bids'][:levels]])
ask_depth = sum([ask['size'] for ask in order_book['asks'][:levels]])
return {
'bid_depth': bid_depth,
'ask_depth': ask_depth,
'depth_ratio': bid_depth / ask_depth if ask_depth > 0 else float('inf')
}
# 示例
depth = calculate_market_depth(order_book, levels=3)
print(f"买单深度: {depth['bid_depth']}, 卖单深度: {depth['ask_depth']}")
print(f"深度比: {depth['depth_ratio']:.2f}")
嗯,这里要注意:深度比大于1,说明买方力量强;小于1,说明卖方力量强。但别只看这个指标,要结合价格走势一起分析。
1.5 流动性:市场的「血液」
流动性,是市场微观结构里最核心的概念。它衡量的是你能否快速、低成本地完成交易。
我总结了一个简单的公式:
流动性 = 交易量 × 市场深度 / 买卖价差
流动性好的市场,有这几个特征:
- 买卖价差小:比如主流币种,价差可能只有0.01%
- 市场深度大:大单子不会造成价格剧烈波动
- 交易量高:随时都有对手盘
- 价格冲击小:你下单后,价格不会大幅偏离
我的经验:做策略回测时,一定要考虑流动性约束。很多策略在回测里跑得漂亮,实盘一跑就崩,就是因为没考虑流动性。我曾经有个套利策略,回测年化30%,实盘第一天就被流动性问题打回原形。
1.6 知识体系总览
说了这么多,咱们用一张图来总结本章的核心逻辑:
这张图把咱们今天讲的内容串起来了。你看,订单簿是核心,它衍生出限价单/市价单、买卖盘口、市场深度这三个维度。而所有这些,最终都指向一个核心概念——流动性。
好了,第一章的内容就到这里。记住,微观结构不是理论,是实战工具。下次你打开交易软件,盯着订单簿看五分钟,你会发现以前忽略的很多细节。