4. 特征工程基础:流动性指标构建
各位同学,咱们今天聊聊流动性指标。说实话,流动性这东西,在风控模型里就像人的血液——平时感觉不到,一旦出问题,那就是大事。我在做债券市场流动性预警模型时,就吃过亏,当时指标选得不够细,结果模型在极端行情下直接失效。嗯,今天咱们就把这块补上。
4.1 买卖价差:最直接的流动性度量
买卖价差,说白了就是你想买和想卖之间的那道坎。价差越小,流动性越好。我习惯用相对价差,因为绝对价差在不同价格水平的资产间没法比。
核心公式:
相对买卖价差 = (卖一价 - 买一价) / 中间价
中间价 = (卖一价 + 买一价) / 2
你想想看,如果一只股票买一价10.00元,卖一价10.02元,那相对价差就是0.02/10.01≈0.2%。这个值越小,说明市场越活跃。
我的经验:在实际项目中,我建议同时计算5档价差加权平均。因为有时候卖一价和买一价可能被大单操控,多取几档更稳健。我曾经在期货数据上只用了最优价差,结果模型在临近交割日时频频报警,后来才发现是深度数据没用好。
4.2 市场深度:能扛住多大的单子?
市场深度,就是问你:你想砸1000万进去,价格会跳多少?深度越大,市场越能“接住”你的单子。
我常用的指标有两个:
- 金额深度:各档位挂单金额之和。比如买一到买五,每档挂单量乘以价格,再求和。
- 深度比率:某档位深度占总深度的比例。这个能看出资金分布是否均匀。
注意:千万别只看深度绝对值。我记得有一次,某只股票深度很大,但全是散户的小单,一有大资金进来,深度瞬间就没了。所以,我建议结合订单笔数一起看——大单占比高,深度才真实。
代码实现其实不复杂:
def calc_market_depth(order_book, levels=5):
"""
计算市场深度
order_book: 包含买卖各档位价格和数量的DataFrame
"""
bid_depth = sum(order_book['bid_qty'][i] * order_book['bid_price'][i] for i in range(levels))
ask_depth = sum(order_book['ask_qty'][i] * order_book['ask_price'][i] for i in range(levels))
total_depth = bid_depth + ask_depth
depth_ratio = bid_depth / ask_depth if ask_depth > 0 else np.nan
return total_depth, depth_ratio
4.3 交易量:最朴素的流动性信号
交易量,这个大家最熟悉。但我要说的是,别只看绝对交易量。为什么?因为不同股票、不同时间段的交易量差异太大了。
我习惯做以下处理:
- 标准化:用过去20日平均交易量做分母,得到相对交易量。
- 分段统计:把一天分成早盘、午盘、尾盘,分别计算。因为尾盘交易量通常更大,直接混在一起会失真。
- 异常检测:交易量突然萎缩到平时的10%以下,这往往是流动性枯竭的前兆。
实战技巧:我在做A股流动性模型时,发现单纯用交易量会漏掉很多信号。后来加入了“交易量冲击系数”——即每单位交易量引起的价格变动。这个指标能更敏感地捕捉到流动性变化。
4.4 换手率:流动性的“温度计”
换手率,就是股票转手的频率。换手率高,说明市场活跃,流动性好。但这里有个坑——换手率在不同市值股票间差异巨大。
| 股票类型 | 典型换手率 | 流动性含义 |
|---|---|---|
| 大盘蓝筹 | 0.5% - 2% | 稳定,但换手率低不代表流动性差 |
| 中小盘 | 2% - 8% | 活跃,但波动大 |
| 小盘妖股 | 8% - 20%+ | 极高换手,但可能被操控 |
我个人习惯用“换手率分位数”来替代原始值。比如,某只股票当前换手率处于过去60天的90%分位,那说明今天异常活跃。这样跨股票比较才有意义。
避坑指南:我曾经在构建模型时,直接把换手率作为特征扔进去,结果模型学到的全是市值效应——大盘股换手率低,小盘股换手率高,模型变成了“市值分类器”。后来我改用“市值调整后的换手率”,效果才正常。
4.5 指标组合:构建综合流动性评分
单一指标都有缺陷。我的做法是把四个指标组合成一个综合评分。具体步骤:
- 对每个指标做标准化(Z-score或Min-Max)
- 根据业务经验赋予权重(我常用:价差0.3,深度0.3,交易量0.2,换手率0.2)
- 加权求和得到流动性得分
得分越高,流动性越好。当得分低于某个阈值(比如-1.5),就触发预警。
核心逻辑:流动性危机往往不是单一指标恶化,而是多个指标同时恶化。所以综合评分比单个指标更可靠。我在2020年3月的市场暴跌中验证过,综合评分比任何单一指标都提前2-3分钟发出预警。
4.6 本章知识体系
下面这张图,是我梳理的流动性指标构建框架。你仔细看看,每个指标都不是孤立的,它们共同构成了流动性的“体检报告”。
嗯,以上就是流动性指标构建的核心内容。记住,特征工程不是堆砌指标,而是理解每个指标背后的业务含义。你在实际项目中,一定要根据数据特点做调整,别生搬硬套。