挂单数据结构:十档行情解析、逐笔委托数据结构、逐笔成交数据结构、挂单队列分析
各位同学,咱们今天聊点硬核的。做量化交易,说白了就是跟数据打交道。你连挂单数据都看不懂,那还谈什么解码主力意图?
我个人习惯,拿到一个新市场的数据,第一件事就是看它的数据结构。为什么?因为数据结构里藏着交易机制的全部秘密。今天我就把这块掰开了讲清楚。
一、十档行情:不只是买一卖一
很多新手只看买一卖一,觉得够了。其实不然。十档行情,说白了就是能看到市场深度。主力的大单往往藏在后面几档,你只看表面,很容易被误导。
举个例子。我在做A股高频策略时,发现某只股票买一只有100手,但买二到买五堆了上万手。这说明什么?说明有人在下面托着,但不想暴露真实意图。这种挂单结构,我称之为「虚托实攻」。
十档行情的数据结构,一般长这样:
{
"symbol": "600519",
"time": "2024-01-15 14:30:00.123",
"bid_prices": [168.50, 168.49, 168.48, 168.47, 168.46, 168.45, 168.44, 168.43, 168.42, 168.41],
"bid_volumes": [100, 200, 1500, 800, 3000, 1200, 500, 100, 200, 100],
"ask_prices": [168.51, 168.52, 168.53, 168.54, 168.55, 168.56, 168.57, 168.58, 168.59, 168.60],
"ask_volumes": [80, 300, 100, 200, 100, 500, 2000, 1000, 300, 100]
}
注意看,买三和买五的挂单量明显异常。这种「阶梯式堆单」,我见过太多次了。主力在下面铺了一层又一层的单子,就是为了稳住价格,同时悄悄吸筹。
二、逐笔委托:每一笔挂单的「身份证」
逐笔委托数据,记录的是每一笔挂单的完整信息。包括委托时间、价格、数量、方向、委托编号等。这玩意儿比十档行情更细,能看到每一笔单子的「出生」和「死亡」。
数据结构大概这样:
{
"order_id": "20240115143000123456",
"time": "2024-01-15 14:30:00.001",
"price": 168.50,
"volume": 5000,
"direction": "buy", // buy 或 sell
"order_type": "limit", // limit 或 market
"status": "new" // new, cancel, trade
}
嗯,这里要注意。逐笔委托数据里,status字段特别重要。一笔单子从「new」变成「cancel」,或者从「new」变成「trade」,中间的时间差,就是主力的「犹豫期」。
我曾经在分析某只妖股时,发现一笔5000手的买单,挂上去3秒后就撤单了。紧接着又挂了一笔同样价格的单子,又撤了。反复三次。这明显是在试盘,测试上方的抛压。如果你只看成交数据,根本发现不了这个细节。
三、逐笔成交:谁在跟谁「握手」
逐笔成交数据,记录的是每一笔成交的详细信息。包括成交时间、价格、数量、买方委托编号、卖方委托编号等。这能帮你还原每一笔交易的「对手盘」是谁。
数据结构:
{
"trade_id": "20240115143000123456",
"time": "2024-01-15 14:30:00.005",
"price": 168.50,
"volume": 200,
"buy_order_id": "20240115143000123456",
"sell_order_id": "20240115143000123457",
"trade_type": "normal" // normal, block, etc.
}
你看,通过buy_order_id和sell_order_id,我们可以把逐笔成交和逐笔委托关联起来。这就是所谓的「订单簿重建」技术。
为什么这很重要?因为你可以看到:一笔大单成交,到底是主动买入还是主动卖出?是散户接盘还是主力对倒?
举个例子。如果一笔1000手的成交,买方委托编号对应的是一笔刚挂上去的买单,而卖方委托编号对应的是一笔挂了很久的卖单。那说明是买方主动吃掉了卖单,这是「主动买入」。反之,则是「主动卖出」。
四、挂单队列分析:看穿主力的「排队技巧」
挂单队列,就是某一价格上的所有挂单,按时间顺序排成的队列。这玩意儿是解码主力意图的「核武器」。
为什么?因为主力的单子往往排在队列的前面。他们可以利用「时间优先」原则,先挂单、先成交。如果你能看到队列的构成,就能判断主力是在「抢跑」还是在「垫后」。
数据结构:
{
"price": 168.50,
"side": "bid",
"queue": [
{"order_id": "xxx1", "volume": 100, "time": "14:30:00.001", "trader_type": "retail"},
{"order_id": "xxx2", "volume": 5000, "time": "14:30:00.002", "trader_type": "institutional"},
{"order_id": "xxx3", "volume": 200, "time": "14:30:00.003", "trader_type": "retail"}
]
}
你看,第二笔单子明显是机构单。5000手,排在队列第二位。这意味着什么?意味着只要有人卖出,这5000手就会优先成交。主力在「守株待兔」。
我曾经在分析某只股票时,发现买一价位的队列里,前10笔单子有8笔是机构单。这说明什么?说明主力在密集布防,不想让价格跌下去。果然,当天下午股价就拉起来了。
五、知识体系总览
说了这么多,咱们用一张图来总结一下。这张图展示了挂单数据结构的核心逻辑和它们之间的关系。
你看,这四个维度是环环相扣的。十档行情告诉你「有什么」,逐笔委托告诉你「谁在挂」,逐笔成交告诉你「谁成交了」,挂单队列告诉你「怎么排的」。四者结合,才能还原市场的真实面貌。
好了,这一章的内容就到这。记住,数据是死的,但人是活的。同样的数据结构,在不同人手里,能玩出完全不同的花样。下一章,咱们聊聊怎么用这些数据构建「主力意图识别模型」。