一、订单流基础:什么是订单流?
做量化交易这些年,我越来越觉得——订单流才是市场的"心电图"。
你想想看,传统K线图告诉你什么?开盘价、收盘价、最高价、最低价。但这些数据都是"结果",不是"过程"。真正推动价格变动的,是每一笔挂单、每一笔成交的微观博弈。这就是订单流要干的事。
1.1 什么是订单流?
订单流,说白了就是市场参与者提交的所有买卖指令的实时序列。它记录了谁在什么价位、什么时间、以什么方向、挂了多少单,以及这些单子最终有没有成交。
我习惯把订单流比作"水下摄像机"——K线只能看到水面上的浪花,订单流能拍到水面下鱼群的游动方向。
核心定义:订单流 = 逐笔委托数据 + 逐笔成交数据 + 订单簿状态变化
具体来说,订单流包含三个层次的信息:
- 委托层:限价单的挂单、撤单、修改
- 成交层:每一笔成交的价格、数量、买卖方向
- 状态层:订单簿的深度变化、买卖盘口失衡
嗯,这里要注意——很多人以为订单流就是Tick数据,其实差远了。我们接着往下看。
1.2 订单流与Tick数据的区别
这个问题我经常被问到。有一次在技术交流会上,一个刚入行的朋友说:"订单流不就是Tick数据吗?"我当时笑了笑,给他画了个对比表。
| 维度 | Tick数据 | 订单流数据 |
|---|---|---|
| 记录内容 | 每一笔成交的价格和数量 | 委托、成交、撤单、订单簿变化 |
| 数据粒度 | 成交级 | 事件级(含未成交的挂单) |
| 信息维度 | 单一维度(成交) | 多维度(买卖压力、挂单深度) |
| 能否还原订单簿 | 不能 | 能 |
| 数据量级 | 较小(仅成交事件) | 大3-5倍(含挂单撤单) |
| 典型用途 | 回测、简单统计 | 微观结构分析、高频策略 |
举个例子你就明白了。假设当前EUR/USD报价1.1050/1.1052:
- Tick数据告诉你:1.1051成交了100手
- 订单流数据告诉你:有人在1.1050挂了200手买单,有人在1.1052挂了150手卖单,然后一个市价单吃掉了1.1052的50手,剩下的100手撤单了...
看到了吗?Tick数据只告诉你"发生了什么",订单流告诉你"为什么会发生"以及"接下来可能发生什么"。
我的经验:做汇率预测,只用Tick数据就像只看后视镜开车。订单流才是前挡风玻璃——虽然信息量大,但能让你看到前方的路况。
1.3 订单流在汇率预测中的价值
为什么订单流对汇率预测这么重要?我直接说结论:因为汇率是订单流驱动的,不是基本面驱动的——至少在短周期内是这样。
你想想看,一个宏观数据公布后,汇率可能在几毫秒内就完成反应。这期间发生了什么?是订单流在推动。基本面只是"燃料",订单流才是"点火器"。
我个人总结,订单流在汇率预测中有三大价值:
- 提前发现价格失衡:当买单持续堆积而卖单稀疏时,价格大概率要涨。这不是玄学,是供需关系的微观体现。
- 识别虚假突破:K线图上看着突破了,但订单流显示大单在反向挂单——嗯,这大概率是陷阱。我曾经因为这个判断躲过好几次假突破。
- 量化市场情绪:通过买卖盘口的失衡度、成交的主动性方向,可以构建情绪指标。这些指标比任何技术指标都更贴近市场本质。
核心观点:订单流不是预测工具,而是"观测工具"。它让你看到市场参与者的真实意图,而不是价格变动的影子。
我记得有一次做USD/JPY的日内策略,传统技术指标全部失效,价格在区间内来回震荡。后来我切换到订单流视角,发现每次价格触及区间上沿时,卖盘深度都会突然增加——这说明有大资金在压盘。基于这个信号,我做了反向策略,效果出奇的好。
避坑指南:我曾经犯过一个错误——以为订单流数据越多越好。结果数据量太大,策略反而过拟合了。后来我明白,订单流分析的关键不是"数据多",而是"信号纯"。要学会过滤噪音,只关注那些真正有信息量的订单流事件。
1.4 订单流分析的核心框架
为了让你更直观地理解订单流在汇率预测中的位置,我画了一张框架图。这张图是我做项目时反复迭代出来的,现在分享给你。
这张图展示了我做订单流分析的标准流程。从原始数据到最终预测信号,每一步都有讲究。后面几章我会逐一拆解每个环节的具体实现。
1.5 一个简单的订单流数据示例
光说不练假把式。我给你看一段真实的订单流数据长什么样。这是我从某外汇ECN平台抓到的原始数据片段:
# 订单流数据示例(简化格式)
# 时间戳, 类型, 方向, 价格, 数量, 订单ID
2024-01-15 09:30:00.123, LIMIT, BUY, 1.1050, 200000, ORD001
2024-01-15 09:30:00.456, LIMIT, SELL, 1.1052, 150000, ORD002
2024-01-15 09:30:00.789, TRADE, BUY, 1.1051, 100000, TRD001 # 市价单吃掉中间价
2024-01-15 09:30:01.012, CANCEL, BUY, 1.1050, 50000, ORD001 # 部分撤单
2024-01-15 09:30:01.234, LIMIT, SELL, 1.1053, 300000, ORD003 # 新卖单压盘
你看,仅仅1秒钟内,就有5个事件发生。每个事件都在改变市场的微观结构。如果你只看Tick数据,只能看到一笔成交。但订单流告诉你——有人在1.1050挂了买单又撤了一半,有人在1.1053挂了更大的卖单——这明显是压盘信号。
小技巧:我习惯把订单流数据按"事件类型"分桶存储。LIMIT事件用来分析挂单意愿,TRADE事件用来分析成交压力,CANCEL事件用来分析信心变化。分开处理,信号更干净。
好了,这一章的内容就到这里。订单流的概念、与Tick数据的区别、在汇率预测中的价值,以及核心分析框架,我都给你讲清楚了。下一章我们会深入订单流数据的获取和清洗——这部分在实际项目中踩坑最多,我会把经验都分享出来。
公众号:蓝海数据掘金营,微信deep3321