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→G50.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.01716.6一致
测试0.01336.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.02460.01710.0133
ICIR(日度)0.6440.3680.258
RankIC t 值(普通)19.86.66.2
多空组合毛年化24.6%14.6%10.2%
多空组合毛夏普4.632.761.34
多头超额毛年化(相对同截面等权基准)9.81%1.33%0.76%
多头超额信息比率(毛)1.890.320.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.017.317.8
交易日数950320582

衰减判定

多空夏普训练验证验证 / 训练
不计成本4.632.760.60
每单位换手 5bp-3.52-5.461.55
每单位换手 18bp-24.76-26.751.08

判定:不计成本时验证段夏普是训练段的 0.60 倍,略低于 0.6,判为“衰减偏大”;符号没有翻转,没有腰斩。成本后两段夏普都是很大的负数,比值没有意义。验证段 RankIC 符号与锁定方向一致。

盈亏平衡成本

区间多头超额的盈亏平衡成本(bp,每单位多头换手)多空组合的盈亏平衡成本(bp,每单位两腿换手)默认成本折算(bp,每单位换手)
训练2.272.8418
验证0.311.6818
测试0.181.1818

5 图表与体检

净值:训练 / 验证 / 测试拼接

参数高原

两腿比例训练 多空毛夏普验证 多空毛夏普验证夏普相对默认的变化变化<30% 且符号不变验证 多头超额毛年化验证 多头超额默认成本后年化
8%4.632.89+4.6%是1.60%-77.6%
10%(默认)4.632.760.0%是1.33%-76.3%
12%4.652.65-4.1%是1.36%-74.7%

成本 ×1 与 ×2

区间成本多头超额毛年化多头超额净年化多空净年化(算术,不复利)多空净夏普两腿日换手
训练成本×1(18bp)9.81%-68.0%-131.3%-24.83.438
训练成本×2(36bp)9.81%-145.8%-287.3%-54.23.438
验证成本×1(18bp)1.33%-76.3%-141.4%-26.83.439
验证成本×2(36bp)1.33%-154.0%-297.4%-56.03.439
测试成本×1(18bp)0.76%-76.5%-145.0%-19.13.421
测试成本×2(36bp)0.76%-153.7%-300.2%-39.43.421

分年度与月换手

因子体检:IC 累计与滞后衰减、随机因子

滞后天数 k训练 RankIC训练 NW t(5)验证 RankIC验证 NW t(5)
0(次日同点,原标签)0.024618.80.01716.1
10.00080.7-0.0030-1.2
20.00221.9-0.0055-2.1
3-0.0009-0.8-0.0033-1.3

随机因子对照

随机因子(标准正态,5 个固定种子)训练 IC t验证 IC t训练 多空毛夏普验证 多空毛夏普
种子 00.470.39-0.020.19
种子 1-0.77-0.33-0.55-0.31
种子 2-0.16-1.54-0.74-0.39
种子 30.111.18-0.14-0.09
种子 4-1.610.09-0.690.97

随机因子的最大 |IC t| 为 1.61,最大 |多空夏普| 为 0.97,都在随机波动范围内;真因子的 IC t 在训练段为 19.8。

股票池过滤的敏感性

过滤条件训练段剔除行数占比验证段剔除行数占比
ST3,5680.08%00.00%
停牌00.00%00.00%
上市不足约350个自然日45,6161.00%4800.03%
近20日日均成交额低于5000万54,5121.20%3,1360.20%
任一102,8802.26%3,6160.24%

过滤后重算

过滤后的股票池训练验证
RankIC 均值0.02430.0171
多空毛夏普4.602.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 结论(大白话)

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 上直接运行,使脚本只执行一次
DSR0.997(验证段年化夏普 2.76,偏度 -1.05,峰度 6.2,试验数 3);没有 SELECTION_LUCK 警告
DSR 的局限DSR 只计本流程 3 个配置。该因子在前几轮研究里已被多次筛选(第二轮 30 次评估等),未折算,DSR 偏乐观
冻结时间2026-10-29 23:51:42

冻结文件校验

冻结的文件sha256
common.py12ab62da4077fefb…
s1_direction.pyaeca783ef16d1207…
s1_card.py0b58443c3ea71de2…
s2_eval.py425f1ac946db843a…
s3a_checks.py48a05b8397a8335a…
s3b_selfcheck.py65c9caa0acf54dac…
s3c_trials.py19327f6d00a04a12…
s4_test.py47ba324e01ab8bde…
out/s1_direction.jsona2dcae6b81363043…
out/rule_card.json60b93f8e49381320…

数据自检、暴露与容量

自检项目结果
被跳过的行(次日同点收益缺失)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
BETA0.0310.073
MOMENTUM0.008-0.018
RESVOL0.0320.039
SIZENL0.0040.018
BTOP-0.030-0.058
LIQUIDTY0.0230.044
EARNYILD-0.030-0.053
GROWTH0.0020.022
LEVERAGE-0.012-0.039

多头腿平均暴露减空头腿平均暴露,单位为标准化暴露;风格因子收益未取得,收益归因(β、风格、剩余 α)未做

容量(粗估)

容量粗估(元)训练验证测试
近 20 日日均成交额 p101.39 亿1.71 亿2.59 亿
容量上限(按 p10)33 亿41 亿62 亿

粗估上限:单票单次成交 ≤ 5% 日均成交额,多头腿 30 只,16 个时点各占 1/16;未考虑 15 分钟窗口内成交额远小于日均,也未考虑冲击成本;多空组合个股无法融券,空头腿容量不可用

备注

运行耗时

阶段耗时(秒)
第一步 方向判定0.1
第一步 规则卡与诊断10.0
第二步 训练+验证评估4.0
第三步 因子体检31.4
第三步 自检与容量8.6
第三步 记账与 DSR0.1
第四步 测试段11.1