一、市场深度概述
1.1 什么是市场深度
市场深度,说白了就是市场能「吃下」多大单子的能力。
我刚开始做量化的时候,以为深度就是成交量。后来在实盘中吃过亏——有一次我看到某币种买盘挂单很厚,就放心地砸了一笔大单,结果价格直接滑了三个点。为什么?因为那些挂单很多是「虚挂」的,一碰就撤。
真正的市场深度,衡量的是三个维度:
- 挂单厚度:每个价位上有多少量
- 价差宽度:买卖盘口之间的差距
- 恢复速度:大单吃掉后,新挂单补充的快慢
你想想看,一个深度好的市场,你下100万的单子,价格几乎不动。深度差的市场,10万就能把盘口打穿。这就是我们做量化交易首先要关注的东西。
1.2 订单簿基础概念
订单簿(Order Book),就是交易所用来记录所有买卖挂单的电子账本。
我个人习惯把订单簿想象成一个「排队系统」:
- 买单排队:谁出价高,谁排前面(价格优先)
- 卖单排队:谁出价低,谁排前面(价格优先)
- 同价位:谁先来,谁先成交(时间优先)
嗯,这里要注意:订单簿不是静态的。它每时每刻都在变化——有人挂单、有人撤单、有人吃掉对手盘。我在做实时数据同步时,最头疼的就是订单簿的增量更新。你想想看,每秒几千笔的变动,如果全量推送,带宽和CPU都扛不住。
核心要点:订单簿的三种状态
- 快照(Snapshot):某一时刻的完整订单簿
- 增量(Incremental):每次变动的数据
- 校验(Check):定期用快照校验增量数据的准确性
我曾经踩过一个坑:某交易所的增量数据偶尔会丢包,导致我本地的订单簿和交易所对不上。后来我加了个机制——每1000笔增量后,强制拉一次快照做校验。这个习惯我一直保留到现在。
1.3 买卖盘口解析
买卖盘口,就是订单簿里最核心的两个价格:
- Bid(买一):当前最高买入价
- Ask(卖一):当前最低卖出价
这两个价格之间的差距,叫「价差」(Spread)。价差越小,说明市场流动性越好。
举个例子:
| 盘口 | 价格 | 数量 | 累计 |
|---|---|---|---|
| 卖三 | 100.03 | 200 | 500 |
| 卖二 | 100.02 | 150 | 300 |
| 卖一 | 100.01 | 150 | 150 |
| 买一 | 100.00 | 100 | 100 |
| 买二 | 99.99 | 200 | 300 |
| 买三 | 99.98 | 300 | 600 |
这个表里,价差是 100.01 - 100.00 = 0.01。如果你要买入500股,按市价单会吃掉卖一到卖三的全部挂单,成交均价是 (150×100.01 + 150×100.02 + 200×100.03) / 500 ≈ 100.02。这就是滑点的来源。
我的经验:做高频交易时,我只看买一卖一和价差。做中低频策略时,我会看买五到卖五的深度分布。不同策略,关注的点完全不同。
1.4 深度图可视化原理
深度图(Depth Chart),就是把订单簿的数据画成两条曲线。
怎么画?其实很简单:
- 买盘曲线:从买一往左,累计挂单量
- 卖盘曲线:从卖一往右,累计挂单量
两条曲线中间的空隙,就是价差。曲线越陡峭,说明该价位附近流动性越集中。曲线越平缓,说明深度分布越均匀。
我见过很多新手把深度图当成K线来看,这是不对的。深度图反映的是「当下」的挂单意愿,不是「历史」的成交记录。一个是存量,一个是流量,两码事。
下面我用SVG画了一张深度图的结构示意:
这张图里,绿色是买盘,红色是卖盘。中间那个小缺口就是价差。你看买盘曲线从左边开始逐渐上升,说明价格越低,愿意买入的人越多。卖盘曲线从右边开始逐渐上升,说明价格越高,愿意卖出的人越多。
避坑提醒:我曾经在对接某交易所的深度数据时,发现它的深度图是「倒着」画的——买盘在右,卖盘在左。后来才知道,不同交易所的坐标轴习惯不一样。对接前一定要先看文档,别想当然。
1.5 深度数据的实际应用
深度数据不只是用来画图的。我常用的几个场景:
- 流动性评估:看某个价位附近有多少挂单,判断能不能下大单
- 支撑阻力判断:深度大的价位,往往有较强的支撑或阻力
- 市场情绪感知:买盘远大于卖盘,说明多头情绪强;反之亦然
- 算法交易拆单:根据深度分布,把大单拆成小单,减少滑点
举个例子,我做过一个策略:当买一到买五的累计深度是卖一到卖五的3倍以上时,认为市场短期偏多,开多单。这个策略在流动性好的币种上效果不错,但在深度差的品种上经常假信号。
一句话总结:市场深度就是市场的「厚度」。订单簿是它的骨架,买卖盘口是它的眼睛,深度图是它的脸。看懂这三样,你才算真正入门了量化交易的数据分析。
公众号:蓝海资料掘金营,微信deep3321