ep_roe_composite_neutral · 生成于 2026-10-28执行方式:加工是逐日截面计算,因 AIStudio 免费规格内存放不下全区间,按半年分块各执行一次 SQL 后拼接。各块互不依赖,理论上与一次性执行相同,但我没有跑过一次性版本来对照;各步剔除、填补条数为各块相加。
EP(便宜程度)和 ROE(赚钱能力)都带着“行业”和“公司大小”的影子:银行、煤炭天然估值低,大公司和小公司的估值水平也系统性不同。 不处理的话,因子很可能只是在买某几个行业或某个市值区间,而不是在同行业、同规模的公司里挑更好的。 中性化就是把这部分影子扣掉,只留下“同行业、同市值水平下的相对好坏”。
本次的佐证:中性化前因子与 LN(总市值) 的逐日相关均值为 0.283,之后约为 -7.8e-14; 逐日 RankIC 均值从 0.0202 变为 0.0306,标准差从 0.1496 降到 0.0802, Newey-West t 值从 1.60 升到 4.46。中性化前后因子值的日均相关为 0.925。
“波动变小”的原因(猜测):中性化前的 IC 可能随大小盘风格轮动起落。本次没有做按市值分层的检验,这只是猜测,没有验证。
检验口径:信号日收盘后生成因子,T+1 开盘价买入。逐日 RankIC 的“下期收益”为 T+1 开盘到 T+21 开盘(20 个交易日,相邻日窗口重叠,所以 t 值用 Newey-West,滞后 20);分组与多空为月度:月末信号日生成,次日开盘买入,持有到下一个月末信号日的次日开盘,共 92 期。红涨绿跌。
浅线为逐日 RankIC,蓝线为 60 日均线,灰色横线为 0 轴。全程均值 0.0306,IC>0 的天数占 66.0%。
逐日 RankIC 的累加。曲线越陡说明那段时间因子越有效,走平说明失效。
每组为月度调仓的平均单期收益,黑线为全市场等权基准的月均收益(1.35%)。G1 绿 → G10 红只表示组序。
起点为 1。线尾直接标出 G1、G10 和全市场等权基准;鼠标悬停时按净值从高到低排序。
扣费口径为单边 0.15%,只对换手部分收取。基准为全市场等权。
横轴为 IC 区间中点,纵轴为天数。中性化后分布更集中(标准差 0.0802,中性化前 0.1496)。
中性化后在 8 个年份中有 8 个为正,中性化前为 4 个。2026 年为截至 2026-09-18 的不完整年份。
各年内月度收益复利;多空为 G10−G1 的月度差价复利,未扣空头融券成本。
评价口径(课程口径):|IC| ≥ 0.03 记“可用”,≥ 0.05 记“强”,> 0.1 记“可疑(警惕未来函数)”;单调性看十组是否“台阶状=有规律,乱跳=巧合”。
| 口径 | 均值 | 标准差 | IR | 朴素 t | NW 校正 t | IC>0 胜率 | 课程口径 |
|---|---|---|---|---|---|---|---|
| 逐日 RankIC · 中性化后 | 0.0306 | 0.0802 | 0.382 | 16.52 | 4.46 | 66.0% | 可用 |
| 逐日 RankIC · 中性化前 | 0.0202 | 0.1496 | 0.135 | 5.83 | 1.60 | 53.9% | 偏弱(<0.03) |
| 月度信号日 RankIC(不重叠)· 中性化后 | 0.0287 | 0.0850 | 0.337 | 3.24 | 3.42 | 60.9% | 偏弱(<0.03) |
| 月度信号日 RankIC(不重叠)· 中性化前 | 0.0153 | 0.1424 | 0.108 | 1.03 | 1.05 | 54.3% | 偏弱(<0.03) |
逐日 IC 一阶自相关 0.962,所以朴素 t 值虚高约 3.7 倍。NW 滞后取 5/10/20/30/40 时,中性化后 t 值分别为 7.05、5.47、4.46、4.17、4.06,结论不依赖滞后选择。
| 组别 | 月均收益 | 年化 | 夏普 | 最大回撤 |
|---|---|---|---|---|
| G1 | +1.16% | +10.35% | 0.47 | -34.06% |
| G2 | +1.31% | +12.95% | 0.57 | -30.48% |
| G3 | +1.21% | +11.88% | 0.55 | -31.67% |
| G4 | +1.25% | +12.32% | 0.56 | -28.80% |
| G5 | +1.38% | +14.19% | 0.64 | -25.88% |
| G6 | +1.43% | +14.83% | 0.65 | -25.89% |
| G7 | +1.59% | +17.09% | 0.73 | -25.55% |
| G8 | +1.63% | +17.76% | 0.75 | -24.67% |
| G9 | +1.67% | +18.49% | 0.79 | -20.22% |
| G10 | +1.33% | +13.99% | 0.64 | -19.97% |
| 全市场等权基准 | +1.35% | +13.90% | 0.63 | -24.63% |
| 股票池等权 | +1.40% | +14.53% | 0.65 | -23.53% |
单调性:组序相关 0.782,9 个相邻台阶中 7 个向上,逐月组序相关均值 0.106。判断:整体向上但顶部回落,不算干净的台阶(收益最高的是 G9,G10 月均 1.33%,与基准的 1.35% 相近)。G10−G1 月均 +0.18%。每组每期中位 439 只。
| 组合 | 累计收益 | 年化 | 年化波动 | 夏普 | 最大回撤 | 月胜率 |
|---|---|---|---|---|---|---|
| 多空 · 不扣费 | +11.71% | +1.46% | 11.58% | 0.18 | -22.40% | 48.9% |
| 多空 · 扣费(单边 0.15%) | +3.01% | +0.39% | 11.62% | 0.09 | -25.06% | 48.9% |
| 仅多 G10 · 扣费 | +160.78% | +13.32% | 25.04% | 0.62 | -20.13% | 54.3% |
| 全市场等权基准 | +171.23% | +13.90% | 25.91% | 0.63 | -24.63% | 54.3% |
成本假设:单边 0.15%,买入、卖出各计一次,只对换手部分收取,首期只计建仓。单边换手(占该腿资金):多头月均 16.3%,空头月均 12.2%;成本拖累约 1.05%/年。换手用“新进成员占比”独立核对:多头 13.3%、空头 8.6%,权重换手不低于它(符合),因为还包含留任股票调回等权的部分。多空月差价的 t 值:朴素 0.50,NW 校正 0.47;前半段年化 -0.99%,后半段 +3.96%。
| 年份 | G1 | G10 | 全市场等权基准 | G10 超额 | 多空 · 不扣费 | 多空 · 扣费 |
|---|---|---|---|---|---|---|
| 2019 | +6.60% | +18.37% | +17.88% | +0.49% | +8.92% | +7.52% |
| 2020 | +8.93% | +18.17% | +19.99% | -1.82% | +7.58% | +6.30% |
| 2021 | +30.94% | +16.87% | +24.68% | -7.81% | -11.57% | -12.53% |
| 2022 | +8.86% | +2.75% | +4.82% | -2.07% | -7.32% | -8.31% |
| 2023 | -18.85% | -4.02% | -17.58% | +13.56% | +15.17% | +14.13% |
| 2024 | +19.29% | +34.73% | +27.82% | +6.92% | +8.98% | +7.93% |
| 2025 | +46.92% | +41.41% | +48.86% | -7.45% | -4.95% | -5.78% |
| 2026(不完整) | -9.61% | -11.18% | -6.44% | -4.74% | -2.50% | -3.16% |
| 年份 | 中性化后 | 中性化前 | 后 · 胜率 | 后 · NW t | 课程口径(后) |
|---|---|---|---|---|---|
| 2019 | 0.0548 | 0.0564 | 86.1% | 4.01 | 强 |
| 2020 | 0.0318 | 0.0775 | 76.1% | 2.78 | 可用 |
| 2021 | 0.0180 | -0.0230 | 60.1% | 0.96 | 偏弱(<0.03) |
| 2022 | 0.0045 | -0.0036 | 47.5% | 0.32 | 偏弱(<0.03) |
| 2023 | 0.0357 | -0.0096 | 76.4% | 2.02 | 可用 |
| 2024 | 0.0444 | 0.0454 | 56.6% | 1.42 | 可用 |
| 2025 | 0.0240 | -0.0076 | 58.4% | 1.58 | 偏弱(<0.03) |
| 2026 | 0.0319 | 0.0278 | 67.2% | 1.42 | 可用 |
分年度 NW 滞后取 min(20, 样本数/5)。年度 NW t ≥ 2 的年份只有 3/8 个,多空不扣费为正的年份 4/8 个。
| 项目 | 结果 | 判断 |
|---|---|---|
| 财报更新日是否紧跟公告日 | 因子值变动 127,631 次,其中 122,599 次能对上公告日;对上的里 99.80% 在公告日当天或次一交易日更新(当日 112,989,次日 9,338)。公告到更新相隔天数:中位 0、P90 2、P99 6。 | 基本通过,有尾部 异常:提前于公告 26 笔(最多 10 天),滞后超过 10 天 56 笔(最长 231 天),对不上公告 5,032 笔。原因未核查(猜测:更正公告或日期口径差异)。 |
| 因子额外滞后后的 IC | 滞后 0 / 5 / 20 个交易日:IC 0.0306 / 0.0280 / 0.0237,NW t 4.46 / 4.13 / 3.58。 | 通过 缓慢衰减,没有“一滞后就消失”,不像依赖未来信息。 |
| 随机因子对照 | 随机因子 300 次(种子 20261027),月度 IC 均值的均值 -1.3e-05;|t|>1.96 的比例 6.7%(理论约 5%,偏离 1.3 个标准误);随机 |t| 最大 3.38,真实月度 t 为 3.24,超过它的随机因子占 0.3%。 | 通过 检验流程对随机因子不制造虚假显著。 |
| 与过去收益的关系 | 因子与过去 20 / 60 日收益的月度截面 Spearman 均值:中性化后 -0.024 / -0.039,中性化前 0.011 / 0.009;单月绝对值最大 0.23 / 0.26。 | 通过 平均相关很小,不是动量或反转的替身。 |
| 退市标的是否在样本内 | 2019 年以来退市 243 只,其中 236 只在因子表里,7 只不在;因子表最后一天距退市日的中位数 7 天,超过 30 天的 89 只。月度检验里“有入场价、缺退出价”被跳过的股票·期 780(其中退市股 203,G1 220,G10 57)。 | 有未解释尾部 退市股在样本内(无生存者偏差的明显证据),但缺退出价的收益被跳过,退市亏损没有计入;这会对 G1 和 G10 各有多大影响没有量化(猜测:G1 受影响更大)。 |
| SQL 与 numpy 对账 | 在 3 个信号日上用 scipy 重算:样本数一致,RankIC 最大绝对差 1.7e-15,c_ntile 分组一致比例 100%。 | 通过 分组与 IC 直接用 SQL 的 c_ntile / c_rank / m_lead 计算,未回退 numpy。 |
要不要继续研究:建议继续,但不要直接当作独立的选股因子用。 排序信息大概率是真实的(IC 显著、自检基本通过,尾部见第四节),但“排序有用”和“能赚到钱”之间还差一步:最顶端一组没有跑赢,扣费后的多空几乎没有收益。 更值得做的是:(1)看为什么 G10 回落——可以拆开 EP 和 ROE 各自的 IC 与分组,也可以按行业或市值分层看 G10 里是什么股票; (2)把它当作多因子里的一个成分,而不是单独使用;(3)换一个更长的持有期或加入成交约束再检验。
对 G10 回落原因的任何解释(比如“G10 里有高 ROE 的拥挤股”“EP 为负值的亏损股被推到两端”)目前都是猜测,本次没有做拆分检验。
value_roe_neutral 写入被拒绝(无写权限,且查不到该表,疑似 ID 已被他人占用,原因未核实)。经确认改为 ep_roe_composite_neutral,行数 8,176,769,回读核对通过。