AI 原生量化投研平台AI-native quantitative research platform
正在加载…Loading…
页面仍在加载,可以继续等待,或重新加载。The page is still loading. You can keep waiting or reload.
部分页面资源未能加载,请重新加载。Some page resources could not load. Please reload.
设备当前处于离线状态,恢复连接后可以继续等待或重新加载。Your device is offline. Once connected, you can keep waiting or reload.
7 个字段
度量大单成交激增后普通投资者的跟随效应,识别股价反应过度或反应不足
研报的逻辑是:当个股产生突发性利好或有较强改善预期时,拥有信息与专业优势的投资者会在短时间内大量买入、使成交量激增,而成交量激增的股票又会吸引普通投资者跟随买入,可能造成股价短期内反应过度,未来存在回落风险;反之若大单成交后市场并未产生明显跟随,则可能意味着出现了反应不足,后续可能存在超额收益。做法是从分钟频数据出发,先在日内找出成交量大且时间上相对领先的「优势时刻」,再用其后 5 分钟(「跟随时刻」)的成交量相对该优势时刻成交量的放大倍数衡量普通投资者的跟随程度,得到「跟随系数」,逐日取均值后再在 20 日窗口上分别取均值与标准差,等权合成为「待著而救」因子。本表输出研报推进链条上的全部 5 个因子:1 个日频中间量、「月均」与「月稳」两个分量、最终的 wait_for_rescue 与正交化后的 wait_for_rescue_pure。
数据区间:2015-01-05 ~ 2026-11-03(每个交易日一条记录)。
cn_stock_factors_hf_fz_wait_for_rescuedate + instrument| 字段 | 类型 | 可空 | 含义 |
|---|---|---|---|
date | PlDatetime | 否 | 交易日期 |
instrument | PlString | 否 | 股票代码 |
follow_coefficient_daily | PlFloat64 | 是 | 日跟随系数,当日所有「优势时刻」的跟随系数(其后 5 分钟成交量之和 ÷ 该优势时刻成交量)的均值;恒非负,值越小说明普通投资者对大单成交的跟随越弱、未来潜在收益越高 |
wait_for_rescue_mean | PlFloat64 | 是 | 月均待著而救,过去 20 个交易日 follow_coefficient_daily 的均值;恒非负,值越小未来收益越高 |
wait_for_rescue_std | PlFloat64 | 是 | 月稳待著而救,过去 20 个交易日 follow_coefficient_daily 的样本标准差,刻画跟随程度的稳定性;恒非负,值越小未来收益越高 |
wait_for_rescue | PlFloat64 | 是 | 待著而救,wait_for_rescue_mean 与 wait_for_rescue_std 各自截面去极值标准化后等权合成,研报的最终合成因子;值越小未来收益越高 |
wait_for_rescue_pure | PlFloat64 | 是 | 纯净待著而救,wait_for_rescue 对申万一级行业哑变量与十个常见风格因子回归后的残差 |
| 依赖表 | 频率 | 用到的字段 | 用途 |
|---|---|---|---|
cn_stock_bar1m_c | 1 分钟 | date、instrument、volume | 日内分钟成交量,用于筛选「海量时刻」/「优势时刻」并计算跟随系数 |
cn_stock_prefactors | 日频 | date、instrument、sw2021_level1、total_market_cap、pb、roe_avg_ttm、total_operating_revenue_ttm、debt_to_asset_lf、turn、daily_return、beta_000300SH_22 | 构造 wait_for_rescue_pure 回归用的申万一级行业哑变量与十个风格因子 |
两个窗口因子需要 20 个交易日的 follow_coefficient_daily,故 cn_stock_bar1m_c 实际读取区间比输出区间向前多 24 个交易日(多留 4 天缓冲以吸收停牌造成的缺日);wait_for_rescue_pure 的风格因子含 250 个交易日同比项与 22 日贝塔,cn_stock_prefactors 的读取区间向前多 260 个交易日。daily_return 与 beta_000300SH_22 是随查询窗口滚动计算的字段,单日查询返回空值,必须带足回溯区间。
构建逻辑:
项目实现说明:
follow_coefficient_daily 置空,不以 0 代替。构建逻辑: 每月月底,计算过去 20 天的「日跟随系数」的均值,记为「月均待著而救」因子。
项目实现说明:
构建逻辑: 每月月底,计算过去 20 天的「日跟随系数」的标准差,记为「月稳待著而救」因子。
项目实现说明:
lone_goose_std 同口径。wait_for_rescue_mean。构建逻辑:
项目实现说明: 研报只写「等权合成」,未披露合成前的标准化口径。两个分量方向一致(均为越小越好),故直接相加不会抵消信息。本项目先做截面 1%/99% 分位截尾再 z-score,然后算术平均,与同系列之九、之十的合成口径一致。
构建逻辑:
项目实现说明: 研报未披露所用风格因子的具体清单与计算口径,本项目选用十个常见风格因子,均取自 cn_stock_prefactors,口径与同系列之九、之十完全一致:市值(总市值取对数)、非线性市值(标准化市值的三次方)、估值(市净率倒数)、盈利(roe_avg_ttm)、成长(营业总收入 TTM 相对 250 个交易日前的同比)、杠杆(debt_to_asset_lf)、流动性(20 日换手率均值取对数)、反转(20 日日收益均值)、波动(20 日日收益标准差)、贝塔(beta_000300SH_22)。行业用申万一级,以哑变量形式进入回归并去掉一列以免与截距共线。缺失暴露按当日同行业均值填补;回归前对因子与各风格暴露做 MAD 5 倍去极值与 z-score。某日有效样本数不足设计矩阵列数 2 倍时该日整体置空。
核对口径: 2015-01-01 ~ 2023-05-31;全市场不做任何股票过滤;前向收益取次日开盘到 21 个交易日后开盘(cn_stock_prefactors.open,后复权);Rank IC(因子与前向收益各自取截面百分位排名后求相关,口径同 hfwarehouse.utils.ic.validate_factor_ic);因子按研报口径先做市值 + 行业正交化(ln(float_market_cap) + 申万一级行业哑变量),wait_for_rescue_pure 已在构建时正交化故不再重复处理。研报为月末截面、本项目逐日,故给出两列:「月末口径」= 每个自然月最后一个交易日截面,共 101 个截面;「逐日全样本」= 区间内全部交易日,共 2045 个截面。多空组合为月末调仓、十分组、组内等权、不扣费,全部因子方向为负(做多最低一组、做空最高一组),共 100 个持仓月。
区间与股票池差异(对照前必读):
cn_stock_bar1m_c 自 2005 年起可用,这不是数据限制而是回填起点的选择。builder.md「数据清洗常用过滤条件」)。这一条会同时影响 IC 与多空收益,是下表偏差的主要来源之一。ICIR 口径差异: 研报的 Rank ICIR 是年化值,本项目的截面 ICIR(IC 均值 / IC 标准差)未年化,两者直接比会差 12 倍(同系列研报一致的口径)。下表「月末口径」列同时给出未年化值与年化值(× 12),与研报可比的是括号里的年化值。
| 因子 | 本项目(月末口径) | 本项目(逐日全样本) | 研报原文 | 出处 |
|---|---|---|---|---|
follow_coefficient_daily | IC -0.0769,ICIR -1.29(-4.48),多空年化 47.67%,波动 16.46%,信息比 2.48,月度胜率 89.00% | IC -0.0825,ICIR -1.27 | 研报未披露,无法核对(研报只测 20 日窗口因子) | — |
wait_for_rescue_mean | IC -0.1030,ICIR -1.12(-3.89),多空年化 38.24%,波动 11.21%,信息比 2.98,月度胜率 83.00%,最大回撤 6.63% | IC -0.1102,ICIR -1.11 | Rank IC -9.38%,Rank ICIR -3.63,多空年化 32.53%,波动 10.65%,信息比 3.06,月度胜率 80.65%,最大回撤 -8.35% | 研报图表 4 |
wait_for_rescue_std | IC -0.0721,ICIR -1.44(-4.99),多空年化 23.48%,波动 6.26%,信息比 3.43,月度胜率 84.00%,最大回撤 4.64% | IC -0.0765,ICIR -1.47 | Rank IC -6.47%,Rank ICIR -5.05,多空年化 25.34%,波动 5.97%,信息比 4.24,月度胜率 90.32%,最大回撤 -1.66% | 研报图表 6 |
wait_for_rescue | IC -0.0980,ICIR -1.30(-4.49),多空年化 33.76%,波动 8.99%,信息比 3.32,月度胜率 85.00%,最大回撤 5.62% | IC -0.1052,ICIR -1.31 | Rank IC -9.28%,Rank ICIR -4.23,多空年化 33.16%,波动 9.45%,信息比 3.51,月度胜率 83.87%,最大回撤 -8.09% | 研报图表 8 |
wait_for_rescue_pure | IC -0.0380,ICIR -1.01(-3.51),多空年化 14.56%,波动 5.92%,信息比 2.34,月度胜率 72.00%,最大回撤 6.72% | IC -0.0391,ICIR -0.99 | Rank IC -4.42%,Rank ICIR -3.94,多空年化 18.89%,波动 5.52%,信息比 3.42,月度胜率 83.06%,最大回撤 -7.28% | 研报图表 14 |
整体结论: 四个可核对因子的方向全部一致,Rank IC 偏差在 0.0092 以内,年化 ICIR 偏差在 0.43 以内,年化波动偏差在 0.56 个百分点以内。核心因子 wait_for_rescue 的多空年化 33.76% 对研报 33.16%(差 0.60pp),wait_for_rescue_std 的年化 ICIR -4.99 对研报 -5.05(差 0.06)。
研报的两条定性结论都复现了:
不依赖区间、可直接验证实现的交叉核对(两组都只取决于因子本身的性质,不取决于回测设置):
与常见风格因子的截面相关性(研报图表 13,本项目用自己口径的十个风格暴露逐日算截面 Spearman 再取均值):
| 风格 | 本项目 | 研报 | 风格 | 本项目 | 研报 |
|---|---|---|---|---|---|
| 流动性 | +52.68% | +51.43% | 市值 | +19.60% | +16.01% |
| 估值 | -22.70% | -21.85% | 波动率 | +50.79% | +38.40% |
| 反转 | +15.40% | +15.94% | 贝塔 | +13.95% | +22.47% |
| 成长 | +4.73% | +4.55% | 盈利 | -2.02% | -9.42% |
| 杠杆 | +0.58% | +1.02% | 非线性市值 | +19.61% | +1.68% |
与同系列已建因子的截面相关性(研报图表 29,本项目取仓库内已复现的三个同源因子):
| 对照因子 | 本项目截面 Spearman 均值 | 研报 |
|---|---|---|
水中行舟(cn_stock_factors_hf_fz_boat_in_water) | +0.5494 | +56.16% |
云开雾散(cn_stock_factors_hf_fz_clouds_clear) | +0.6328 | +49.51% |
花隐林间(cn_stock_factors_hf_fz_hidden_flower) | +0.5295 | +43.19% |
风格相关性这一组是本次复现最有力的证据:最强的三个暴露(流动性 +52.68% / +51.43%、波动率、估值 -22.70% / -21.85%)以及反转、成长、杠杆五项偏差都在 1.3 个百分点以内,说明「优势时刻之后 5 分钟放量倍数」刻画出的确实是研报所指的那个特征。排名第一的流动性暴露几乎重合,这不是巧合能达到的。与水中行舟的相关性 +0.5494 对研报 56.16% 同样吻合。
已知的口径差异:
wait_for_rescue_std 取样本标准差(除以 n−1),与同系列之九的 lone_goose_std 同口径。wait_for_rescue 多头年化 22.64%、空头 -8.88%,本项目为 16.02% / -14.54%。研报的分组建立在未做市值行业正交化的原始因子上、股票池剔除 ST 与次新股、且含 2013、2014 两个强势年份;本项目为与 IC 口径一致在正交化后的因子上分组,空头端因此更极端。结论性指标(多空、IC、ICIR、波动)吻合,分组绝对收益不可直接比。nlsize 定义为「标准化市值的三次方」,它是市值的单调变换,故秩相关必然与市值一项几乎相同(+19.61% 对 +19.60%);研报接近 0 的取值说明其非线性市值大概率是 Barra 标准口径,即把市值三次方再对市值回归后取残差,与市值近似正交。注意这只影响与图表 13 的可比性,不影响 wait_for_rescue_pure 本身——线性回归中 z 与 z3 不共线,三次项仍然提供了曲率信息。本项目的 nlsize 口径与同系列之九、之十完全一致,属仓库既有约定,未因本次复现单独改动。beta_000300SH_22(22 日贝塔)、roe_avg_ttm,研报的窗口与构造方式未披露,窗口长度不同足以解释这一量级的差异。覆盖度:2015-01-05 ~ 2026-09-30 共 2855 个交易日、1167 万行,无 NaN 与 ±Inf。follow_coefficient_daily 全表非负(最小值 0,出现在优势时刻之后 5 分钟完全无成交的冷门股),wait_for_rescue_std 最小值 0.11。wait_for_rescue 逐年有效值占比 94.3%(2015)~ 99.8%(2024),2015 年偏低来自当年大面积停复牌使 20 日窗口内有效天数不足 15 天;逐年入库时随机抽日的入库前测试全部通过。follow_coefficient_daily 右尾很长(逐年最大值 56 ~ 2352,出现在优势时刻成交量极小而随后放量的个股),两个窗口因子在合成时已经过截面 1%/99% 截尾,极值不会传导到 wait_for_rescue。
样本外表现(2023-06-01 ~ 2026-09-30,逐日 789 个截面 / 月末 39 个截面、38 个持仓月):五个因子方向全部保持,无符号反转。
| 因子 | 样本内逐日 IC | 样本外逐日 IC | 样本内 ICIR | 样本外 ICIR | 样本外多空年化 | 样本外信息比 |
|---|---|---|---|---|---|---|
follow_coefficient_daily | -0.0825 | -0.0657 | -1.27 | -0.97 | 19.69% | 1.56 |
wait_for_rescue_mean | -0.1102 | -0.0893 | -1.11 | -0.83 | 25.62% | 1.25 |
wait_for_rescue_std | -0.0765 | -0.0735 | -1.47 | -1.15 | 18.97% | 1.56 |
wait_for_rescue | -0.1052 | -0.0868 | -1.31 | -0.97 | 23.12% | 1.45 |
wait_for_rescue_pure | -0.0391 | -0.0176 | -0.99 | -0.64 | 6.48% | 0.96 |
核心因子 wait_for_rescue 的 IC 从 -0.1052 衰减到 -0.0868(17%)、多空年化 33.76% → 23.12%、信息比 3.32 → 1.45,衰减幅度明显小于同系列之十「花隐林间」(信息比 4.13 → 1.13)。衰减最轻的是 wait_for_rescue_std(IC 仅衰减 4%、ICIR -1.47 → -1.15),延续了研报「移动标准差分量更稳定」的判断,样本外它反而是全表 ICIR 最高的因子。衰减最重的仍是 wait_for_rescue_pure(IC -0.0391 → -0.0176,55%;多空年化 14.56% → 6.48%),剥离风格后的增量信息已经很薄,这与同系列之四、之五、之六、之八、之九、之十的 _pure 版本是同一模式,使用前应复核当期表现。样本外区间末端约 21 个交易日因前向收益窗口不完整而无 IC,已从序列中剔除。
按 date、instrument 排序后的前 5 行与后 5 行,由 update_docs() 推送文档时自动填充。
| date | instrument | follow_coefficient_daily | wait_for_rescue_mean | wait_for_rescue_std | wait_for_rescue | wait_for_rescue_pure |
|---|---|---|---|---|---|---|
| 2026-11-03 00:00:00 | 000001.SZ | 1.769227 | 2.188634 | 0.595537 | 0.301451 | 0.408132 |
| 2026-11-03 00:00:00 | 000002.SZ | 1.418661 | 1.952178 | 0.769629 | 0.321627 | 0.101620 |
| 2026-11-03 00:00:00 | 000006.SZ | 1.307035 | 1.892921 | 0.425076 | -0.235360 | 0.141807 |
| 2026-11-03 00:00:00 | 000007.SZ | 1.254511 | 1.740860 | 0.503761 | -0.270558 | -0.242389 |
| 2026-11-03 00:00:00 | 000008.SZ | 1.438074 | 0.686835 | 0.419911 | -1.333542 | -0.693194 |
| 2026-11-03 00:00:00 | 688835.SH | 1.162344 | 2.047913 | 0.813326 | 0.478781 | -0.858016 |
| 2026-11-03 00:00:00 | 688836.SH | 2.136158 | 2.993244 | 1.139105 | 1.877549 | -0.485094 |
| 2026-11-03 00:00:00 | 688837.SH | 2.156732 | 2.041690 | 0.469679 | -0.024883 | -1.764081 |
| 2026-11-03 00:00:00 | 688981.SH | 3.085951 | 2.715562 | 0.456403 | 0.616753 | -0.068139 |
| 2026-11-03 00:00:00 | 689009.SH | 2.057825 | 1.796114 | 0.405048 | -0.359295 | -0.829793 |
SELECT date, instrument, follow_coefficient_daily, wait_for_rescue_mean, wait_for_rescue_std, wait_for_rescue, wait_for_rescue_pure FROM cn_stock_factors_hf_fz_wait_for_rescue WHERE date >= '2026-10-06' ORDER BY date LIMIT 100
SELECT date, instrument, follow_coefficient_daily, wait_for_rescue_mean, wait_for_rescue_std, wait_for_rescue, wait_for_rescue_pure FROM cn_stock_factors_hf_fz_wait_for_rescue WHERE date >= '2026-10-06' ORDER BY date LIMIT 100