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 个字段
按每日平均单笔成交金额切割涨跌幅,强反转减弱动量得到理想反转因子
研报用「W 式切割」把传统反转因子拆成强反转与弱动量两部分,再相减得到理想反转因子 M。切割依据是逐日的平均单笔成交金额 D:大单交易活跃的交易日反转性更强,不活跃的交易日反而呈弱动量,两者相减使反转信号得到加强。
本表输出切割后的两个分量 ideal_reversal_high_{N}(M_high)、ideal_reversal_low_{N}(M_low)与相减得到的 ideal_reversal_{N}(M)。研报以 N=20 为基准,并在图 9 验证了 N=40 与 N=60 同样有效,因此对 N∈{20,40,60} 各输出一组因子,字段以 _20 / _40 / _60 后缀区分。三组共用同一次日频表扫描。研报图 8 的纯净理想反转因子(对风格与行业回归取残差)因 DAI 不能修改已上架表的 schema,未入库。
入库区间: 2011-01-04 起至今逐交易日(DAI 实查 2011~2026 共 16 个自然年无缺年,截至 2026-11-03 合计 1441.7 万行),每日增量更新。
数据区间:2011-01-04 ~ 2026-11-03(每个交易日一条记录)。
cn_stock_factors_hf_dw_ideal_reversaldate + instrument| 字段 | 类型 | 可空 | 含义 |
|---|---|---|---|
date | PlDatetime | 否 | 交易日期 |
instrument | PlString | 否 | 股票代码 |
ideal_reversal_high_20 | PlFloat64 | 是 | 高单笔成交金额组反转因子 M_high(N=20),过去 20 个交易日中平均单笔成交金额较高的 10 个交易日的累计收益,强反转 |
ideal_reversal_low_20 | PlFloat64 | 是 | 低单笔成交金额组动量因子 M_low(N=20),过去 20 个交易日中平均单笔成交金额较低的 10 个交易日的累计收益,弱动量 |
ideal_reversal_20 | PlFloat64 | 是 | 理想反转因子 M(N=20),等于 M_high 减 M_low,值越小反转预期越强 |
ideal_reversal_high_40 | PlFloat64 | 是 | 高单笔成交金额组反转因子 M_high(N=40),过去 40 个交易日中平均单笔成交金额较高的 20 个交易日的累计收益,强反转 |
ideal_reversal_low_40 | PlFloat64 | 是 | 低单笔成交金额组动量因子 M_low(N=40),过去 40 个交易日中平均单笔成交金额较低的 20 个交易日的累计收益,弱动量 |
ideal_reversal_40 | PlFloat64 | 是 | 理想反转因子 M(N=40),等于 M_high 减 M_low,值越小反转预期越强 |
ideal_reversal_high_60 | PlFloat64 | 是 | 高单笔成交金额组反转因子 M_high(N=60),过去 60 个交易日中平均单笔成交金额较高的 30 个交易日的累计收益,强反转 |
ideal_reversal_low_60 | PlFloat64 | 是 | 低单笔成交金额组动量因子 M_low(N=60),过去 60 个交易日中平均单笔成交金额较低的 30 个交易日的累计收益,弱动量 |
ideal_reversal_60 | PlFloat64 | 是 | 理想反转因子 M(N=60),等于 M_high 减 M_low,值越小反转预期越强 |
| 依赖表 | 频率 | 用到的字段 | 用途 |
|---|---|---|---|
cn_stock_prefactors | 日频 | date、instrument、amount、deal_number、change_ratio、total_market_cap、sw2021_level1、beta_000300SH_22、pb、pe_ttm、debt_to_asset_lf、total_operating_revenue_ttm、daily_return、turn | date + instrument 作为输出骨架与窗口分组键;amount / deal_number 相除得到平均单笔成交金额 D(W 式切割的排序依据,同时用于剔除 D 无定义的交易日);change_ratio 取 ln(1+R) 后在切割出的交易日子集上求和,还原为高 / 低 D 组的累计收益,另在 20 日窗口上累乘得到 Momentum 风格代理;total_market_cap、sw2021_level1、beta_000300SH_22、pb、pe_ttm、debt_to_asset_lf、total_operating_revenue_ttm、daily_return、turn 由 SQL 读出构造十个风格代理与申万一级行业,供 builder 内预留的纯净化回归使用,当前不进入输出字段 |
本表只依赖 cn_stock_prefactors 这一张聚合日频 view,不直接读取任何分钟或逐笔表。最长窗口 N=60 按「D 有定义的交易日」计数,为覆盖停牌需回溯 120 个自然交易日;SQL 里预留的风格代理含 250 个交易日同比的营收增速项,故实际回溯取两者的较大值 300 个交易日,单日增量的读取区间约为输出区间的 300 倍。
每个 N 一组三个字段,N=20 为研报基准,下面先完整给出 N=20 三个字段,N=40 / 60 只是窗口长度不同。
中文名: 高单笔成交金额组反转因子(M_high)
描述: 传统反转因子经「W 式切割」后保留的强反转部分。研报认为大单交易活跃(单笔成交金额高)的交易日,其涨跌幅具有更强的反转特性,因此把回溯窗口内单笔成交金额较高的那一半交易日单独取出累计收益,得到的因子反转性显著强于未切割的原始收益率因子。
构建逻辑: 先逐日计算平均单笔成交金额 D(当日成交金额 / 当日成交笔数)。在每个截面日回溯过去 N 个交易日(N 取偶数),将这 N 个交易日按 D 值从大到小排序,取前 N/2 个交易日为高 D 组。将高 D 组交易日的涨跌幅加总,得到 M_high;此处的「加总」按研报附注[1]实际通过累乘实现。
M_high=(1+R1)(1+R2)⋯(1+RN/2)−1其中 Ri 为高 D 组第 i 个交易日的涨跌幅。
项目实现说明:
m_sum_greatest_k 完成「按 D 排序取前 N/2 个交易日再聚合」cn_stock_prefactors 当日行数一致,不对任何股票状态做筛选m_sum_greatest_k 把 sort_by 的 NULL 当作最小值处理,若保留 D 无定义的行,这些行会被强制并入低 D 组;而改为把 ln(1+R) 置 NULL 又会使整个窗口返回 NULL。因此必须在进入窗口前剔除,无法靠置空规避文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 3 节「反转因子的 W 式切割」与图 4(M_high 列);附注[1] 说明「加总」为累乘
中文名: 低单笔成交金额组动量因子(M_low)
描述: 「W 式切割」后被剔除的弱动量部分。与高 D 组相对,大单交易不活跃(单笔成交金额低)的交易日,其涨跌幅反转特性更弱,研报实证显示这部分反而呈现弱动量效应。该因子既是理想反转因子的组成部分,也用于说明切割方案的有效性来源。
构建逻辑: 承 M_high 的第一步,在每个截面日回溯过去 N 个交易日并按 D 值从大到小排序后,取后 N/2 个交易日为低 D 组。将低 D 组交易日的涨跌幅按同样的累乘方式加总,得到 M_low。
M_low=(1+R1)(1+R2)⋯(1+RN/2)−1其中 Ri 为低 D 组第 i 个交易日的涨跌幅。
项目实现说明: 同 ideal_reversal_high_20(计算频率、累乘实现、无效交易日处理)
文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 3 节「反转因子的 W 式切割」与图 4(M_low 列)
中文名: 理想反转因子(M)
描述: 研报提出的核心因子。由强反转的 M_high 减去弱动量的 M_low 得到,两个方向相反的分量相减使反转信号得到加强。研报在 2010~2018 年全部 A 股(剔除 ST 与上市未满 60 日)上测得 M 的 rankIC 月度均值为 -0.070,多空对冲年化收益 19.3%、信息比率 2.51;研报并预判 M 与传统反转因子关联较低,而与 Beta、波动率等因子的关联可能比较明显。
构建逻辑: 在同一截面日上,用高 D 组累计收益减去低 D 组累计收益。
M=M_high−M_low项目实现说明:
ideal_reversal_high_20(计算频率、累乘实现、无效交易日处理)m_sum_gl_k_delta 一步得到)文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 3 节因子 M 的定义、第 4 节「理想反转因子」与图 4~6
中文名: 高单笔成交金额组反转因子(M_high),N=40
描述: 同 ideal_reversal_high_20,回溯窗口换成 40 个交易日。研报图 9 验证 N=40 / 60 下强反转的特性依然成立。
构建逻辑: 同 ideal_reversal_high_20,窗口 N=40,按 D 排序后取前 20 个交易日累乘收益。
项目实现说明: 同 ideal_reversal_high_20(逐日计算、对数收益求和后取指数、剔除 D 无定义的交易日);窗口按「过去 40 个 D 有定义的交易日」计数。
文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 5 节图 9(N=20,40,60 三种情况下的切割效果)
中文名: 低单笔成交金额组动量因子(M_low),N=40
描述: 同 ideal_reversal_low_20,回溯窗口换成 40 个交易日。研报图 9 验证 N=40 / 60 下弱动量的特性依然成立。
构建逻辑: 同 ideal_reversal_low_20,窗口 N=40,按 D 排序后取后 20 个交易日累乘收益。
项目实现说明: 同 ideal_reversal_low_20(逐日计算、对数收益求和后取指数、剔除 D 无定义的交易日);窗口按「过去 40 个 D 有定义的交易日」计数。
文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 5 节图 9(N=20,40,60 三种情况下的切割效果)
中文名: 理想反转因子(M),N=40
描述: 同 ideal_reversal_20,回溯窗口换成 40 个交易日。研报图 9 验证 N=40 / 60 下M_high 反转、M_low 动量的特性依然成立。
构建逻辑: 同 ideal_reversal_20,窗口 N=40,按 D 排序后前 / 后各取 20 个交易日,分别累乘后相减:M=M_high40−M_low40。
项目实现说明: 同 ideal_reversal_20(逐日计算、对数收益求和后取指数、剔除 D 无定义的交易日);窗口按「过去 40 个 D 有定义的交易日」计数。
文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 5 节图 9(N=20,40,60 三种情况下的切割效果)
中文名: 高单笔成交金额组反转因子(M_high),N=60
描述: 同 ideal_reversal_high_20,回溯窗口换成 60 个交易日。研报图 9 验证 N=40 / 60 下强反转的特性依然成立。
构建逻辑: 同 ideal_reversal_high_20,窗口 N=60,按 D 排序后取前 30 个交易日累乘收益。
项目实现说明: 同 ideal_reversal_high_20(逐日计算、对数收益求和后取指数、剔除 D 无定义的交易日);窗口按「过去 60 个 D 有定义的交易日」计数。
文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 5 节图 9(N=20,40,60 三种情况下的切割效果)
中文名: 低单笔成交金额组动量因子(M_low),N=60
描述: 同 ideal_reversal_low_20,回溯窗口换成 60 个交易日。研报图 9 验证 N=40 / 60 下弱动量的特性依然成立。
构建逻辑: 同 ideal_reversal_low_20,窗口 N=60,按 D 排序后取后 30 个交易日累乘收益。
项目实现说明: 同 ideal_reversal_low_20(逐日计算、对数收益求和后取指数、剔除 D 无定义的交易日);窗口按「过去 60 个 D 有定义的交易日」计数。
文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 5 节图 9(N=20,40,60 三种情况下的切割效果)
中文名: 理想反转因子(M),N=60
描述: 同 ideal_reversal_20,回溯窗口换成 60 个交易日。研报图 9 验证 N=40 / 60 下M_high 反转、M_low 动量的特性依然成立。
构建逻辑: 同 ideal_reversal_20,窗口 N=60,按 D 排序后前 / 后各取 30 个交易日,分别累乘后相减:M=M_high60−M_low60。
项目实现说明: 同 ideal_reversal_20(逐日计算、对数收益求和后取指数、剔除 D 无定义的交易日);窗口按「过去 60 个 D 有定义的交易日」计数。
文献出处: 魏建榕、高子剑、傅开波. 2018-12-13. “订单簿的温度”系列研究(一):反转因子的精细结构. 东吴证券,第 5 节图 9(N=20,40,60 三种情况下的切割效果)
N=20,全市场不做任何股票过滤,前向收益用次日开盘到 21 个交易日后开盘,rankIC 按截面计算。
研报样本期上的复现结果与研报图 4 一致(研报为月末截面、月度 IC,故此处同时给出月末子样本):
| 因子 | 本项目(2010-2018 月末) | 研报图 4 rankIC | 本项目(2010-2018 逐日) |
|---|---|---|---|
| M_high | -0.0822 | -0.082 | -0.0871 |
| M_low | +0.0171 | +0.018 | +0.0243 |
| M | -0.0699 | -0.070 | -0.0753 |
| Ret20(对照) | -0.0622 | -0.061 | -0.0642 |
四个因子的 rankIC 与研报误差均在 0.002 以内,切割逻辑与累乘口径可认为复现无误。
N 的敏感性对照研报图 9(图 9 给出的是 Pearson IC;N 只改变回溯窗口,预测期一律为月度):
| 因子 | 本项目 IC | 研报图 9 IC |
|---|---|---|
| M_high(N=20) | -0.0628 | -0.069 |
| M_high(N=40) | -0.0590 | -0.063 |
| M_high(N=60) | -0.0639 | -0.064 |
| M_low(N=20) | +0.0071 | +0.011 |
| M_low(N=40) | +0.0098 | +0.016 |
| M_low(N=60) | +0.0123 | +0.018 |
三个 N 下 M_high 的反转性与 M_low 的动量性均成立,M_low 随 N 增大而更正的单调性也与研报一致。本项目的 Pearson IC 系统性略弱于研报约 0.005,而 N=20 的 rankIC 与研报精确一致,差异应来自研报对因子或收益做了未披露的去极值处理(秩层面不受影响)。
近年样本(2023-11 ~ 2024-12,逐日)出现结构性变化,需在使用前注意:
| 因子 | rankIC | 年化 ICIR |
|---|---|---|
| M_high | -0.0583 | -1.92 |
| M_low | -0.0249 | -0.63 |
| M | -0.0306 | -1.12 |
| Ret20(对照) | -0.0804 | -1.71 |
M_low 由研报样本期的 +0.017 转为 -0.025,弱动量特性消失。由于 M = M_high - M_low 依赖两个分量方向相反,M_low 转负会直接抵消信号,导致该样本上 M(-0.0306)明显弱于单独使用 M_high(-0.0583),且两者均弱于未切割的 Ret20(-0.0804)。本表按研报原定义完整输出三个分量,未对该现象做任何调整,下游选用时建议自行复核当期 M_low 的符号。
研报图 7(M 与 Barra 因子相关系数矩阵)与图 8(纯净化后多空对冲)对应的纯净版因子未入库,故不在本表核对范围内。
按 date、instrument 排序后的前 5 行与后 5 行,由 update_docs() 推送文档时自动填充。
| date | instrument | ideal_reversal_high_20 | ideal_reversal_low_20 | ideal_reversal_20 | ideal_reversal_high_40 | ideal_reversal_low_40 | ideal_reversal_40 | ideal_reversal_high_60 | ideal_reversal_low_60 | ideal_reversal_60 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-11-03 00:00:00 | 000001.SZ | 0.064976 | -0.026265 | 0.091240 | 0.106092 | -0.072061 | 0.178153 | 0.129371 | -0.083367 | 0.212738 |
| 2026-11-03 00:00:00 | 000002.SZ | -0.179347 | -0.041295 | -0.138052 | 0.195849 | -0.145132 | 0.340982 | 0.224511 | -0.219805 | 0.444317 |
| 2026-11-03 00:00:00 | 000006.SZ | -0.111615 | -0.135829 | 0.024214 | 0.033947 | -0.211988 | 0.245935 | 0.147547 | -0.229935 | 0.377482 |
| 2026-11-03 00:00:00 | 000007.SZ | -0.038784 | -0.123966 | 0.085183 | -0.257044 | -0.023488 | -0.233555 | 0.136677 | -0.104893 | 0.241570 |
| 2026-11-03 00:00:00 | 000008.SZ | -0.003388 | -0.042782 | 0.039394 | -0.040573 | -0.060705 | 0.020132 | 0.018715 | -0.082741 | 0.101456 |
| 2026-11-03 00:00:00 | 920978.BJ | null | null | null | null | null | null | null | null | null |
| 2026-11-03 00:00:00 | 920981.BJ | null | null | null | null | null | null | null | null | null |
| 2026-11-03 00:00:00 | 920982.BJ | null | null | null | null | null | null | null | null | null |
| 2026-11-03 00:00:00 | 920985.BJ | null | null | null | null | null | null | null | null | null |
| 2026-11-03 00:00:00 | 920992.BJ | null | null | null | null | null | null | null | null | null |
SELECT date, instrument, ideal_reversal_high_20, ideal_reversal_low_20, ideal_reversal_20, ideal_reversal_high_40, ideal_reversal_low_40 FROM cn_stock_factors_hf_dw_ideal_reversal WHERE date >= '2026-10-06' ORDER BY date LIMIT 100
SELECT date, instrument, ideal_reversal_high_20, ideal_reversal_low_20, ideal_reversal_20, ideal_reversal_high_40, ideal_reversal_low_40 FROM cn_stock_factors_hf_dw_ideal_reversal WHERE date >= '2026-10-06' ORDER BY date LIMIT 100