一、逐笔数据入门:从一笔交易说起
大家好,我是老蓝。做了这么多年量化交易,我始终觉得——逐笔数据才是市场的“原汁原味”。
你想想看,我们平时看到的K线、分时图,其实都是加工过的“二手信息”。而逐笔数据,记录的是每一笔真实的成交。说白了,它就是市场最原始的DNA。
1.1 什么是逐笔成交数据?
逐笔成交数据,英文叫Trade-by-Trade数据。它记录的是交易所主机里,每一笔撮合成交的详细信息。
举个例子:
假设你在9:30:01秒买入100股茅台,价格是1800元。与此同时,另一个人在9:30:01秒卖出100股茅台,价格也是1800元。交易所主机就把这两条指令撮合在一起,生成一条逐笔成交记录。
嗯,就是这么简单粗暴。
核心要点:逐笔数据 = 每一笔真实成交的“快照”
1.2 逐笔数据 vs Tick数据
很多新手容易把这两个概念搞混。我刚开始做量化时也踩过这个坑。
简单来说:
- Tick数据:是“切片”数据,比如每3秒或每500ms拍一张快照。它记录的是这个时间切片内的统计汇总(开盘价、收盘价、最高最低、成交量等)。
- 逐笔数据:是“流水”数据,每一笔成交都单独记录。它不汇总,不切片,就是最原始的交易流水。
| 对比维度 | 逐笔数据 | Tick数据 |
|---|---|---|
| 记录方式 | 每笔成交一条记录 | 固定时间间隔切片 |
| 数据量 | 极大(一天几百万条) | 较小(一天几千条) |
| 信息粒度 | 单笔交易细节 | 时间段内统计 |
| 延迟 | 实时推送 | 有固定间隔 |
| 典型用途 | 主力追踪、高频策略 | 技术分析、回测 |
我的经验:如果你做的是日内高频策略,逐笔数据是必需品。如果是做日线级别的中长线,Tick数据就够用了。别杀鸡用牛刀。
1.3 逐笔数据的核心字段解析
一条标准的逐笔成交记录,通常包含以下几个字段。我挑最重要的说:
- 时间(Time):精确到毫秒甚至微秒。比如 09:30:01.234。注意,不同交易所的精度不一样。
- 价格(Price):这笔交易的成交价。注意是实际成交价,不是买卖报价。
- 成交量(Volume):这笔交易成交了多少股(或手)。
- 买卖方向(Side/BuySell):这笔交易是主动买还是主动卖。这是最关键的字段!
这里我要特别强调一下买卖方向。很多人以为“买”就是买方主动,“卖”就是卖方主动。其实不对。
在逐笔数据里,买卖方向指的是“主动方”:
- 主动买(B):买方以卖一价或更高价买入,说明买方更着急。
- 主动卖(S):卖方以买一价或更低价卖出,说明卖方更着急。
我曾经在项目里遇到过一个问题:某只股票明明在涨,但逐笔数据里主动卖的单子却很多。后来发现是主力在“对倒”洗盘。如果不看买卖方向,光看价格和成交量,很容易被误导。
避坑指南:我曾经因为没注意买卖方向的精度问题,导致回测结果和实盘差了10%以上。不同数据商的买卖方向标记规则可能不同,一定要先确认清楚。
1.4 逐笔数据的典型应用场景
逐笔数据能做的事情太多了。我挑两个最常用的场景说说:
场景一:主力资金追踪
说白了,就是通过逐笔数据判断“大资金”在干嘛。
怎么判断?看单笔成交量。如果某笔成交的股数远大于平均单笔成交量,那大概率是机构或主力在操作。
举个例子:
# 伪代码示例:识别大单
avg_volume = 1000 # 平均单笔成交量
threshold = 5 # 5倍阈值
for trade in trades:
if trade.volume > avg_volume * threshold:
if trade.side == 'B':
print(f"大单主动买入:{trade.volume}股,价格{trade.price}")
elif trade.side == 'S':
print(f"大单主动卖出:{trade.volume}股,价格{trade.price}")
嗯,代码很简单,但实战中要注意:有些主力会拆单,把大单拆成几十笔小单。这时候光看单笔成交量就不够了,还得结合时间窗口内的累计成交量来判断。
场景二:盘口异动捕捉
盘口异动,就是市场突然出现异常的交易行为。比如:
- 瞬间大单:1秒内出现多笔超大单成交
- 价格断层:连续几笔成交价格突然跳升或跳降
- 买卖失衡:短时间内主动买和主动卖的比例严重失调
我记得有一次,某只股票在下午2点突然出现连续10笔主动买入,每笔都在5000股以上。价格从20元直接拉到20.5元。这就是典型的“抢筹”异动。如果你能实时捕捉到这种信号,就可以快速跟进。
核心逻辑:逐笔数据能让你看到市场的“微观结构”。别人还在看K线的时候,你已经看到了每一笔交易的细节。这就是信息优势。
1.5 本章知识体系图
下面这张图,是我自己梳理的逐笔数据知识体系。你可以把它当作一个“地图”,后续章节都会围绕这些展开。
这张图把逐笔数据的核心脉络都串起来了。从定义到对比,从字段到应用,每一步都有它的逻辑。我个人习惯是把这张图打印出来贴在工位上,写代码时随时瞄一眼,思路会清晰很多。
一个小建议:刚开始接触逐笔数据时,别急着写策略。先花一周时间,每天手动翻一翻逐笔数据,感受一下市场的“呼吸”。你会发现很多K线上看不到的东西。
好了,第一章就到这里。逐笔数据这东西,说难不难,说简单也不简单。关键是要理解它的本质——每一笔交易背后,都是一个人的决策。当你把几百万笔决策串起来看的时候,市场的脉络就清晰了。
下一章,我们会深入实战,讲讲怎么用Python获取和清洗逐笔数据。到时候我会分享一些我踩过的坑,保证让你少走弯路。