2. 成交拥挤度的数据基础

度量成交拥挤度,本质上是在回答一个问题:当前市场的交易行为,是否已经偏离了常态、集中到了少数方向或少数参与者身上?要回答这个问题,仅凭价格涨跌远远不够,必须依赖一组能够刻画"交易强度、持仓结构、换手速度、订单意愿、资金方向"的底层数据。本节的任务,是把这些数据源逐一拆开,说明它们各自度量拥挤度的哪个侧面、存在什么局限,以及在进入拥挤度计算之前应当如何做频率对齐、质量检查与清洗。

五类核心数据及其拥挤度含义

成交量(Volume)是最直观的交易强度指标。单日成交量本身没有绝对意义,必须放到历史分布中比较。常用做法是计算成交量的滚动分位数,例如过去 250 个交易日的 90% 分位,当成交量突破该阈值时,说明交易活跃度进入极端区间。成交量度量的是"参与热度",但它无法区分是增量资金入场还是存量资金对倒,因此需要与持仓量配合使用。

持仓量(Open Interest)主要适用于期货、期权等衍生品市场,反映未平仓合约的总量。成交量放大而持仓量同步上升,通常意味着新资金正在建立方向性头寸,拥挤度在累积;成交量放大而持仓量下降,则更可能是平仓离场,拥挤度在释放。持仓量的变化率(如 5 日 OI 变化百分比)比绝对水平更有信息量,因为它直接刻画了头寸的净增减速度。

换手率(Turnover Rate)是成交量与流通股本(或流通市值)的比值,解决了不同标的之间规模不可比的问题。高换手率意味着筹码在短时间内快速易手,是情绪过热和拥挤的典型特征。在 A 股实践中,换手率的滚动 Z 分数(如 20 日换手率相对过去 120 日均值的标准化偏离)是构造拥挤度因子的常用组件。

订单簿数据(Order Book)提供买卖盘口的价格与挂单量分布,可提取买卖盘不平衡度、盘口深度、价差等微观结构指标。买卖盘不平衡度(Bid-Ask Imbalance)定义为(买一至买五挂单量之和 − 卖一至卖五挂单量之和)除以两者之和,取值在 −1 到 1 之间,正值越大说明买方挂单越集中。订单簿数据频率高、噪声大,通常需要做时间加权平均或快照降采样后才能用于日频拥挤度计算。

资金流数据(Money Flow)包括大单净流入、主力资金净额、北向资金净买入等。资金流的核心价值在于区分"谁在买"。当大单净流入持续为正且占成交额比例升高时,说明交易集中度向大资金倾斜,拥挤风险上升。需要注意的是,不同数据商对"大单"的划分标准不同(如单笔成交额 50 万元以上或 100 万元以上),跨数据源使用时必须统一口径。

成交拥挤度数据链路:从原始数据到可用信号 ① 原始数据源 成交量 日频 / 分钟频 持仓量 OI 日频(衍生品) 换手率 日频 订单簿快照 Tick / 3 秒快照 资金流 大单 / 主力 / 北向 ② 质量检查与清洗 缺失值处理:停牌日剔除、前值填充或标记为 NaN,禁止用 0 填充成交量 异常值处理:成交量 / 换手率做 1%–99% 分位缩尾(Winsorize),防止极端值主导 Z 分数 口径统一:复权处理、大单阈值统一、订单簿快照时间戳对齐到同一时区 ③ 频率对齐与特征提取 高频 → 日频降采样 订单簿:时间加权平均 资金流:日内累加 滚动窗口标准化 Z 分数 / 分位数 窗口:20 日 / 120 日 / 250 日 衍生特征 OI 变化率、买卖盘不平衡度 大单净流入占比 ④ 拥挤度因子输入:成交量分位、OI 变化率、换手率 Z 分数、买卖盘不平衡度、大单净流入占比 各分量方向一致 → 拥挤度升高;方向背离 → 需结合市场状态判断

数据频率与对齐:不同节奏的数据如何放在同一张表里

