4、数据源与工具:订单簿、逐笔成交、Level 2数据、Tick数据、常用平台与API

做市商情绪分析的前提是获得高质量、低延迟的市场微观结构数据。与普通投资者依赖的日线或分钟K线不同,情绪分析需要深入到每一笔委托和每一笔成交的粒度,观察挂单的动态变化、主动买卖的方向以及大单资金的流动痕迹。本章将系统梳理订单簿(Order Book)、逐笔成交(Time & Sales)、Level 2数据与Tick数据的概念、层级关系及实战应用,并介绍主流的获取平台与API接口,帮助学员建立一套完整的数据获取与预处理框架。

做市商情绪分析数据源与工具架构 数据源层 Level 1 Level 2 Tick 数据 核心处理层 订单簿重建 逐笔成交 盘口快照 委托流分析 情绪指标层 委买委卖比 主动买卖量 大单追踪 撤单率 工具层 交易所API 第三方平台 关键数据流说明: 1. Level 1 仅提供最优买卖盘口,适合粗略判断;Level 2 提供多档位委托,可分析挂单厚度与撤单行为。 2. Tick 数据记录每一笔成交的价、量、时间、方向,是计算主动买卖量(Buy/Sell Volume)的基础。 3. 订单簿重建需将增量更新(Add/Modify/Delete)合并为完整快照,用于计算委买委卖压力。 4. 情绪指标层将原始数据转化为可交易信号,如大单净流入、撤单率异常、盘口失衡度等。 5. 工具层负责数据采集、清洗、存储与可视化,常用平台包括交易所官方API、Wind、聚宽、Tushare等。 注:做市商情绪分析的核心在于从数据流中识别“真实意图”与“虚假挂单”,需结合多维度交叉验证。

4.1 核心概念:从Level 1到Tick数据的分层体系

理解做市商情绪分析,首先需要厘清不同数据层级之间的差异。Level 1数据(又称行情快照)仅包含当前最优买价(Bid)和最优卖价(Ask)及其对应的委托量,这是普通交易软件默认展示的盘口。Level 2数据则进一步提供多档位的委托明细,通常包括买一到买五、卖一到卖五(部分交易所提供更深档位),甚至包含委托队列中的逐笔委托信息。Tick数据则是最细粒度的记录,每一笔成交(包括成交价格、成交量、成交时间、成交方向——主动买或主动卖)都会生成一条记录,部分Tick数据还包含当时的盘口快照。

在实际分析中,Level 1数据只能提供最浅层的情绪信号,例如买卖价差扩大可能意味着流动性不足或做市商避险。而Level 2数据能够揭示挂单的动态变化——例如某价位频繁出现大额挂单又迅速撤单,这往往是做市商试探市场深度或制造虚假压力的手段。Tick数据则能精确计算主动买入量与主动卖出量的比值,这是判断市场主导力量的核心指标。下表对比了不同数据层级的特点与适用场景:

数据层级内容粒度更新频率情绪分析价值典型应用
Level 1最优买卖价与量秒级低(仅反映表面供需)价差监控、简单方向判断
Level 2多档位委托明细毫秒级高(可观察挂单厚度与撤单)盘口压力分析、虚假挂单识别
Tick数据逐笔成交记录事件驱动极高(精确计算主动买卖)大单追踪、资金流向、动量分析
经验提醒:对于做市商情绪分析,Level 2与Tick数据是标配。如果仅依赖Level 1,很容易被盘口的瞬时变化误导。建议至少获取买三卖三档位数据,并结合Tick数据交叉验证。

4.2 订单簿深度解析:挂单行为与情绪信号

订单簿(Order Book)是市场微观结构的核心,它记录了所有未成交的限价委托。做市商情绪分析的关键在于解读订单簿的“形状”与“动态”。一个健康的订单簿通常呈现“金字塔”结构——靠近最优价位的委托量较小,远离最优价位的委托量逐渐增大。当订单簿出现“倒金字塔”结构(即靠近最优价位的委托量异常巨大)时,往往意味着做市商在关键价位设置了“厚墙”,意图阻止价格突破或诱使对手方成交。

