15分钟反转因子选股策略报告
生成于 2026-10-29 23:59 · 全部数值来自本次运行的结果文件 · 红涨绿跌 · 因子表 reversal_15m
1 总评与概览
总评:无效
依据是事先写下的规则:默认成本下测试段多头超额净年化 ≤ 0。因子的预测信息本身在测试段仍然成立(RankIC 0.0133,t 6.2),但毛超额很小,成本把它全部吃掉,所以不能当作可交易的选股策略。假设卡是猜测,按规则总评本来也不能给“有效”。
因子方向越大越好训练段 RankIC 0.0246,t 19.8
测试段 RankIC0.0133t 6.2,ICIR 0.26,符号与方向一致
测试段多头超额(毛年化)0.76%信息比率 0.10
测试段多头超额(默认成本后年化)-76.5%每单位换手 18bp;成本×2 更低
月换手(单腿单边)17.8 倍逐日更新,规则要求 20%~50%
五个数达标(测试,默认成本后)1 / 5只有容量一项达标;毛口径 2 / 5
2 方向判定(只用训练段)
| 训练段指标(2019-01 至 2022-11,950 个交易日) | 数值 |
|---|
| RankIC 均值(日度,16 个时点平均) | 0.0246 |
| t 值(普通) / Newey-West t(5) | 19.8 / 18.8 |
| IC>0 的交易日占比 | 75.8% |
| 前半段 / 后半段 IC 均值 | 0.0312 / 0.0180 |
| 月末信号日核对(47 个月) | IC 均值 0.0287,t 5.4,IC>0 的月份占比 78.7% |
| 5 分组下期收益(bp) G1→G5 | 0.69 / 3.55 / 4.99 / 6.41 / 7.93 |
| G5 − G1(bp) | 7.23 |
| 方向 = sign(IC 均值) | +1(越大越好(选因子最大的一端做多)) |
可信度检查
| 可信度检查 | 结果 | 说明 |
|---|
| |t| ≥ 2 | 通过 | t = 19.8 |
| 前后半段 IC 符号一致且与方向一致 | 通过 | 0.0312 / 0.0180 |
| G5−G1 符号与方向一致 | 通过 | 7.23 bp |
| U 形(G1、G5 同时高于或低于 G3) | 通过 | 无 U 形,单向选最高端适用 |
验证段、测试段只检查符号,不据此改方向
| 后续区间的 RankIC 符号检查 | RankIC 均值 | t 值 | 与锁定方向 |
|---|
| 验证 | 0.0171 | 6.6 | 一致 |
| 测试 | 0.0133 | 6.2 | 一致 |
文档核对:因子表说明写的是“数值越大,预期次日同一时点越可能上涨”,与训练段结论一致。说明由研究者本人写成,这个核对不是独立证据。
3 规则卡、假设卡与切分
| 规则卡项目 | 内容 |
|---|
| 因子表与列 | reversal_15m.reversal_base。表里有 reversal_base、reversal_half 两列,表名对应的因子名不唯一,按规则取第一个数值列 reversal_base |
| 因子方向 | +1,越大越好(选因子最大的一端做多)。依据见第 2 节;锁定后未改动 |
| 假设卡(猜测) | 短窗口内急跌后,流动性冲击回补,次日同一时点价格回升。 |
| 候选池 | 沪深300历史成分股,按当日实际成分;因子为 16 个 15 分钟时点的横截面,每个时点独立评估。每截面候选股最少 296 只,中位数 300 只,没有低于 100 只的截面 |
| 持仓与权重 | 多空:因子最高 10% 做多、最低 10% 做空,等权,各腿单位名义本金;16 个时点各占 1/16 资金;逐日更新,下一交易日同一分钟成交(次日同点标签) |
| 调仓与成交 | 每日更新;信号时点收盘后生成,标签为次日同一分钟的复权收益 |
| 风控 | 无单票上限(等权约 1/N);不做行业约束;评估口径下不加止损 |
| 成本 | 佣金万三(最低 5 元,大资金下忽略)、卖出印花税 0.1%、滑点单边 0.1%。折算到每单位权重变动:买入约 13bp(佣金 3 + 滑点 10),卖出约 23bp(再加印花税 10),买卖平均 18bp,报告统一用 18bp 作默认,×2 为 36bp。多空组合在 A 股个股层面无法融券,仅度量排序强度;成本为假设值。第二步只作敏感性展示:0/1/3/5/10bp 单边 |
| 基准 | 000300.SH:股票池就是沪深300成分,口径一致;中证500不再使用。本报告的超额主要对“同截面等权基准”计算(与标签同一持有区间),沪深300 只作净值对照 |
| 三集切分 | 训练 2019-01-01 至 2022-11-30;验证 2023-01-01 至 2024-04-30;测试 2024-06-01 至 2026-10-27。段间各留 20 个交易日左右:训练到 2022-11-30,验证从 2023-01-01;验证到 2024-04-30,测试从 2024-06-01 |
| 测试段说明 | 测试段 2024-06-01 起此前已被前三轮研究反复看过,不是未见样本;因子表最后一日 2026-10-28 的因子没有次日收益标签,测试段结束日取 2026-10-27 |
诊断
| 诊断(训练段) | 数值 |
|---|
| 因子覆盖率 / 标签覆盖率 | 100.00% / 99.97% |
| 截面数 | 15,200 |
| 候选池大小 最小 / 中位 | 296 / 300 |
| 多头腿大小(中位) | 30 只 |
| 多头腿单行业最大持仓数(最大 / 中位) | 26 / 6,未超过 30 只 |
| 过滤条件及剔除条数 | 沪深300当日成分(不在成分内的行不进入面板):7,531,252;因子值缺失:0;次日同点收益标签缺失:1,376 |
| 过滤条件说明 | 过滤条件共 3 个,均为数据可得性条件;不额外剔除 ST、停牌、次新、低流动性——评估口径沿用沪深300当日成分的完整截面,这些条件在 ST/停牌/次新/成交额口径下没有单独检验 |
三集切分时间轴
训练 2019-01 至 2022-11
验证 2023-01 至 2024-04
测试 2024-06 至 2026-10
训练 2019-01-01 至 2022-11-30;验证 2023-01-01 至 2024-04-30;测试 2024-06-01 至 2026-10-27;段间留空约 20 个交易日。因子表最后一天 2026-10-28 没有次日收益标签,测试段结束日取 2026-10-27。
4 三集对照与衰减判定
| 指标 | 训练 2019-01 至 2022-11 | 验证 2023-01 至 2024-04 | 测试 2024-06 至 2026-10 |
|---|
| RankIC 均值(日度,16 时点平均) | 0.0246 | 0.0171 | 0.0133 |
| ICIR(日度) | 0.644 | 0.368 | 0.258 |
| RankIC t 值(普通) | 19.8 | 6.6 | 6.2 |
| 多空组合毛年化 | 24.6% | 14.6% | 10.2% |
| 多空组合毛夏普 | 4.63 | 2.76 | 1.34 |
| 多头超额毛年化(相对同截面等权基准) | 9.81% | 1.33% | 0.76% |
| 多头超额信息比率(毛) | 1.89 | 0.32 | 0.10 |
| 多头超额最大回撤(毛) | -6.6% | -3.8% | -15.1% |
| 多头超额默认成本后年化 | -68.0% | -76.3% | -76.5% |
| 多头超额成本×2 后年化 | -145.8% | -154.0% | -153.7% |
| 多空组合默认成本后夏普 | -24.8 | -26.8 | -19.1 |
| 月换手(单腿单边,倍) | 18.0 | 17.3 | 17.8 |
| 交易日数 | 950 | 320 | 582 |
衰减判定
| 多空夏普 | 训练 | 验证 | 验证 / 训练 |
|---|
| 不计成本 | 4.63 | 2.76 | 0.60 |
| 每单位换手 5bp | -3.52 | -5.46 | 1.55 |
| 每单位换手 18bp | -24.76 | -26.75 | 1.08 |
判定:不计成本时验证段夏普是训练段的 0.60 倍,略低于 0.6,判为“衰减偏大”;符号没有翻转,没有腰斩。成本后两段夏普都是很大的负数,比值没有意义。验证段 RankIC 符号与锁定方向一致。
盈亏平衡成本
| 区间 | 多头超额的盈亏平衡成本(bp,每单位多头换手) | 多空组合的盈亏平衡成本(bp,每单位两腿换手) | 默认成本折算(bp,每单位换手) |
|---|
| 训练 | 2.27 | 2.84 | 18 |
| 验证 | 0.31 | 1.68 | 18 |
| 测试 | 0.18 | 1.18 | 18 |
5 图表与体检
净值:训练 / 验证 / 测试拼接
参数高原
| 两腿比例 | 训练 多空毛夏普 | 验证 多空毛夏普 | 验证夏普相对默认的变化 | 变化<30% 且符号不变 | 验证 多头超额毛年化 | 验证 多头超额默认成本后年化 |
|---|
| 8% | 4.63 | 2.89 | +4.6% | 是 | 1.60% | -77.6% |
| 10%(默认) | 4.63 | 2.76 | 0.0% | 是 | 1.33% | -76.3% |
| 12% | 4.65 | 2.65 | -4.1% | 是 | 1.36% | -74.7% |
成本 ×1 与 ×2
| 区间 | 成本 | 多头超额毛年化 | 多头超额净年化 | 多空净年化(算术,不复利) | 多空净夏普 | 两腿日换手 |
|---|
| 训练 | 成本×1(18bp) | 9.81% | -68.0% | -131.3% | -24.8 | 3.438 |
| 训练 | 成本×2(36bp) | 9.81% | -145.8% | -287.3% | -54.2 | 3.438 |
| 验证 | 成本×1(18bp) | 1.33% | -76.3% | -141.4% | -26.8 | 3.439 |
| 验证 | 成本×2(36bp) | 1.33% | -154.0% | -297.4% | -56.0 | 3.439 |
| 测试 | 成本×1(18bp) | 0.76% | -76.5% | -145.0% | -19.1 | 3.421 |
| 测试 | 成本×2(36bp) | 0.76% | -153.7% | -300.2% | -39.4 | 3.421 |
分年度与月换手
因子体检:IC 累计与滞后衰减、随机因子
| 滞后天数 k | 训练 RankIC | 训练 NW t(5) | 验证 RankIC | 验证 NW t(5) |
|---|
| 0(次日同点,原标签) | 0.0246 | 18.8 | 0.0171 | 6.1 |
| 1 | 0.0008 | 0.7 | -0.0030 | -1.2 |
| 2 | 0.0022 | 1.9 | -0.0055 | -2.1 |
| 3 | -0.0009 | -0.8 | -0.0033 | -1.3 |
随机因子对照
| 随机因子(标准正态,5 个固定种子) | 训练 IC t | 验证 IC t | 训练 多空毛夏普 | 验证 多空毛夏普 |
|---|
| 种子 0 | 0.47 | 0.39 | -0.02 | 0.19 |
| 种子 1 | -0.77 | -0.33 | -0.55 | -0.31 |
| 种子 2 | -0.16 | -1.54 | -0.74 | -0.39 |
| 种子 3 | 0.11 | 1.18 | -0.14 | -0.09 |
| 种子 4 | -1.61 | 0.09 | -0.69 | 0.97 |
随机因子的最大 |IC t| 为 1.61,最大 |多空夏普| 为 0.97,都在随机波动范围内;真因子的 IC t 在训练段为 19.8。
股票池过滤的敏感性
| 过滤条件 | 训练段剔除行数 | 占比 | 验证段剔除行数 | 占比 |
|---|
| ST | 3,568 | 0.08% | 0 | 0.00% |
| 停牌 | 0 | 0.00% | 0 | 0.00% |
| 上市不足约350个自然日 | 45,616 | 1.00% | 480 | 0.03% |
| 近20日日均成交额低于5000万 | 54,512 | 1.20% | 3,136 | 0.20% |
| 任一 | 102,880 | 2.26% | 3,616 | 0.24% |
过滤后重算
| 过滤后的股票池 | 训练 | 验证 |
|---|
| RankIC 均值 | 0.0243 | 0.0171 |
| 多空毛夏普 | 4.60 | 2.76 |
规则要求剔除 ST、停牌、上市不足 250 个交易日(这里取约 350 个自然日)、近 20 日日均成交额低于 5000 万。沪深300成分股几乎不受影响,所以主结果沿用完整截面。
6 五个数评价
课程口径:年化超额 > 8%、信息比率 > 1.0、最大回撤 > -20%、月换手 20%~50%、容量 > 5 亿。超额指多头腿相对同截面等权基准,月换手指单腿单边倍数。
| 区间·口径 | 年化超额 | > 8% | 信息比率 | > 1.0 | 最大回撤 | > -20% | 月换手 | 20%~50% | 容量(粗估) | > 5 亿 | 达标数 |
|---|
| 训练·毛 | 9.8% | 达标 | 1.89 | 达标 | -6.6% | 达标 | 1800% | 未达标 | 33 亿 | 达标 | 4 / 5 |
| 训练·净(默认成本) | -68.0% | 未达标 | -13.15 | 未达标 | -92.3% | 未达标 | 1800% | 未达标 | 33 亿 | 达标 | 1 / 5 |
| 验证·毛 | 1.3% | 未达标 | 0.32 | 未达标 | -3.8% | 达标 | 1733% | 未达标 | 41 亿 | 达标 | 2 / 5 |
| 验证·净(默认成本) | -76.3% | 未达标 | -18.32 | 未达标 | -62.1% | 未达标 | 1733% | 未达标 | 41 亿 | 达标 | 1 / 5 |
| 测试·毛 | 0.8% | 未达标 | 0.10 | 未达标 | -15.1% | 达标 | 1784% | 未达标 | 62 亿 | 达标 | 2 / 5 |
| 测试·净(默认成本) | -76.5% | 未达标 | -10.16 | 未达标 | -83.0% | 未达标 | 1784% | 未达标 | 62 亿 | 达标 | 1 / 5 |
三项都特别漂亮时才提示先怀疑数据;这里没有出现。
7 结论(大白话)
- 这是规律还是运气? 预测信息像规律,赚钱能力不是。RankIC 在训练、验证、测试三段都为正(0.0246、0.0171、0.0133),t 值都大于 6;随机因子没有效果(最大 |t| 1.6);两腿比例在 ±20% 内验证段夏普最多变化 4.6%。但 RankIC 逐段变小,滞后一天后几乎为 0(-0.0030),说明信息只对次日同一时点有效。
- 为什么不赚钱? 逐日更新的月换手约 18 倍,每单位换手成本 18bp,一年多头腿成本约 78 个百分点;毛超额在测试段年化只有 0.76%。盈亏平衡成本只有每单位 0.18bp,远低于任何现实成本。这是除法,不是猜测。
- 要不要进入纸面跟踪? 不建议。需要先解决两件事:换手降到 20%~50% 的区间,以及成交价能否贴近“次日同一分钟”。前几轮的延迟入场检验显示,入场延迟 5 分钟,基础反转的 RankIC 损失八成以上,所以这个目标本身难以成交(来自前几轮结果,本流程没有重做)。
- 不是什么: 没有出现“三项都特别漂亮”的情形,不触发“先怀疑数据”的提示;多空毛夏普在训练段 4.6 来自很低的年化波动(约 5%),不是高收益,成本后全部为负。
8 风险与备注
试验记账
| 记账项目 | 内容 |
|---|
| 因子方向是否被改 | 否(锁定后未改) |
| 参数配置数(试验数) | 3:两腿比例 8%、两腿比例 10%(默认)、两腿比例 12% |
| 是否使用 bq tune | 本流程是因子截面评估,没有 BigTrader 策略文件,没有 param() 声明,未使用 bq tune;总试验数 3,不超过 40 |
| 完成的模拟次数 | 11 次(其中随机因子 5 次、两腿比例 3 次);另有 2 次测试段运行没有产生结果 |
| 验证段被读取次数 | 4 次(评估、参数邻域与成本、自检、DSR) |
| 测试段被读取次数 | 完成 1 次;2 次在写完锁与冻结记录之后没有产生结果 |
| 测试段运行事故 | 在本机用 python s4_test.py 运行两次。SDK 在第一次 dai.query 时把整个脚本交到 AIStudio 从头重跑;本机那一段已先写下锁文件和冻结记录,AIStudio 那一段看到锁就拒绝运行。两次都没有产生任何结果文件,没有读到任何测试段数字。处理:冻结文件校验值全部未变、代码一字未改;两次留下的锁文件改名保留(TEST_OPEN_ATTEMPT1.lock、TEST_OPEN_ATTEMPT2.lock),改用 bq aistudio exec 在 AIStudio 上直接运行,使脚本只执行一次 |
| DSR | 0.997(验证段年化夏普 2.76,偏度 -1.05,峰度 6.2,试验数 3);没有 SELECTION_LUCK 警告 |
| DSR 的局限 | DSR 只计本流程 3 个配置。该因子在前几轮研究里已被多次筛选(第二轮 30 次评估等),未折算,DSR 偏乐观 |
| 冻结时间 | 2026-10-29 23:51:42 |
冻结文件校验
| 冻结的文件 | sha256 |
|---|
common.py | 12ab62da4077fefb… |
s1_direction.py | aeca783ef16d1207… |
s1_card.py | 0b58443c3ea71de2… |
s2_eval.py | 425f1ac946db843a… |
s3a_checks.py | 48a05b8397a8335a… |
s3b_selfcheck.py | 65c9caa0acf54dac… |
s3c_trials.py | 19327f6d00a04a12… |
s4_test.py | 47ba324e01ab8bde… |
out/s1_direction.json | a2dcae6b81363043… |
out/rule_card.json | 60b93f8e49381320… |
数据自检、暴露与容量
| 自检项目 | 结果 |
|---|
| 被跳过的行(次日同点收益缺失) | 1,408 行,占训练+验证行数的 0.023%,涉及 63 只股票;缺失原因多为次日停牌或缺价,已按计划记录并跳过,没有中断流程 |
| 是否集中 | 前 10 只占缺失行的 27.3%,单月最多占 8.0%;清单前几名:000425.SZ(48)、000895.SZ(48)、002024.SZ(48)、600816.SH(48)、000661.SZ(32)。其中已退市 4 只 |
| 退市股是否在样本内 | 验证段结束前退市且属于股票池的 5 只,面板中有数据的 5 只 |
| 被拒单统计 | 不适用:本流程是因子截面评估,没有走撮合引擎,没有订单,也就没有被拒单;涨跌停对成交的影响没有建模 |
| 信号日涨停的票占多头腿比例 | 训练 0.46%,验证 0.22%,测试 0.45%。信号日涨停的票次日同一分钟未必能买到;这里只统计信号日状态,没有走撮合 |
多头腿相对空头腿的风格暴露(拆解的可做部分)
| 风格因子 | 训练 多头减空头 | 验证 多头减空头 |
|---|
| SIZE | -0.003 | -0.012 |
| BETA | 0.031 | 0.073 |
| MOMENTUM | 0.008 | -0.018 |
| RESVOL | 0.032 | 0.039 |
| SIZENL | 0.004 | 0.018 |
| BTOP | -0.030 | -0.058 |
| LIQUIDTY | 0.023 | 0.044 |
| EARNYILD | -0.030 | -0.053 |
| GROWTH | 0.002 | 0.022 |
| LEVERAGE | -0.012 | -0.039 |
多头腿平均暴露减空头腿平均暴露,单位为标准化暴露;风格因子收益未取得,收益归因(β、风格、剩余 α)未做
容量(粗估)
| 容量粗估(元) | 训练 | 验证 | 测试 |
|---|
| 近 20 日日均成交额 p10 | 1.39 亿 | 1.71 亿 | 2.59 亿 |
| 容量上限(按 p10) | 33 亿 | 41 亿 | 62 亿 |
粗估上限:单票单次成交 ≤ 5% 日均成交额,多头腿 30 只,16 个时点各占 1/16;未考虑 15 分钟窗口内成交额远小于日均,也未考虑冲击成本;多空组合个股无法融券,空头腿容量不可用
备注
- 试验次数与 DSR:参数配置 3 个,完成模拟 11 次,DSR 0.997,无 SELECTION_LUCK 警告。DSR 没有折算此前对这个因子做过的多轮筛选,偏乐观。
- 验证集被读取 4 次;测试集完成 1 次。测试段 2024-06 起此前已被前三轮研究反复看过,不是未见样本,本报告里它只是“冻结后只算一次”的区间,不能当作样本外确认。
- 测试段运行事故:第一次运行写下锁文件与冻结记录后没有产生任何结果,没有读到任何测试段数字;处理方式是代码一字不改,改用 AIStudio 直接执行,重跑一次得到结果。记录在 trials.json 的 test_open_incident。
- 因子方向的文档核对是循环的:因子表的说明是研究者本人写的,与训练段结论一致不构成独立证据。
- 没有走撮合引擎:本流程是因子截面评估(每日 16 个时点,次日同一分钟成交的标签收益),不是 BigTrader 回测。所以没有被拒单、没有真实涨跌停成交检查、没有 T+1 与资金约束;信号日涨停占多头腿约 0.45%,次日能否买到未知。
- 多空组合在 A 股个股层面无法融券,仅度量排序强度;成本是假设值,没有实测成交,也没有冲击成本。容量是粗估上限:按日均成交额的 5% 计算,15 分钟窗口内的真实流动性更小。
- 股票池只有沪深300当日成分,不是全 A;ST、停牌、次新、低成交额条件只做了敏感性检验(影响训练段 2.3% 的行),没有进入主结果。月度调仓与 20 只持仓的设定没有采用,改为逐日更新、两腿各 10%(约 30 只)。
- 超额拆解只做了一半:多头腿相对空头腿的风格暴露已给出(BETA、波动、流动性偏高,价值、盈利偏低),但风格因子收益没有取到,所以大盘 β、风格、剩余 α 的收益拆分未做。
- 未建模:冲击成本、融券成本、停牌与涨跌停对成交的限制、盘中成交价与分钟收盘价的差。2022、2024、2026 年毛超额为负的原因没有检验。
- 自检结果:与已审计的组合模拟逐日对账,测试段最大绝对差 3.5e-18;未发现未解释的异常。
- 没有在浏览器里检查排版;图表的数据已可在“表格视图”中核对。
运行耗时
| 阶段 | 耗时(秒) |
|---|
| 第一步 方向判定 | 0.1 |
| 第一步 规则卡与诊断 | 10.0 |
| 第二步 训练+验证评估 | 4.0 |
| 第三步 因子体检 | 31.4 |
| 第三步 自检与容量 | 8.6 |
| 第三步 记账与 DSR | 0.1 |
| 第四步 测试段 | 11.1 |