1. 订单流基础:什么是订单流?
说实话,我刚入行那会儿,对「订单流」这三个字也是一头雾水。
那时候我天天盯着K线图,觉得价格涨跌就是一切。直到有一次,我在做股指期货的日内策略时,发现明明价格突破了关键阻力位,但就是冲不上去。我反复检查指标,MACD金叉、RSI也没超买,到底哪里出了问题?
后来一位老交易员点醒了我:「你看到的只是价格的结果,不是过程。」
嗯,这句话我记到现在。
1.1 什么是订单流?
订单流,说白了就是每一笔成交的详细记录。
它不像K线那样,把一段时间内的价格波动压缩成一根蜡烛。订单流告诉你的是:在每一个价格点上,到底发生了多少笔交易?买方和卖方分别是谁?
我习惯这样理解:
- K线 = 一张城市的卫星照片,你能看到整体布局,但看不清街上的人在干嘛
- 订单流 = 街上的监控摄像头,谁在买、谁在卖、买了多少,一清二楚
你想想看,如果你能看到每一笔交易的细节,是不是比只看收盘价要强得多?
核心定义:订单流(Order Flow)是指市场中每一笔成交订单的实时数据流,包含价格、数量、时间、方向四个核心要素。
1.2 订单流与Tick数据的区别
这个问题我经常被问到。很多新手会把订单流和Tick数据混为一谈,其实它们有本质区别。
先看个表格,一目了然:
| 对比维度 | Tick数据 | 订单流数据 |
|---|---|---|
| 记录粒度 | 每次价格变动 | 每笔成交 |
| 包含信息 | 价格、时间 | 价格、数量、时间、方向 |
| 数据量 | 相对较少 | 非常大(每笔都记录) |
| 能否判断买卖方向 | 不能 | 能(主动买/主动卖) |
| 典型用途 | 回测、波动率计算 | 盘口分析、主力资金追踪 |
举个例子你就明白了:
假设当前价格是100元,下一笔成交是100.01元。Tick数据只会记录「价格从100变到100.01」。但订单流数据会告诉你:这笔成交是买方主动吃掉了卖单,数量是500手,发生在14:32:15.678这个时刻。
我曾经在开发一个高频策略时,只用Tick数据做信号,结果回测曲线漂亮得不行,实盘却一塌糊涂。后来换成订单流数据才发现,很多Tick数据里的「价格跳动」其实是虚假突破——大单挂在那里,成交一笔就撤单了。没有方向信息,你根本看不出来。
避坑提醒:千万不要以为Tick数据就是订单流。Tick数据只告诉你「价格变了」,但订单流告诉你「为什么变」。两者信息量差了一个数量级。
1.3 订单流数据的核心要素
好,接下来我们拆开来看。订单流数据有四个核心要素,缺一不可。
1. 价格
这个不用多说,就是成交价格。但要注意,订单流里的价格是逐笔成交价,不是K线的OHLC。每一笔成交都有一个独立的价格记录。
2. 数量
成交的手数或合约数。这个信息非常关键——大单和小单的意义完全不同。
我举个例子:某只股票在100元价位上,突然出现一笔10000手的成交。这大概率是机构在吃货。但如果只是几手几十手的零散成交,那可能就是散户在交易。
3. 时间
精确到毫秒甚至微秒的时间戳。为什么时间这么重要?因为你可以通过时间序列,还原出资金进场的节奏。
我记得有一次分析某商品的订单流数据,发现每天下午14:30左右,都会有一波密集的大单买入,持续约5分钟。后来我顺着这个规律,专门做了一个尾盘策略,效果还不错。
4. 方向
这是订单流数据最核心、也最容易被忽略的一点。
方向分为两种:
- 主动买(Aggressive Buy):买方主动吃掉卖一价位的挂单
- 主动卖(Aggressive Sell):卖方主动砸向买一价位的挂单
说白了,就是看谁更着急。主动买说明买方意愿强,主动卖说明卖方在砸盘。
我的小技巧:在实际分析中,我习惯把主动买和主动卖的数量做差,得到「净主动买入量」。这个指标比单纯的成交量更有参考价值。如果价格上涨但净主动买入量是负的,那就要小心了——可能是假突破。
1.4 订单流数据的可视化结构
说了这么多理论,我们来画一张图,把订单流的核心逻辑串起来。
这张图把订单流的核心结构讲清楚了。你看,四个要素就像四个支柱,缺了任何一个,订单流数据都不完整。
1.5 一个简单的代码示例
光说不练假把式。我们来看一段Python代码,模拟一下订单流数据的结构:
# 订单流数据示例
order_flow = [
{
'price': 100.00,
'volume': 500,
'timestamp': '2024-01-15 14:30:00.123',
'side': 'buy' # 主动买
},
{
'price': 100.01,
'volume': 200,
'timestamp': '2024-01-15 14:30:00.456',
'side': 'sell' # 主动卖
},
{
'price': 100.00,
'volume': 1000,
'timestamp': '2024-01-15 14:30:00.789',
'side': 'buy' # 主动买
}
]
# 计算净主动买入量
net_buy = sum(
item['volume'] if item['side'] == 'buy' else -item['volume']
for item in order_flow
)
print(f"净主动买入量: {net_buy} 手")
# 输出: 净主动买入量: 1300 手
这段代码虽然简单,但已经包含了订单流分析的核心逻辑——区分买卖方向,计算净量。我在实际项目中,就是在这个基础上不断叠加更多维度的分析。
本章小结:订单流不是玄学,它是每一笔成交的「底牌」。掌握了价格、数量、时间、方向这四个要素,你就拥有了透视市场微观结构的能力。下一节,我们会深入探讨如何用订单流数据识别主力资金的动向。
公众号:蓝海资料掘金营,微信deep3321