3. 逐笔成交数据分析
逐笔成交数据是 Level2 行情中最微观、最真实的数据源。它记录了每一笔实际成交的详细信息,是识别主力动向、检测市场操纵行为的核心依据。与分时图或分钟线不同,逐笔成交数据没有经过任何聚合或平滑处理,直接反映了买卖双方的博弈结果。
3.1 逐笔成交数据结构
每一笔逐笔成交记录通常包含以下关键字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
| 时间 | HHMMSSmmm | 精确到毫秒的成交时间戳 |
| 价格 | Float | 该笔成交的成交价 |
| 成交量 | Integer | 该笔成交的股数(手数 × 100) |
| 成交金额 | Float | 价格 × 成交量 |
| 买卖方向 | Char | B(主动买)、S(主动卖)、-(未知) |
| 成交编号 | Long | 交易所生成的唯一流水号 |
关键理解: 买卖方向字段是逐笔成交分析的核心。主动买(B)表示买方以卖一价或更高价格成交,反映买方力量;主动卖(S)表示卖方以买一价或更低价格成交,反映卖方力量。方向判断的准确性直接影响资金流向计算。
3.2 大单识别与主力资金流向计算
主力资金通常通过大单交易来影响股价。大单识别是资金流向分析的第一步,常用的识别方法包括:
- 绝对阈值法: 单笔成交量超过设定阈值(如 500 手、1000 手)即视为大单。
- 相对阈值法: 单笔成交量超过当日平均单笔成交量的 N 倍(如 3 倍、5 倍)。
- 金额阈值法: 单笔成交金额超过设定金额(如 50 万元、100 万元)。
主力资金流向的计算公式如下:
// 伪代码:主力资金流向计算
let 主力净流入 = 0;
for each 逐笔成交记录 {
if (成交量 >= 大单阈值) {
if (买卖方向 == 'B') {
主力净流入 += 成交金额;
} else if (买卖方向 == 'S') {
主力净流入 -= 成交金额;
}
}
}
// 结果为正表示主力净买入,为负表示主力净卖出
实战要点: 大单阈值需要根据个股的流通市值和日均成交量动态调整。对于小盘股,200 手可能就算大单;对于大盘股,2000 手可能才具有统计意义。建议使用相对阈值法结合个股历史数据自适应设定。
下图展示了从逐笔成交数据到主力资金流向的完整计算流程:
3.3 逐笔成交的异常检测
逐笔成交数据中隐藏着多种市场操纵行为。识别这些异常模式是量化风控和策略评估的重要环节。常见的异常类型包括:
3.3.1 对倒交易检测
对倒是指同一主力通过多个账户自买自卖,制造虚假成交量以吸引跟风盘。典型特征包括:
- 时间对称性: 短时间内出现方向相反、成交量相近的连续成交。
- 价格不变或微变: 对倒通常发生在同一价位或极窄价差内。
- 成交编号连续: 交易所流水号连续或间隔极小。
// 对倒检测伪代码
function detectWashTrade(ticks, timeWindow=1000, priceTolerance=0.01) {
let suspicious = [];
for (let i = 0; i < ticks.length - 1; i++) {
let t1 = ticks[i];
for (let j = i + 1; j < ticks.length; j++) {
let t2 = ticks[j];
if (t2.time - t1.time > timeWindow) break;
if (Math.abs(t1.price - t2.price) / t1.price > priceTolerance) continue;
if (t1.direction != t2.direction &&
Math.abs(t1.volume - t2.volume) / Math.max(t1.volume, t2.volume) < 0.2) {
suspicious.push({pair: [t1, t2], score: 1.0});
}
}
}
return suspicious;
}
3.3.2 虚假申报检测
虚假申报是指主力通过挂出大额订单但不实际成交,诱导其他投资者跟风,随后迅速撤单。逐笔成交数据中可以通过以下特征识别:
| 检测维度 | 正常行为 | 虚假申报嫌疑 |
|---|---|---|
| 挂单存活时间 | 大单挂单持续数分钟以上 | 大单挂单存活 < 3 秒即撤单 |
| 挂单与成交比 | 挂单量 / 成交量 < 5 | 挂单量 / 成交量 > 20 且撤单率高 |
| 价格档位变化 | 大单挂出后价格缓慢变动 | 大单挂出后价格快速反向变动 |
| 撤单后行为 | 撤单后无立即反向挂单 | 撤单后立即在相反方向挂出大单 |
风险提示: 异常检测模型存在误报率。对倒和虚假申报的判定需要结合盘口挂单数据(Level2 十档行情)和逐笔成交数据进行交叉验证。单一维度的阈值判断可能导致大量误报,建议采用多因子评分模型综合评估。
下图展示了逐笔成交异常检测的多层架构:
3.4 实战应用建议
- 数据清洗: 逐笔成交数据中可能存在交易所的异常记录(如盘后协议转让),需要在分析前过滤掉非连续竞价时段的数据。
- 多周期验证: 单笔大单的偶然性较大,建议结合 5 分钟、30 分钟等周期的主力资金流向趋势进行综合判断。
- 回测校准: 大单阈值和异常检测参数需要通过历史数据回测进行优化,避免过拟合或欠拟合。