上述五类数据的原生频率差异很大:成交量和持仓量是日频,订单簿是秒级或 3 秒快照,资金流可能是逐笔或分钟聚合。要构造日频拥挤度因子,必须做频率对齐。原则是高频向低频聚合,而不是低频向高频插值。订单簿的买卖盘不平衡度在一天内有数万个快照,简单取收盘前最后一个快照会丢失日内信息,更稳健的做法是按时间加权平均,或取日内多个时点(如 10:00、11:00、14:00)的均值。资金流数据则按交易日累加为日净流入额,再除以当日成交额得到占比,消除规模影响。

滚动窗口的选择直接影响因子的敏感度。短窗口(如 20 日)对拥挤度的变化反应快,但噪声大、容易误报;长窗口(如 250 日)更稳定,但对突发的拥挤事件反应滞后。实践中常见的折中是同时计算 20 日和 120 日两个窗口的 Z 分数,取两者较大值或加权平均,兼顾灵敏度和稳定性。需要强调的是,窗口长度一旦确定,回测与实盘必须保持一致,否则因子含义会发生漂移。

数据质量检查:三个必须过的关口

第一关是缺失值。停牌日的成交量、换手率应为缺失而非 0,若用 0 填充,会导致滚动均值被系统性拉低,Z 分数虚高。正确做法是停牌日整行剔除,滚动窗口按有效交易日计数。对于持仓量,还需注意合约换月带来的跳变——主力合约切换时 OI 会突然大幅变化,这不是真实的头寸增减,应当在换月日做标记或使用连续合约数据。

第二关是异常值。成交量、换手率、资金流都存在长尾分布,个别交易日的极端值会把 Z 分数的分母撑大,导致后续正常交易日的拥挤度被低估。标准处理是对原始序列做 1%–99% 分位缩尾,即把低于 1% 分位的值替换为 1% 分位值,高于 99% 分位的值替换为 99% 分位值,然后再计算滚动统计量。缩尾比例不宜过大,否则会抹掉真实的拥挤信号。

第三关是口径一致性。复权方式不统一会让换手率在除权日出现虚假跳变;不同数据源对"大单"的金额阈值不同,会让资金流占比不可比;订单簿快照若未对齐到同一时区,跨市场比较时会出现时间错位。这些问题的共同点是"单看每一列都正常,合在一起就出错",因此必须在数据入库阶段建立字段级的元数据说明,记录每个字段的来源、频率、复权方式和阈值定义。

一个实用的自检习惯:对每个输入序列,先画出去掉缩尾前后的滚动 Z 分数曲线,若两条曲线在关键时点(如成交量骤增日)出现方向性差异,说明缩尾参数需要重新审视;若差异很小,说明该序列本身尾部不重,可以放心使用。

一个可复用的数据准备清单

把上述要点固化为检查表,可以在每次更新数据时快速过一遍,避免因数据问题污染拥挤度信号:

检查项 具体动作 不通过的典型后果
停牌与缺失 停牌日剔除,不以 0 填充;滚动窗口按有效日计数 滚动均值偏低,Z 分数虚高
合约换月 标记换月日,使用连续合约或做跳变调整 OI 变化率出现虚假尖峰
极端值 成交量、换手率、资金流做 1%–99% 缩尾 分母被撑大,拥挤度被低估
复权口径 统一前复权或后复权,除权日校验换手率 换手率在除权日虚假跳变
大单阈值 记录数据源阈值,跨源使用时统一重算 资金流占比不可比
频率对齐 订单簿时间加权平均,资金流日内累加 日内信息丢失或重复计数

完成上述准备后,五类数据就被转换成了同一时间轴、同一量纲逻辑下的标准化分量。它们各自从交易强度、头寸变化、筹码周转、盘口意愿和资金方向五个侧面刻画拥挤程度,为后续的拥挤度合成与风险阈值设定提供了可靠输入。数据基础打得越扎实,拥挤度信号在极端行情中的误报和漏报就越少。