“滴水穿石”因子 (hf_bar1m_fz_drip_stone)

数据描述: 方正证券 《个股日内成交量周期性节奏刻画与“滴水穿石”因子构建——多因子选股系列研究之二十四》

文档
数据简介

# hf_bar1m_fz_drip_stone ## 文献来源 - **标题**: 《个股日内成交量周期性节奏刻画与“滴水穿石”因子构建——多因子选股系列研究之二十四》 - **作者**: 曹春晓 - **机构**: 方正证券 - **时间**: 2025-12-17 研报把个股日内成交量的脉冲节奏分为「瞬时脉冲」(一次性大单放量)与「周期性脉冲」(每隔几分钟分批释放的节奏性交易)两类,认为后者来源于机构分批、定频率建仓,相比一次性脉冲更能维持价格趋势。为此对日内 1 分钟成交量序列做频谱分析,取 2–5 分钟周期频带的能量占比作为「滴水穿石」因子。 本表基于 `cn_stock_bar1m` 输出三个因子:日频原始因子 `drip_stone`(研报 2.2 节)、风格与行业正交化后的 `drip_stone_pure`(2.3 节)、低频化平滑后的 `drip_stone_smooth`(2.4 节)。三者共用同一次分钟成交量扫描,故合并为一张表。 ## 表结构 - **表名**: `hf_bar1m_fz_drip_stone` - **主键**: `date` + `instrument` - **记录粒度**: 每个交易日每只股票一条记录 | 字段 | 类型 | 可空 | 含义 | | ---- | ---- | ---- | ---- | | `date` | `PlDatetime` | 否 | 交易日期 | | `instrument` | `PlString` | 否 | 股票代码 | | `drip_stone` | `PlFloat64` | 是 | 滴水穿石因子,当日分钟成交量序列去脉冲后 2–5 分钟周期频带的功率占总功率(不含直流分量)的比例,取值 [0, 1];值越大说明日内成交量的中短周期节奏性越强,未来收益越高 | | `drip_stone_pure` | `PlFloat64` | 是 | 纯净滴水穿石因子,`drip_stone` 在当日截面上对申万一级行业哑变量与十个常见风格因子做多元回归后的残差;剥离风格与行业暴露后的增量信息,方向与 `drip_stone` 一致 | | `drip_stone_smooth` | `PlFloat64` | 是 | 低频化滴水穿石因子,`drip_stone` 过去 20 个交易日(含当日)的移动平均;平滑掉单日噪声以降低换手率,方向与 `drip_stone` 一致 | ## 依赖数据 | 依赖表 | 频率 | 用到的字段 | 用途 | | ---- | ---- | ---- | ---- | | `cn_stock_bar1m` | 1 分钟 | `date`、`instrument`、`volume` | `date` 划分交易日并按时间排序、剔除集合竞价 bar;`volume` 是频谱分析的输入序列,三个因子全部由它派生 | | `cn_stock_prefactors` | 日频 | `date`、`instrument`、`sw2021_level1`、`total_market_cap`、`pb`、`roe_avg_ttm`、`total_operating_revenue_ttm`、`debt_to_asset_lf`、`daily_return`、`close`、`turn`、`beta_000300SH_22` | 仅供 `drip_stone_pure` 使用:`sw2021_level1` 生成行业哑变量,其余字段构造市值、非线性市值、估值、盈利、成长、杠杆、波动率、动量、流动性、beta 十个风格因子作为回归自变量 | `drip_stone_smooth` 需要 20 个交易日的 `drip_stone`,因此分钟数据实际读取区间为输出区间向前扩 20 个交易日;单日增量的分钟数据扫描量约为输出区间的 21 倍,按自然年分批回填时扩张比例可忽略。`drip_stone_pure` 的成长因子用营业总收入 TTM 的同比变化,需要 `m_lag(..., 250)`,故日频表额外向前读约 250 个交易日;日频表扫描成本远低于分钟表。两张表按 `date` 的日期部分与 `instrument` 关联。 ## 因子列表 ### drip_stone **中文名**: 滴水穿石 **描述**: 通过频谱分析衡量个股日内成交量序列在 2–5 分钟周期频带上的能量占比,刻画股票是否存在持续而稳定的周期性交易节奏。高因子值意味着日内成交量在中短周期上呈现规律性节奏,可能反映机构分批、定频率建仓以降低成本与冲击,相比一次性脉冲更能维持价格趋势,因而未来收益更高。 **构建逻辑**: 1. **数据清理**:取当日 1 分钟成交量序列,剔除集合竞价交易数据,即开盘 1 分钟与收盘前 3 分钟的数据,保留连续竞价时段。 2. **去脉冲处理**:部分股票的分钟成交序列存在明显的一次性「脉冲」,少数脉冲会主导总能量并掩盖真正的节奏信号。对成交量序列做 IQR 双边限幅以抑制极值点影响: ```math x(t) = \mathrm{clip}\Bigl(x(t),\; \mathrm{median}(x) - 3\,\mathrm{IQR},\; \mathrm{median}(x) + 3\,\mathrm{IQR}\Bigr) ``` 其中 $\mathrm{IQR}$ 为当日成交量序列 75% 分位数与 25% 分位数之差。 3. **去均值 + 窗函数**:对限幅后的序列去均值,再乘 Hann 窗 $w(t)$,以减少频谱泄漏: ```math \check{x}(t) = x(t) - \mathrm{mean}(x) ``` ```math x_w(t) = \check{x}(t) \cdot w(t) ``` 4. **计算 FFT 与功率谱**:对处理后的序列做实数 FFT,得到每个频率上的功率: ```math \mathrm{FFT}_c(f) = \mathrm{rfft}\bigl(x_w(t)\bigr) ``` ```math P(f) = \lvert \mathrm{FFT}_c(f) \rvert^2 ``` 5. **提取目标频带能量**:把频率映射回周期(分钟),统计 2–5 分钟区间的频带能量占比。总功率排除直流分量: ```math \mathrm{period}(f) = 1 / \mathrm{freq}(f) ``` ```math \mathrm{band\_mask} = \bigl\{\, f \;\bigm|\; \mathrm{period}(f) \in [2, 5] \text{ minutes} \,\bigr\} ``` ```math \mathrm{band\_power} = \sum_{f \in \mathrm{band\_mask}} P(f) ``` ```math \mathrm{total\_power} = \sum_{f \neq 0} P(f) ``` 6. **因子值**: ```math \text{drip\_stone} = \frac{\mathrm{band\_power}}{\mathrm{total\_power} + \varepsilon} ``` 其中 $\varepsilon$ 为防止除零的极小正数。 **项目实现说明**: - 计算频率:研报原文按月频调仓测试,本项目按项目规范对每个交易日独立计算并输出一条记录。 - 集合竞价剔除的落地口径:`cn_stock_bar1m` 的 bar 时间戳为区间**结束**时刻,全天 241 根——开盘集合竞价单独汇总为 `09:25` 一根,连续竞价上午 `09:31`–`11:30`、下午 `13:01`–`15:00` 各 120 根。据此「开盘 1 分钟」对应剔除 `09:25`,「收盘前 3 分钟」(14:57–15:00 的收盘集合竞价)对应剔除 `14:58`、`14:59`、`15:00`,最终保留 `09:31`–`14:57` 共 237 根。停牌或交易不足的个股实际根数可能少于 237,序列长度按实际值参与计算,不做补齐。 - 频带索引取整:$\mathrm{period}(f) = N/k$(采样间隔 1 分钟,$k$ 为频率索引),$\mathrm{period} \in [2,5]$ 等价于 $k \in [\lceil N/5 \rceil, \lfloor N/2 \rfloor]$,下界向上取整以严格满足周期不超过 5 分钟。 ### drip_stone_pure **中文名**: 纯净滴水穿石 **描述**: 剥离常见风格因子与行业暴露之后的滴水穿石因子。研报指出滴水穿石因子与波动率、流动性因子的相关性分别为 −34.13%、−29.65%,与其余风格因子相关性更低;正交化后因子仍保留显著的选股能力,说明其信息不能由常见风格解释。 **构建逻辑**: 使用常用风格因子及行业因子对「滴水穿石」因子进行正交化处理,得到「纯净滴水穿石」因子。 **项目实现说明**: - 计算频率:研报原文按月频调仓测试,本项目按项目规范对每个交易日独立计算并输出一条记录。 - 正交化的实现方式:按交易日分截面,因变量为 `drip_stone`(先做 MAD 5 倍去极值再 z-score 标准化),自变量为申万一级行业哑变量(去掉一列避免与截距共线)与十个标准化后的风格因子,用最小二乘求解后取残差。风格因子或行业缺失的个股不参与该日回归,其 `drip_stone_pure` 为空。 - **风格因子的具体定义由本项目选定**:研报图表 11 只给出「市值、非线性市值、估值、盈利、成长、杠杆、波动率、动量、流动性、beta」十个名称,未披露各因子的计算口径,因此下列代理变量是本项目的选择,与研报原文可能存在差异: | 研报风格名称 | 本项目代理变量 | | ---- | ---- | | 市值 | 总市值的自然对数 | | 非线性市值 | 市值因子标准化后的三次方 | | 估值 | 账面市值比,即市净率的倒数 | | 盈利 | 净资产收益率 TTM(平均) | | 成长 | 营业总收入 TTM 相对 250 个交易日前的同比变化率 | | 杠杆 | 资产负债率(最新一期) | | 波动率 | 过去 20 个交易日日收益率的标准差 | | 动量 | 过去 20 个交易日的累计收益率 | | 流动性 | 过去 20 个交易日换手率的均值 | | beta | 相对沪深 300 的 22 日 BETA | ### drip_stone_smooth **中文名**: 低频化滴水穿石 **描述**: 对滴水穿石因子做移动平滑得到的低频化版本。日频因子换手率偏高,平滑后既降低换手,又滤去单日噪声、保留持续性的节奏特征,研报中选股效果相比原始因子进一步提升。 **构建逻辑**: 对「滴水穿石」因子进行低频化处理(移动平滑)。 **项目实现说明**: - 计算频率:研报原文按月频调仓测试,本项目按项目规范对每个交易日独立计算并输出一条记录。 - **平滑窗口长度由本项目选定**:研报 2.4 节只说明做了「移动平滑」,3.1 节提到对全部高频因子做的是「月度频率的平滑处理」,均未给出窗口长度。本项目取 20 个交易日(含当日)的简单移动平均作为一个月的近似。窗口内 `drip_stone` 不足 20 个非空值时按非空值求均值,全为空时输出空值。 ## 复现核对 **核对口径**: 待因子入库后回填。研报口径为 2013-01 ~ 2025-11,沪深两市非 ST 股票、剔除上市不满半年的次新股,月频调仓、10 分组等权;本项目按规范全市场不做任何股票过滤、逐日截面计算,故需同时给出「研报口径(月末截面)」与「逐日全样本」两列。 | 因子 | 本项目(月末口径) | 本项目(逐日全样本) | 研报原文 | 出处 | | ---- | ---- | ---- | ---- | ---- | | `drip_stone` Rank IC | 待回填 | 待回填 | 8.69% | 研报图表 8 | | `drip_stone` Rank ICIR | 待回填 | 待回填 | 4.63 | 研报图表 8 | | `drip_stone_pure` Rank IC | 待回填 | 待回填 | 4.98% | 研报图表 12 | | `drip_stone_pure` Rank ICIR | 待回填 | 待回填 | 4.82 | 研报图表 12 | | `drip_stone_smooth` Rank IC | 待回填 | 待回填 | 10.87% | 研报 2.4 节正文 | | `drip_stone_smooth` Rank ICIR | 待回填 | 待回填 | 4.20 | 研报 2.4 节正文 | **频谱实现的逐股核对**(不依赖入库,已完成):研报图表 6、图表 7 给出中国中免、中国化学在 2025-10-31 的频带能量占比数值,可直接对数。 | 股票 | 口径 | 本项目 | 研报原文 | 差异 | 出处 | | ---- | ---- | ---- | ---- | ---- | ---- | | 中国中免 601888.SH | 去脉冲前 | 0.2090 | 0.2122 | −0.0032 | 研报图表 6 | | 中国中免 601888.SH | 去脉冲后(即因子值) | 0.0665 | 0.0672 | −0.0007 | 研报图表 6 | | 中国化学 601117.SH | 去脉冲前 | 0.6099 | 0.6166 | −0.0067 | 研报图表 7 | | 中国化学 601117.SH | 去脉冲后(即因子值) | 0.6125 | 0.6179 | −0.0054 | 研报图表 7 | 四个数值的相对误差均在 1% 以内,`band_power` 与 `total_power` 的绝对量级也与研报图内标注同阶(601888 去脉冲前本项目为 5.540e+14 / 2.651e+15,研报为 5.665e+14 / 2.669e+15),可认为「去脉冲 → 去均值 → Hann 窗 → rFFT → 频带取值」这条链路复现无误。曾尝试 236 / 237 / 238 / 240 根 bar 与对称 / 周期 Hann 窗共 8 种组合,没有任何一种能同时对上两只股票,残差量级更接近研报数据源(米筐、Wind)与 `cn_stock_bar1m` 成交量口径的细微差别,故保留研报正文口径,不为凑数值调整时段。 已知的口径差异与待确认项,入库后连同实测数值一并补充说明: - **股票池**:研报剔除 ST 与上市不满半年的次新股,本项目按规范不做任何过滤,次新股与 ST 的因子值会进入截面,可能压低 IC。 - **风格因子定义**:`drip_stone_pure` 的十个风格因子口径由本项目选定(见该因子的项目实现说明),研报未披露,这一列的可比性弱于另外两个因子。 - **平滑窗口**:`drip_stone_smooth` 的 20 日窗口是本项目对「月度频率平滑」的近似,研报未披露实际窗口。 - **研报正文频带 [2, 5] 与图表标注 `band=1.0-5.0 min` 并不冲突**:1 分钟采样下 Nyquist 周期为 2 分钟,不存在周期短于 2 分钟的频率分量,因此 [1, 5] 与 [2, 5] 选出的频率索引集合完全相同。实测两种写法的因子值一致到浮点精度,无需二选一。 ## 示例数据 按 `date`、`instrument` 排序后的前 5 行与后 5 行,由 `update_docs()` 推送文档时自动填充。 | date | instrument | drip_stone | drip_stone_pure | drip_stone_smooth | |---------------------|------------|------------|-----------------|-------------------| | 2026-09-21 00:00:00 | 000001.SZ | 0.460461 | 0.275571 | 0.443583 | | 2026-09-21 00:00:00 | 000002.SZ | 0.347224 | 0.138576 | 0.453899 | | 2026-09-21 00:00:00 | 000006.SZ | 0.377633 | -0.083182 | 0.373033 | | 2026-09-21 00:00:00 | 000007.SZ | 0.435847 | -0.147321 | 0.419930 | | 2026-09-21 00:00:00 | 000008.SZ | 0.405380 | -0.670290 | 0.462937 | | 2026-09-21 00:00:00 | 688835.SH | 0.286995 | null | 0.317253 | | 2026-09-21 00:00:00 | 688836.SH | 0.203079 | null | 0.203991 | | 2026-09-21 00:00:00 | 688837.SH | 0.126679 | null | 0.244009 | | 2026-09-21 00:00:00 | 688981.SH | 0.213750 | -0.745070 | 0.264249 | | 2026-09-21 00:00:00 | 689009.SH | 0.386830 | -0.223242 | 0.386211 |

