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.
11 个字段
以分钟收益对增量成交量回归的t值与F值,分解推动个股价格变化的各类因素
研报把推动个股价格变化的因素分为四类:市场层面的推动力、个股中长期的基本面信息、个股突然到来的信息、噪声。做法是用个股当日 1 分钟数据做一次带截距项的最小二乘回归——被解释变量为第 t 分钟收益率,解释变量为第 t 至 t−5 分钟的「增量成交量」——用回归输出的 t 值与 F 值分别代理这四种推动力:滞后项系数的 t 值代理「突然到来的信息」,截距项 t 值代理「市场信息 + 中长期基本面信息」,F 值衡量近期突然到来的信息是否显著推动了价格,残差代理噪声。研报论证这三类非市场层面信息的推动力越小、个股未来收益越高,据此构造「朝没晨雾」「午蔽古木」「夜眠霜路」三个因子,等权合成为「花隐林间」。本表输出研报推进链条上的全部 9 个因子:2 个回归输出中间量、2 个日频因子、3 个 20 日窗口因子,以及最终的 hidden_flower 与正交化后的 hidden_flower_pure。
数据区间:2015-01-05 ~ 2026-11-03(每个交易日一条记录)。
cn_stock_factors_hf_fz_hidden_flowerdate + instrument| 字段 | 类型 | 可空 | 含义 |
|---|---|---|---|
date | PlDatetime | 否 | 交易日期 |
instrument | PlString | 否 | 股票代码 |
t_intercept | PlFloat64 | 是 | 截距项 t 值,分钟回归截距项的 t 统计量,代理市场层面信息与个股中长期基本面信息对价格的推动程度 |
f_all | PlFloat64 | 是 | 回归方程 F 值,衡量第 t 至 t−5 分钟的增量成交量中是否存在某一分钟显著推动了当期价格;值越大说明近期突然到来的信息影响越显著 |
morning_mist_daily | PlFloat64 | 是 | 日朝没晨雾,当日第 t−1 至 t−5 分钟增量成交量回归系数的 5 个 t 值的样本标准差;恒非负,值越小说明短时间内流入的信息越平稳 |
morning_mist | PlFloat64 | 是 | 朝没晨雾,过去 20 个交易日 morning_mist_daily 的均值;恒非负,值越小未来收益越高 |
ancient_tree_daily | PlFloat64 | 是 | 日午蔽古木,截距项 t 值的绝对值经 f_all 的截面均值做符号翻转(f_all 低于截面均值者乘 -1);值越小未来收益越高 |
ancient_tree | PlFloat64 | 是 | 午蔽古木,过去 20 个交易日 ancient_tree_daily 的均值;值越小未来收益越高 |
frost_road | PlFloat64 | 是 | 夜眠霜路,个股过去 20 个交易日 t_intercept 序列与全市场其余每只股票对应序列的 Pearson 相关系数,取绝对值后求均值;恒落在 [0, 1],值越大未来收益越高(本表唯一方向为正的因子) |
hidden_flower | PlFloat64 | 是 | 花隐林间,morning_mist、ancient_tree、frost_road 各自截面去极值标准化后等权合成(frost_road 取负号),研报的最终合成因子;值越小未来收益越高 |
hidden_flower_pure | PlFloat64 | 是 | 纯净花隐林间,hidden_flower 对申万一级行业哑变量与十个常见风格因子回归后的残差 |
| 依赖表 | 频率 | 用到的字段 | 用途 |
|---|---|---|---|
cn_stock_bar1m_c | 1 分钟 | date、instrument、close、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 | 构造 hidden_flower_pure 回归用的申万一级行业哑变量与十个风格因子 |
三个 20 日窗口因子需要 20 个交易日的日频中间量,故 cn_stock_bar1m_c 实际读取区间比输出区间向前多 24 个交易日(多留 4 天缓冲以吸收停牌造成的缺日);hidden_flower_pure 的风格因子含 250 个交易日同比项与 22 日贝塔,cn_stock_prefactors 的读取区间向前多 260 个交易日。daily_return 与 beta_000300SH_22 是随查询窗口滚动计算的字段,单日查询返回空值,必须带足回溯区间。
构建逻辑:
取个股 A 每天 1 分钟频率的行情数据。
用分钟收盘价计算每一分钟的收益率(第 t 分钟收盘价/第 t−1 分钟收盘价 - 1);用分钟成交量计算每一分钟的「增量成交量」(第 t 分钟成交量减去第 t−1 分钟成交量)。
对每天第 6 分钟至第 240 分钟的上述数据做带截距项的最小二乘回归,被解释变量 y 为第 t 分钟的收益率,解释变量 x 包括 6 项,分别为第 t、t−1、t−2、t−3、t−4、t−5 分钟的增量成交量:
rt=α+j=0∑5βjΔvt−j+εt,t=6,…,240记截距项 α 的 t 值为 t-intercept,第 t、t−1 …… t−5 分钟增量成交量回归系数的 t 值依次为 t0、t1 …… t5,回归方程的 F 值为 F-all。
依据研报逻辑,t0 ~ t5 表示各滞后分钟的增量成交量对第 t 分钟价格变化的推动程度,F-all 衡量这 6 个分钟中是否存在某一分钟对价格存在显著推动,t-intercept 则包含了市场层面的信息和个股中长期的基本面信息,残差部分衡量噪声的强弱。
项目实现说明:
构建逻辑: 取 t_intercept 构建逻辑中同一次回归的方程 F 值。
项目实现说明: F 值按 6 个解释变量计算,即第一自由度 6、第二自由度 228。研报正文在讨论显著性阈值时写作「第一自由度为 5、第二自由度为 228 的 F 分布」,与其自身给出的「解释变量 x 包括 6 项」及 228 的残差自由度不自洽,本项目按 6 项解释变量实现(核对依据见「复现核对」小节)。
构建逻辑:
项目实现说明: 研报未写明标准差是总体口径还是样本口径,本项目取样本标准差(除以 n−1)。两种口径只相差常数 5/4,是单调变换,不影响截面排名与 Rank IC。
构建逻辑: 每月月底,计算过去 20 个交易日的「日朝没晨雾」因子的均值,记为「朝没晨雾」因子。
项目实现说明:
构建逻辑:
项目实现说明: 截面均值按当日全市场所有有有效 f_all 的个股计算,不做任何股票过滤。
构建逻辑: 每月月底计算过去 20 个交易日的「日午蔽古木」因子的均值,记为「午蔽古木」因子。
项目实现说明:
构建逻辑:
项目实现说明:
t_intercept 序列按行中心化、除以样本标准差,一次矩阵乘 ZZ⊤/(n−1) 即得到全市场 N×N 相关矩阵;N 约 5500 时该矩阵乘在 0.1 秒量级,无需逐对循环。由 Cauchy–Schwarz 不等式,该写法保证 ∣corr∣≤1,因子恒落在 [0, 1],由入库前测试点 correlation_bounds 逐日守护。t_intercept 有效天数少于 15 天的个股当日不参与计算;缺失日用该股自身窗口均值填补(中心化后贡献为 0)。当日可比股票数少于 50 只时整日跳过。序列恒定的个股相关系数无定义,当日置空且不计入其他个股求均值的分母。构建逻辑:
项目实现说明: 研报只说「等权合成」,未写明标准化口径与符号处理。三个分量中朝没晨雾与午蔽古木越小越好(Rank IC 为负),夜眠霜路越大越好(Rank IC 为正),直接相加会使预测信息相互抵消。本项目实现为各自截面 1%/99% 分位截尾 + z-score 后,取 (zmorning_mist+zancient_tree−zfrost_road)/3,使合成因子统一为「值越小未来收益越高」,与研报给出的方向(Rank IC -9.34%)及其强于三个分量的量级一致。
构建逻辑:
项目实现说明: 研报未披露所用风格因子的具体清单与计算口径,本项目选用十个常见风格因子,均取自 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-02-28;全市场不做任何股票过滤;前向收益取次日开盘到 21 个交易日后开盘(cn_stock_prefactors.open,后复权);Rank IC(因子与前向收益各自取截面百分位排名后求相关,口径同 hfwarehouse.utils.ic.validate_factor_ic);因子按研报口径先做市值 + 行业正交化(ln(float_market_cap) + 申万一级行业哑变量),hidden_flower_pure 已在构建时正交化故不再重复处理。研报为月末截面、本项目逐日,故给出两列:「月末口径」= 每个自然月最后一个交易日截面,共 98 个截面;「逐日全样本」= 区间内全部交易日,共 1983 个截面。多空组合为月末调仓、十分组、组内等权、不扣费;frost_road 方向为正,其多空按「做多最高一组、做空最低一组」计算,其余因子方向为负、按相反口径计算。
区间差异(对照前必读): 研报测试区间为 2013 年 1 月至 2023 年 2 月底(研报图表 30 明示),本项目按需求自 2015-01-01 回填,少了 2013、2014 两年。上游 cn_stock_bar1m_c 自 2005 年起可用,这不是数据限制而是回填起点的选择;需要与研报完全同区间时把 notebook 第一段的 HISTORY_START 改回 2013-01-01 重跑即可。
ICIR 与 t 值口径差异: 研报的 Rank ICIR 是年化值,本项目的截面 ICIR(IC 均值 / IC 标准差)未年化,两者直接比会差 12 倍(同系列研报一致的口径)。下表「月末口径」列同时给出未年化值与年化值(× 12),与研报可比的是括号里的年化值。t 值同样受样本长度影响:本项目 98 个月末截面、研报 122 个,差 122/98=1.116 倍,下表 t 值列一并给出折算后的可比值。
| 因子 | 本项目(月末口径) | 本项目(逐日全样本) | 研报原文 | 出处 |
|---|---|---|---|---|
morning_mist | IC -0.0859,ICIR -1.31(-4.54),t -12.99(折算 -14.5),多空年化 31.71%,波动 8.07%,信息比 3.49,月度胜率 85.57%,最大回撤 3.30% | IC -0.0941,ICIR -1.45 | Rank IC -8.55%,Rank ICIR -4.47,t -14.1,多空年化 28.17%,波动 7.71%,信息比 3.65,月度胜率 84.30%,最大回撤 4.16% | 研报图表 2 |
ancient_tree | IC -0.0686,ICIR -1.23(-4.25),t -12.13(折算 -13.5),多空年化 24.11%,波动 7.42%,信息比 2.98,月度胜率 81.44%,最大回撤 5.23% | IC -0.0754,ICIR -1.43 | Rank IC -6.40%,Rank ICIR -4.29,t -13.6,多空年化 19.90%,波动 6.99%,信息比 2.85,月度胜率 81.82%,最大回撤 5.36% | 研报图表 5 |
frost_road | IC +0.0647,ICIR +0.88(+3.06),t +8.73(折算 +9.74),多空年化 20.15%,波动 9.29%,信息比 2.04,月度胜率 74.23%,最大回撤 5.86% | IC +0.0666,ICIR +0.90 | Rank IC +6.06%,Rank ICIR +3.06,t +9.68,多空年化 20.20%,波动 9.05%,信息比 2.23,月度胜率 78.51%,最大回撤 6.90% | 研报图表 8 |
hidden_flower | IC -0.0992,ICIR -1.68(-5.81),t -16.59(折算 -18.5),多空年化 37.56%,波动 7.89%,信息比 4.13,月度胜率 88.66%,最大回撤 2.94% | IC -0.1064,ICIR -1.76 | Rank IC -9.34%,Rank ICIR -5.69,t -18,多空年化 32.39%,波动 7.26%,信息比 4.46,月度胜率 88.43%,最大回撤 3.23% | 研报图表 10 |
hidden_flower_pure | IC -0.0432,ICIR -1.15(-3.98),t -11.36(折算 -12.7),多空年化 15.99%,波动 6.53%,信息比 2.32,月度胜率 79.38%,最大回撤 4.49% | IC -0.0432,ICIR -1.13 | Rank IC -4.63%,Rank ICIR -4.15,t -13.12,多空年化 16.62%,波动 5.56%,信息比 2.99,月度胜率 79.34%,最大回撤 3.00% | 研报图表 16 |
整体结论: 五个因子的方向全部一致,Rank IC 偏差全部在 0.0058 以内,年化 ICIR 偏差在 0.17 以内,t 值按样本长度折算后偏差在 0.5 以内;多空年化在 0.05 ~ 5.2 个百分点之间,月度胜率两位小数级吻合。可以认为分钟回归的分解口径与三个因子的构造逻辑复现无误。
frost_road 的正方向复现无误,这是本篇唯一 Rank IC 为正的因子:年化 ICIR +3.06 与研报 +3.06 完全一致,多空年化 20.15% 对研报 20.20%(差 0.05pp)。hidden_flower:IC -0.0992(研报 -9.34%)、年化 ICIR -5.81(研报 -5.69)、月度胜率 88.66%(研报 88.43%)、最大回撤 2.94%(研报 3.23%)。多空年化 37.56% 高于研报 32.39%,信息比 4.13 低于研报 4.46,是偏差最明显的两项。morning_mist 的 Rank IC -0.0859 与研报 -8.55% 仅差 0.0004,年化 ICIR -4.54 对 -4.47。hidden_flower 多头年化 23.42%、空头 -7.94%,本项目对应 17.87% / -15.51%。这一项偏差明显大于 IC 类指标:研报的分组是在未做市值行业正交化的原始因子上做的,且含 2013、2014 两个强势年份,而本项目为了与 IC 口径一致在正交化后的因子上分组,空头端因此更极端。结论性指标(多空、IC)吻合,分组绝对收益不可直接比。不依赖区间、可直接验证回归实现的三处交叉核对(这是本次复现最有力的证据,因为它们只取决于回归设置本身,与样本区间和因子加工链无关):
| 核对项 | 本项目(2015-01 ~ 2023-02,1983 个交易日) | 研报原文 | 出处 |
|---|---|---|---|
| 回归残差自由度 | 235 个观测、7 个待估参数,残差自由度 228 | 「第二自由度为 228」 | 研报 3.2 节第 6 点后的说明 |
f_all 大于 4.5 的占比 | 日均 25.46% | 「2013-2023 年间,F-all 值大于 4.5 的比例约为 24.3%」 | 研报 3.2 节 |
ancient_tree_daily 为正数的占比 | 日均 28.10% | 「午蔽古木因子值中正数占比约为 27%」 | 研报 3.2 节 |
残差自由度 228 只在「240 个交易分钟、回归从第 6 分钟起算、6 个解释变量 + 截距项」这一种读法下成立(235 - 7 = 228),而这又要求第 1 分钟(09:31)也有收益率与增量成交量——即必须以集合竞价 bar 作为第 1 分钟的前一根。两个占比指标进一步确认 F 值的自由度取法:若按研报正文写的「第一自由度为 5」实现(即只用 5 个解释变量),F 值整体会系统性偏高,4.5 以上的占比将明显超过 24.3%。
已知的口径差异:
frost_road 取负号(研报明确三个分量中它方向为正,直接相加会抵消信息)。合成后 IC -0.0992 与研报 -9.34% 吻合、且明显强于三个分量(-0.0859 / -0.0686 / +0.0647),可确认该读法正确。hidden_flower_pure 的风格因子清单研报未披露:本项目选用十个常见风格因子,口径与同系列之九完全一致(见 hidden_flower_pure 的「项目实现说明」)。frost_road 均值的分母。morning_mist–ancient_tree +0.58、morning_mist–frost_road -0.16、ancient_tree–frost_road -0.13。前两者相关性较高(都来自同一次回归的 t 值),这也解释了为何合成后的提升幅度(IC 从 -0.086 到 -0.099)小于同系列之九(两个近似正交的分量合成)。覆盖度:2015-01-05 ~ 2026-09-30 共 2855 个交易日、1167 万行,全表 frost_road 实测落在 [0.091, 0.897] ⊂ [0, 1]、morning_mist 无负值,无 NaN 与 ±Inf。hidden_flower 逐年有效值占比 92.1%(2015)~ 99.5%(2025),2015 年偏低来自当年大面积停复牌使 20 日窗口内有效天数不足 15 天;逐年入库时随机抽日的入库前测试全部通过。
样本外表现(2023-03-01 ~ 2026-09-30,逐日 851 个截面 / 月末 42 个截面):五个因子方向全部保持,无符号反转。
| 因子 | 样本内逐日 IC | 样本外逐日 IC | 样本内 ICIR | 样本外 ICIR | 样本外多空年化 | 样本外信息比 |
|---|---|---|---|---|---|---|
morning_mist | -0.0941 | -0.0748 | -1.45 | -0.84 | 17.41% | 1.07 |
ancient_tree | -0.0754 | -0.0628 | -1.43 | -0.95 | 15.11% | 1.11 |
frost_road | +0.0666 | +0.0549 | +0.90 | +0.60 | 2.70% | 0.25 |
hidden_flower | -0.1064 | -0.0822 | -1.76 | -0.94 | 18.63% | 1.13 |
hidden_flower_pure | -0.0432 | -0.0249 | -1.13 | -0.53 | 0.70% | 0.12 |
核心因子 hidden_flower 的 IC 从 -0.1064 衰减到 -0.0822(23%),仍是全表最强,但 ICIR 从 -1.76 降到 -0.94(47%)、多空年化从 37.56% 降到 18.63%、信息比从 4.13 降到 1.13,稳定性下滑幅度远大于 IC 本身——样本外多空波动从 7.89% 升到 16.31%,是信息比腰斩的主因。衰减最严重的两项是 frost_road(多空年化 20.15% → 2.70%,信息比 2.04 → 0.25)与 hidden_flower_pure(15.99% → 0.70%,2.32 → 0.12):前者说明「用截距项的市场共性剥离中长期基本面信息」这条线路近三年半基本失效,后者说明剥离风格后的增量信息已接近于零。这与同系列之四、之五、之六、之八、之九的 _pure 版本是同一模式,使用前应复核当期表现。样本外区间末端约 21 个交易日因前向收益窗口不完整而无 IC,已从序列中剔除。
按 date、instrument 排序后的前 5 行与后 5 行,由 update_docs() 推送文档时自动填充。
| date | instrument | t_intercept | f_all | morning_mist_daily | morning_mist | ancient_tree_daily | ancient_tree | frost_road | hidden_flower | hidden_flower_pure |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-11-03 00:00:00 | 000001.SZ | 1.190019 | 1.434950 | 0.789584 | 1.035934 | -1.190019 | -0.482575 | 0.361436 | 0.020114 | -0.265623 |
| 2026-11-03 00:00:00 | 000002.SZ | 0.157489 | 2.582098 | 0.952931 | 0.969711 | -0.157489 | -0.431055 | 0.283567 | 0.191736 | 0.157288 |
| 2026-11-03 00:00:00 | 000006.SZ | 0.004807 | 1.532817 | 0.924372 | 1.001035 | -0.004807 | -0.151018 | 0.478890 | 0.017014 | 0.230816 |
| 2026-11-03 00:00:00 | 000007.SZ | 0.258024 | 2.637784 | 1.020182 | 0.780855 | -0.258024 | -0.645078 | 0.460096 | -0.918286 | -0.662291 |
| 2026-11-03 00:00:00 | 000008.SZ | 0.308752 | 6.444377 | 2.336634 | 0.732636 | 0.308752 | -0.225475 | 0.532094 | -0.705916 | -0.285777 |
| 2026-11-03 00:00:00 | 688835.SH | -1.070414 | 0.970573 | 0.729497 | 0.889423 | -1.070414 | -0.410998 | 0.431231 | -0.357452 | -1.003572 |
| 2026-11-03 00:00:00 | 688836.SH | -0.587145 | 1.130103 | 0.443711 | 1.270742 | -0.587145 | 0.089018 | 0.490274 | 0.754436 | -1.330510 |
| 2026-11-03 00:00:00 | 688837.SH | -0.290841 | 3.755297 | 0.744519 | 1.087520 | 0.290841 | 0.072187 | 0.397465 | 0.678652 | 0.366858 |
| 2026-11-03 00:00:00 | 688981.SH | 0.939861 | 9.312284 | 0.917543 | 0.876350 | 0.939861 | -0.145976 | 0.413072 | -0.006827 | -0.341517 |
| 2026-11-03 00:00:00 | 689009.SH | 1.457574 | 4.791526 | 0.673892 | 1.048742 | 1.457574 | -0.138456 | 0.294620 | 0.654471 | 0.065309 |
SELECT date, instrument, t_intercept, f_all, morning_mist_daily, morning_mist, ancient_tree_daily FROM cn_stock_factors_hf_fz_hidden_flower WHERE date >= '2026-10-06' ORDER BY date LIMIT 100
SELECT date, instrument, t_intercept, f_all, morning_mist_daily, morning_mist, ancient_tree_daily FROM cn_stock_factors_hf_fz_hidden_flower WHERE date >= '2026-10-06' ORDER BY date LIMIT 100