判断订单簿情绪的核心方法包括:委买委卖比(Bid/Ask Volume Ratio)——计算买盘总委托量与卖盘总委托量的比值,比值大于1.2通常被视为偏多情绪,小于0.8则偏空;撤单率(Cancellation Rate)——统计一段时间内被撤销的委托量占总委托量的比例,高撤单率(超过30%)往往暗示做市商在“挂单试探”而非真实成交意图;大单阈值监控——设定一个阈值(如单笔委托量超过该标的日均成交量的0.5%),监控大额挂单的进出场行为。

实战中,订单簿分析需要结合时间维度。例如,在开盘前30分钟,做市商经常通过挂出大额买单营造“护盘”假象,随后在价格小幅上涨后迅速撤单并反手做空。这种“诱多”行为在订单簿上表现为:买一档位持续出现大单,但成交记录中主动卖单却占据主导。此时,订单簿信号与Tick数据信号出现背离,是典型的情绪陷阱。

案例拆解:某商品期货合约在上午10:00出现异常盘口。买一至买三档位分别挂出500手、800手、1200手买单,总买盘量达2500手,而卖盘总量仅800手,委买委卖比高达3.1。表面看多头情绪强烈。但观察Tick数据发现,过去10分钟内主动卖单成交量为1800手,主动买单仅600手,且买一档位的500手挂单在每次接近成交时便迅速撤单并重新挂出。进一步分析发现,该“大单”实际来自同一机构的多笔小单合并显示。最终价格在10:15开始快速下跌,跌幅达2.3%。此案例说明,仅看订单簿静态数据容易误判,必须结合逐笔成交方向与撤单行为进行交叉验证。

4.3 逐笔成交与Tick数据:捕捉真实交易意图

逐笔成交数据(Time & Sales)是市场最真实的声音。每一笔成交都包含成交价格、成交量、成交时间以及成交方向(主动买或主动卖)。主动买(Buy)意味着买方以卖一价或更高价格成交,反映了买方急于成交的意愿;主动卖(Sell)则相反。做市商情绪分析的核心指标之一是主动买卖量比(Buy/Sell Volume Ratio),计算公式为:

主动买卖量比 = 主动买入总成交量 / 主动卖出总成交量

该比值大于1.5表示买方力量占优,小于0.7表示卖方力量占优。但需要注意,这一指标在流动性极低的时段(如午盘休市前)可能失真,因为少量成交就能改变比值。更稳健的做法是结合大单净买入量——将单笔成交量超过一定阈值(如该标的日均成交量的0.1%)的成交单独统计,计算大单主动买入量减去大单主动卖出量的差值。大单净买入持续为正,说明机构或做市商在积极吸筹;持续为负则暗示出货。

Tick数据的另一个重要应用是成交速度分析。在短时间内(如1秒内)出现连续多笔同向成交,且每笔成交量递减,往往意味着“冰山订单”在执行——做市商将大单拆分为多笔小单,以避免冲击市场价格。此时,虽然单笔成交量不大,但累计成交量可观,情绪信号偏强。此外,Tick数据还能用于计算成交量加权平均价格(VWAP)与当前价格的偏离度,偏离度过大(超过1%)通常意味着短期情绪过热或过冷。

风险提示:Tick数据量巨大,单日数据量可达数百万条。直接使用原始Tick数据进行分析会消耗大量计算资源。建议先进行数据清洗与聚合——例如按分钟聚合为“分钟Tick统计”(包含该分钟内的主动买卖量、大单笔数、平均单笔成交量等),再用于情绪分析。同时,注意不同交易所对Tick数据的定义可能存在差异(如是否包含盘口快照),需提前确认数据字典。

4.4 常用平台与API:数据获取实战

获取高质量的市场微观数据需要选择合适的平台与API。对于国内A股市场,交易所官方API(如上交所、深交所的Level 2数据接口)提供最权威的数据,但通常需要机构资质并支付较高费用。对于个人交易者,第三方数据平台是更现实的选择。以下为常用平台对比:

