1. Tick数据基础概念
各位同学好,我是老张。在量化这个行当摸爬滚打了十几年,今天咱们来聊聊Tick数据。说实话,我刚入行那会儿,对Tick数据也是一头雾水。记得第一次处理Tick数据时,我盯着屏幕上刷刷刷跳动的数字,心想:这玩意儿跟K线到底有啥区别?
嗯,今天我就把这块掰开了揉碎了讲给你听。
1.1 Tick数据的定义
先给个官方定义:Tick数据,也叫逐笔成交数据,是交易所记录下来的每一笔交易明细。每一笔成交,就是一个Tick。
说白了,就是市场最原始的脉搏。你想想看,当你在交易软件上看到一根K线时,它背后可能是几百甚至上千笔交易。而Tick数据,就是把这些交易一笔一笔地摆在你面前。
一个典型的Tick记录长这样:
时间戳, 代码, 成交价, 成交量, 成交额, 买卖方向
2024-01-15 09:30:00.123, 600519.SH, 1685.00, 100, 168500, B
2024-01-15 09:30:00.456, 600519.SH, 1685.01, 200, 337002, S
2024-01-15 09:30:00.789, 600519.SH, 1685.00, 50, 84250, B
看到没?每一行都精确到毫秒级。我在项目中遇到过,有些高频交易所甚至提供微秒级的时间戳。这精度,啧啧。
1.2 Tick数据的三大特点
搞量化的人都知道,Tick数据有三大特点:高频、海量、非结构化。我一个个说。
1.2.1 高频
什么叫高频?就是快。快到什么程度?
- A股市场:每天大约产生3000万到5000万笔Tick数据
- 期货市场:像螺纹钢这种活跃品种,一天能上百万笔
- 美股市场:光苹果一只股票,一天就能产生几十万笔
我举个例子你就明白了。假设你盯着贵州茅台,一秒钟内可能成交几十笔。这频率,比你的心跳还快。
1.2.2 海量
量有多大?我算给你看:
| 数据维度 | 数值 |
|---|---|
| 单只股票日均Tick数 | 约10万笔 |
| 全市场日均Tick数 | 约4000万笔 |
| 单只股票年数据量 | 约2.5亿笔 |
| 全市场年数据量 | 约1000亿笔 |
我曾经帮一家私募搭建Tick数据库,光存储一年全市场数据,就用了20TB的SSD。这还不算备份。你想想看,这数据量有多恐怖。
1.2.3 非结构化
这个特点很多人容易忽略。Tick数据不是规规矩矩的表格数据。为什么?
- 时间戳不规整:不是每秒钟都有数据,也不是固定间隔
- 字段长度不一:有的交易所会带附加信息,有的不会
- 存在大量异常:比如空值、重复数据、价格跳变
说白了,Tick数据就像一条湍急的河流,你得学会在里面捞鱼,而不是指望它自己排好队等你来取。
核心要点:Tick数据的高频、海量、非结构化三大特点,决定了它的处理方式跟传统数据完全不同。你不能用处理日线数据的方法来处理Tick数据,否则会出大问题。
1.3 Tick数据 vs 分钟级数据
很多新手会问:我直接用分钟级数据不就行了?干嘛非要折腾Tick?
好问题。我画张图给你看:
看到区别了吧?我再用一个实际例子说明。
假设某只股票在1分钟内发生了这些交易:
时间 价格 成交量
09:31:01 10.00 100
09:31:02 10.01 200
09:31:03 10.00 50
09:31:04 10.02 300
09:31:05 10.01 150
如果聚合成1分钟K线,你得到的是:
开盘: 10.00 最高: 10.02 最低: 10.00 收盘: 10.01 成交量: 800
嗯,看起来挺正常对吧?但这里面丢失了什么?
- 你不知道价格是先涨后跌,还是先跌后涨
- 你不知道大单是在什么价位成交的
- 你不知道买卖力量的对比变化
我做过一个回测,用Tick数据做的策略,换成分钟级数据后,年化收益直接腰斩。为什么?因为分钟级数据把很多关键信号给抹平了。
我的建议:如果你做的是高频策略,或者需要分析市场微观结构,那就老老实实用Tick数据。如果只是做中长线,分钟级数据也够用。别为了省事而牺牲精度,也别为了炫技而过度复杂化。
1.4 为什么Tick数据质量如此重要?
这个问题我问过很多学员。有人说是为了准确回测,有人说是为了实盘稳定。都对,但不够全面。
我讲个真实案例。几年前,我帮一家量化私募做数据清洗。他们用Tick数据跑回测,策略表现特别好,年化50%+。结果一上实盘,亏得妈都不认识。
排查了三天,发现问题出在数据上。他们的Tick数据里有一些「幽灵成交」——就是交易所测试数据混进来了。这些测试数据的价格跟真实市场完全脱节,导致策略在回测时捕捉到了不存在的套利机会。
你想想看,如果数据质量不过关,再牛逼的策略也是白搭。这就是为什么我们要花整整30章来讲Tick数据质量保证。
避坑指南:我曾经因为Tick数据的时间戳精度不够,导致一个高频策略的延迟计算完全错误。后来发现,数据提供商给的时间戳只精确到秒,而我的策略需要毫秒级精度。所以,拿到数据后第一件事:检查时间戳精度是否满足你的需求。
1.5 小结
好了,这一章的内容就这些。总结一下:
- Tick数据是逐笔成交记录,精度高、信息全
- 三大特点:高频、海量、非结构化
- 跟分钟级数据比,Tick数据保留了更多微观结构信息
- 数据质量是量化策略的生命线
下一章,我会带你看看Tick数据的具体结构,以及如何用Python高效地读取和解析。到时候我会分享一些我踩过的坑,保证让你少走弯路。
公众号:蓝海资料掘金营,微信deep3321