数据源解析:Level-2行情数据与普通行情数据的区别

做量化交易这些年,我踩过最大的坑,就是拿普通行情数据去分析主力资金。说白了,普通行情就像用手机拍月亮——能看个大概,但细节全丢了。今天咱们就好好聊聊,Level-2数据和普通数据到底差在哪。

普通行情数据:只能看个热闹

普通行情数据,也就是我们平时在炒股软件上看到的那些。它每3秒或5秒刷新一次,给你一个快照。我刚开始做交易时就用这个,结果发现很多信号都是假的。

普通数据的主要特征:

  • 刷新频率低:3-5秒一次,中间发生了什么你完全不知道
  • 只有成交汇总:告诉你这3秒内成交了多少手,均价多少
  • 没有委托明细:你不知道是主动买还是主动卖
  • 大单小单混在一起:一笔1000手的单子和10笔100手的单子,在普通数据里看起来一样
注意:用普通数据判断主力资金,就像用温度计测水温——只能知道大概,但不知道是热水器在加热还是冰块在融化。

Level-2行情数据:看清每一笔交易

Level-2数据,说白了就是交易所给付费用户开的「后门」。它能让你看到逐笔成交、十档委托、买卖队列这些核心信息。我个人习惯,只要做资金分析,必须用Level-2数据。

Level-2的核心优势:

  • 逐笔成交:每一笔交易都能看到,包括成交时间、价格、数量、方向
  • 十档委托:能看到买一到买十、卖一到卖十的挂单情况
  • 买卖队列:能看到每个价位上挂了多少单,谁在挂
  • 成交标识:明确标注是主动买还是主动卖
核心区别一句话:普通数据告诉你「发生了什么」,Level-2数据告诉你「谁干的、怎么干的」。

逐笔成交与分时成交的差异

这个点特别容易混淆。我见过不少交易员,把分时成交当成逐笔成交来分析,结果方向都搞反了。嗯,这里要注意区分。

分时成交:被「打包」过的数据

分时成交,就是普通行情里那种每3秒或5秒汇总一次的数据。它把这段时间内的所有成交合并成一条记录。

举个例子:

// 分时成交示例
时间:09:30:05
价格:10.00元
成交量:500手
成交额:50万元
// 你只知道这5秒内成交了500手,但不知道是几笔单子

分时成交的问题在于:

  • 一笔大单和十笔小单,在分时成交里看起来一样
  • 无法区分主动买和主动卖
  • 时间精度低,无法做高频分析

逐笔成交:每一笔都清清楚楚

逐笔成交,就是Level-2数据里的核心内容。每一笔交易都单独记录,包括:

// 逐笔成交示例
第1笔:09:30:01.123,价格10.00元,成交量300手,主动买入
第2笔:09:30:02.456,价格10.01元,成交量150手,主动卖出
第3笔:09:30:03.789,价格10.00元,成交量50手,主动买入
// 你能看到每一笔的细节

我在项目中遇到过这样的情况:分时成交显示某只股票5分钟内净流入500万,但逐笔成交一看,其实是两笔大单对倒,真正的净流入只有50万。这就是为什么我说,不看逐笔成交,你永远不知道资金在玩什么把戏。

我的习惯:分析主力资金时,先用逐笔成交数据做精细分析,再用分时成交数据做趋势判断。两者结合,效果最好。

大单划分标准

大单划分,说白了就是给资金大小定个标准。但这个标准不是固定的,得看股票的价格和流通盘。你想想看,贵州茅台的一笔100手大单,和一只5块钱股票的一笔100手大单,能一样吗?

常见的划分方法

股票类型 小单 中单 大单 超大单
低价股(<10元) <100手 100-500手 500-2000手 >2000手
中价股(10-50元) <50手 50-200手 200-1000手 >1000手
高价股(>50元) <20手 20-100手 100-500手 >500手

这个表是我自己总结的,不一定适合所有场景。但核心逻辑是:大单的金额门槛应该在50万-100万之间。低于这个数,很难说是主力行为。

动态划分法:更精准的方式

我个人更推荐用动态划分法。就是根据股票的历史成交分布,自动计算大单阈值。

// 动态大单划分示例(Python伪代码)
def calculate_large_order_threshold(trade_data):
    # 计算所有成交量的分布
    volumes = trade_data['volume'].values
    # 取90%分位数作为大单阈值
    threshold = np.percentile(volumes, 90)
    return threshold

# 使用示例
threshold = calculate_large_order_threshold(df)
large_orders = df[df['volume'] >= threshold]

这样做的好处是:不同股票、不同时间段,大单标准会自动调整。我曾经用这个方法分析过一只科创板股票,发现它的「大单」标准只有50手,因为它的流通盘太小了。

避坑指南:我曾经犯过一个错误,用固定的大单标准去分析所有股票。结果发现某只股票的大单净流入特别多,但其实是它的价格太高,100手就已经是超大单了。从那以后,我再也不敢用一刀切的标准了。

知识体系总览

下面这张图,是我自己整理的数据源解析框架。你看完应该能明白,这三个知识点是怎么串起来的。

数据源解析知识体系 数据源 普通行情数据 Level-2行情数据 3-5秒快照 成交汇总 无方向标识 分时成交 打包数据 精度低 逐笔成交 每笔明细 方向明确 十档委托 买卖队列 挂单明细 大单划分标准 固定标准 vs 动态划分(按价格、流通盘调整) 核心逻辑:数据精度决定分析深度,大单标准决定资金判断准确性

这张图的核心逻辑很简单:数据精度决定分析深度。普通数据只能做粗浅的资金流向判断,Level-2数据才能做精细的主力行为分析。而大单划分标准,则是连接数据和策略的桥梁。

我的建议:刚开始做资金分析时,先用Level-2数据跑一遍,看看逐笔成交里的大单是怎么分布的。等你熟悉了,再考虑用普通数据做快速筛选。别一上来就用普通数据,容易走弯路。

好了,这一章的内容就到这里。数据源是分析的基础,基础打牢了,后面的策略才能站得住脚。下一章咱们聊聊如何用Python获取和处理Level-2数据,到时候我会分享一些我自己的代码模板。

专注资料整理