用例
表结构
字段 字段类型 字段描述
drip_stone double 滴水穿石因子,当日分钟成交量序列去脉冲后 2-5 分钟周期频带的功率占总功率(不含直流分量)的比例,取值 [0, 1];值越大说明日内成交量的中短周期节奏性越强,未来收益越高。来源:曹春晓. 2025. 《个股日内成交量周期性节奏刻画与“滴水穿石”因子构建——多因子选股系列研究之二十四》. 方正证券
drip_stone_pure double 纯净滴水穿石因子,drip_stone 在当日截面上对申万一级行业哑变量与十个常见风格因子做多元回归后的残差;剥离风格与行业暴露后的增量信息,方向与 drip_stone 一致。来源:曹春晓. 2025. 《个股日内成交量周期性节奏刻画与“滴水穿石”因子构建——多因子选股系列研究之二十四》. 方正证券
drip_stone_smooth double 低频化滴水穿石因子,drip_stone 过去 20 个交易日(含当日)的移动平均;平滑掉单日噪声以降低换手率,方向与 drip_stone 一致。来源:曹春晓. 2025. 《个股日内成交量周期性节奏刻画与“滴水穿石”因子构建——多因子选股系列研究之二十四》. 方正证券
date timestamp[ns] 交易日期
instrument string 股票代码
__PARTITION__ string -

表名:hf_bar1m_fz_drip_stone

起始时间:

最近更新时间: