第一章:交易事件序列基础

各位同学好,我是老张。在量化交易这行摸爬滚打了十几年,今天咱们来聊聊交易事件序列这个基础话题。

说实话,很多人一上来就研究各种复杂策略,却忽略了最底层的东西——交易事件。我见过太多人,模型跑得飞起,结果连Tick数据是什么都说不清楚。嗯,这就像盖楼不打地基,迟早要塌。

什么是交易事件?

交易事件,说白了就是市场上发生的每一次「动作」。你想想看,股票市场每时每刻都在发生什么?有人买,有人卖,有人挂单,有人撤单。这些动作,就是交易事件。

我个人习惯把交易事件分成两类:

  • 成交事件:买卖双方达成交易,价格和数量确定下来
  • 订单事件:有人挂单、撤单、修改订单

举个例子。你在交易软件上看到「14:30:15.123 买入100股茅台,成交价1800元」,这就是一个成交事件。而「14:30:15.456 有人在1801元挂了200股卖单」,这就是一个订单事件。

核心要点:交易事件是市场微观结构的原子单位。每个事件都包含时间戳、价格、数量、方向等关键信息。

事件序列的定义

事件序列,就是把这些交易事件按时间顺序排好。听起来很简单对吧?但这里有个坑——时间精度。

我曾经在做一个高频策略时,发现回测和实盘差距巨大。查了三天,最后发现是事件排序出了问题。两个事件的时间戳只差1微秒,但顺序不同,策略结果天差地别。

事件序列有几个关键特征:

  1. 时间有序性:事件必须严格按时间排列
  2. 不可逆性:事件一旦发生,就不能回头
  3. 稀疏性:不是每个时刻都有事件发生
  4. 不规则性:事件之间的时间间隔不固定

避坑指南:处理事件序列时,千万别用等间隔采样的思路。我刚开始做的时候就这么干过,结果把很多关键信号都弄丢了。事件序列天然就是不等间隔的,你得用专门的方法来处理。

Tick级数据

Tick级数据,就是最原始的交易数据。每一笔成交、每一次报价变动,都被记录下来。

我记得第一次拿到A股的Tick数据时,吓了一跳。一天下来,一只股票可能有几万条Tick记录。整个市场呢?几千万条。这数据量,处理起来真不是闹着玩的。

Tick数据通常包含以下字段:

字段 说明 示例
时间戳 精确到毫秒或微秒 2024-01-15 14:30:15.123
最新价 当前成交价格 1800.50
成交量 当前笔的成交量 100
成交额 当前笔的成交金额 180050
买卖方向 主动买还是主动卖 Buy / Sell

这里要注意,不同交易所的Tick数据格式可能不一样。比如美股和A股,时间精度、字段定义都有差异。做跨市场策略时,一定要先搞清楚数据规范。

Order Book数据

Order Book,也就是订单簿,记录了市场上所有未成交的买卖订单。它就像市场的「实时供需图」。

为什么Order Book重要?因为它能告诉你市场的「意图」。成交数据是已经发生的事,而Order Book展示的是「即将可能发生」的事。

Order Book的核心结构:

  • 买盘(Bid):所有买入订单,按价格从高到低排列
  • 卖盘(Ask):所有卖出订单,按价格从低到高排列
  • 价差(Spread):最优买价和最优卖价的差值
  • 深度(Depth):每个价位上的订单数量

实战经验:我做过一个统计,A股市场大部分时间价差只有1个tick(0.01元)。但遇到重大消息时,价差能瞬间扩大到几十个tick。这种时候,Order Book数据能帮你提前感知市场情绪的变化。

Tick数据 vs Order Book数据

这两者是什么关系?我打个比方:

Tick数据是「结果」,告诉你市场发生了什么。
Order Book数据是「过程」,告诉你市场正在发生什么。

做策略时,两者缺一不可。只看Tick数据,你只能做「事后诸葛亮」。只看Order Book,你又容易陷入「过度解读」的陷阱。

我个人习惯的做法是:先用Order Book数据判断市场状态,再用Tick数据验证和确认。两者结合,才能形成完整的市场视图。

注意:Order Book数据更新极快,尤其是在高频交易场景下。一秒内可能有几百次变动。处理这种数据,对系统性能要求很高。我见过有人用Python直接处理,结果CPU跑满,延迟高得吓人。建议用C++或Rust做底层处理,Python只做上层分析。

知识体系总览

下面这张图,是我整理的本章节知识结构。建议你保存下来,后面学习时随时对照。

交易事件序列知识体系 交易事件 事件序列 Tick级数据 Order Book数据 Tick数据特征 • 每笔成交记录 • 时间精度高 Order Book特征 • 未成交订单 • 反映市场深度 策略开发 · 市场微观结构分析

这张图把本章的核心内容串起来了。从交易事件出发,到事件序列,再到两种数据类型,最后落到实际应用。你学习时,可以按这个脉络来理解。

个人建议:刚开始接触这些概念时,别急着写代码。先花一周时间,把Tick数据和Order Book数据下载下来,用Excel打开看看。手动翻一翻,感受一下数据的「质感」。我当年就是这么干的,效果比直接看文档好十倍。

好了,第一章的内容就到这里。记住,交易事件序列是整个量化交易的基石。这块基础打不牢,后面学再多策略也是空中楼阁。

专注资料整理