平台/API数据覆盖更新延迟费用模式适用场景
Wind金融终端Level 2、Tick、订单簿毫秒级年费制(较高)机构研究、量化策略开发
聚宽(JoinQuant)Level 2、分钟Tick秒级免费/付费个人量化、策略回测
Tushare ProLevel 1、部分Tick分钟级积分制入门学习、低频分析
交易所官方API全量Level 2、逐笔委托微秒级机构年费高频交易、做市策略

在API使用层面,以聚宽为例,获取Tick数据的典型代码片段如下:

from jqdatasdk import *
auth('your_account', 'your_password')
# 获取某股票2024年1月10日的Tick数据
df = get_ticks('000001.XSHE', '2024-01-10', count=5000)
# 输出字段:time, price, volume, pre_close, buyorsell
# buyorsell: 1=主动买, 2=主动卖
print(df.head())

对于加密货币市场,Binance API和Coinbase Pro API提供免费的Level 2深度数据与逐笔成交数据,且支持WebSocket实时推送。例如,Binance的depth接口可以获取20档买卖盘口,aggTrades接口提供聚合的逐笔成交数据。使用WebSocket连接后,可以实时接收订单簿增量更新(depthUpdate事件),从而在本地重建订单簿。

在数据存储方面,建议使用时序数据库(如InfluxDB)或列式存储(如Parquet文件)来管理Tick数据。由于Tick数据具有高频、追加写入的特点,传统关系型数据库(如MySQL)在写入性能上可能成为瓶颈。一个实用的数据管道设计为:API采集 → 消息队列(如Kafka) → 流处理(如Flink) → 时序数据库/数据仓库 → 分析引擎。

实战场景:假设我们需要分析某股票在开盘后30分钟内的做市商情绪。操作流程如下:1)通过聚宽API获取该股票当日全部Tick数据(约2万条);2)清洗数据,剔除成交量为0的记录,并标记每笔成交的主动方向;3)按5分钟粒度聚合,计算每个时间窗口的主动买卖量比、大单净买入量、撤单率(需结合Level 2数据);4)绘制情绪指标曲线,观察是否存在“量价背离”或“挂单陷阱”;5)结合订单簿快照,识别关键价位的挂单厚度变化。最终输出一份包含情绪评分(0-100分)的报告,评分高于70分视为强烈看多,低于30分视为强烈看空。

4.5 常见误区与复盘总结

在做市商情绪分析的数据处理环节,初学者常犯以下错误:误区一:忽视数据时间戳的时区与对齐问题。不同数据源的时间戳可能基于UTC或本地时区,且Tick数据的记录时间与交易所撮合时间可能存在毫秒级延迟。若未对齐时间,计算出的主动买卖量比将失真。误区二:直接使用原始Tick数据计算指标而不进行清洗。例如,部分交易所会推送“系统内部成交”或“零股成交”,这些数据不应纳入情绪分析。误区三:过度依赖单一指标。委买委卖比高并不一定代表看多,如果同时伴随高撤单率,则可能是虚假繁荣。必须结合多个维度(订单簿、Tick、成交速度)进行综合判断。

复盘总结时,建议建立一套数据质量检查清单:1)检查数据完整性——是否存在缺失的时间段;2)检查数据一致性——Tick数据中的最后一笔成交价是否与分钟K线的收盘价一致;3)检查异常值——单笔成交量是否超过该标的流通盘的1%(可能是数据错误);4)检查延迟——从数据时间戳到本地接收时间的间隔是否稳定。只有通过质量检查的数据,才能用于后续的情绪模型构建。

经验总结:做市商情绪分析的本质是从噪声中提取信号。数据源与工具的选择决定了信号的上限,而数据处理方法决定了信号的纯度。建议学员从Level 2 + Tick数据入手,先手工分析10个交易日的样本,熟悉数据特征后再编写自动化脚本。记住:工具只是手段,对市场微观结构的理解才是核心能力。