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 手可能才具有统计意义。建议使用相对阈值法结合个股历史数据自适应设定。

下图展示了从逐笔成交数据到主力资金流向的完整计算流程:

逐笔成交 → 主力资金流向计算流程 逐笔成交数据流 时间/价格/量/方向 大单识别引擎 阈值判断 + 方向过滤 资金流向计算 累加净买入/净卖出 主力净流入/流出 正数=净买入,负数=净卖出 说明: 1. 大单识别引擎支持多种阈值策略:绝对阈值、相对阈值、金额阈值。 2. 资金流向计算时,主动买(B)记为流入,主动卖(S)记为流出。 3. 主力净流入 = 大单主动买入金额 - 大单主动卖出金额。 4. 结果可用于判断主力当日建仓、出货或维持性交易行为。

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 分钟等周期的主力资金流向趋势进行综合判断。
  • 回测校准: 大单阈值和异常检测参数需要通过历史数据回测进行优化,避免过拟合或欠拟合。