一个模型 IC 更高,就一定比另一个模型更好吗?

截面收益预测案例

约 10 分钟1 个动手实验4 道小题

学完你能说清楚只有统一股票池、标签、时间和评估口径,模型对比才公平。

01学完这一课,你能做到什么

学完这一课,你应该能:

  1. 按训练、预测、评估的顺序组织一次截面预测实验;
  2. 区分稳健 Z-score、MAD 缩尾和普通标准化;
  3. 检查数据范围、缺失、预热窗口和标签成熟时间;
  4. 解释为什么 50 只股票上的 XGBoost 不能直接证明胜过 300 只股票上的复杂模型;
  5. 用统一条件判断一组模型对比是否公平,并把 和交易结果分开看。

本课的核心不是追一个漂亮结果,而是知道结果在什么条件下才可以比较。

一次可复查的截面预测实验
  1. 1数据检查股票、日期、因子、缺失
  2. 2稳健处理只用允许的信息拟合
  3. 3滚动训练按时间向前推进
  4. 4截面评估IC、Rank IC、稳定性
  5. 5交易核对成本、流动性、执行

一句话记住比较模型前,先比较实验条件。

02三组实验分别回答什么

可以把案例拆成三组不同问题:

  • 用 10 只股票和 52 个检查数据分布、缺失与预处理;
  • 用公开数据流程计算每天的截面预测指标;
  • 用自选 50 只股票和 52 个因子训练简化的 XGBoost,预测未来 5 日相对收益。

三组实验的股票池、日期、特征和模型不同,所以它们是方法练习,不是同一场比赛。数据集是输入材料,模型参数是训练后的结果,预测结果是模型对指定样本的输出,三者不能混成一个文件或一个结论。

标准顺序是:先确定输入特征 X 和未来标签 Y;再用训练集拟合处理器和模型;参数固定后预测未见数据;最后将预测和已经实现的标签比较。训练结束前不能偷看测试期标签。

三个对象不要混用
数据集

输入材料

包含特征、标签和分割信息。

模型与预测

学习后的结果

参数和输出都要绑定样本、时间与版本。

一句话记住数据、模型参数、预测输出是三种东西。

03稳健标准化:先处理极端值,再统一尺度

普通 Z-score 以均值为中心、标准差为尺度。遇到极端值时,均值和标准差可能被拉动。稳健 Z-score 改用中位数和 MAD(中位数绝对偏差,表示数据离中位数有多远)来降低极端值的影响。

MAD = median(|xᵢ − m|)

其中 m 是中位数。稳健尺度常写为:

s = 1.4826 × MAD

稳健分数是:

zᵢ = (xᵢ − m) ÷ s

假设某个值减中位数后为 30,MAD=15,则稳健尺度为 1.4826×15=22.239,稳健分数约为 30÷22.239≈1.35。实际例子若缺少完整数组,不能只凭一个数字复算全部过程。

如果按规则把分数截到 [-3,3],某点原分数为 6.63,处理后就是 3。截断会把更大的极端值合并,可能改变树模型的切分,所以也要记录截断数量。MAD 或标准差为 0 时,要提前定义回退策略。

两条处理链的中心不同
普通 Z-score

均值和标准差

适合分布较稳定的情况,极端值可能影响中心和尺度。

稳健 Z-score

中位数和 MAD

对极端值更不敏感,但不保证均值变成 0。

稳健 Z-score

zᵢ = (xᵢ − median) ÷ (1.4826 × MAD)

之后是否截到 [-3,3],必须写进处理规则。

一句话记住标准化先写清中心、尺度和截断。

04先验证十只股票的数据

打开数据后,先打印日期范围、股票代码、重复行、每只股票的记录数、因子列数和缺失比例。再看处理前后的分位数、最小值、最大值、中位数、均值、标准差和截断数量。

52 个指标可能包含较长预热窗口。例如 60 日指标在样本开始阶段没有足够历史,不能强行填成有效值。随机抽几个日期手算或位置,用来检查程序是不是读错列或错位。

如果模型报“数据不连续”,先定位具体股票和日期,再区分正常休市、停牌、采集遗漏与索引错误。不要把所有日期强行补齐;补值规则本身也会影响模型。

数据检查顺序
  1. 1结构日期、股票、重复行
  2. 2因子52 列与预热窗口
  3. 3缺失正常休市还是采集问题
  4. 4手算抽查动量、布林带位置
  5. 5处理前后对比分位数与截断数量

一句话记住先定位缺失原因,不要一律补齐。

05数据包和模型权重:加载前先确认类型

一组目录里可能有 CSI300 和 CSI800 的训练、验证、测试文件,合计约 2GB。文件名或说明如果把它们称作“权重”,也不能直接相信。

加载前要检查每个文件的对象类型和内容:它可能是数据集、处理器统计量,或真正的模型检查点。六个数据分割文件不自动等于已经训练好的模型。如果确实有权重,还要核对网络结构、特征顺序、训练区间和所需预处理。

路径要遵守项目配置,不要把文件随意放在根目录后假设程序能找到。序列化文件来源和完整性必须记录;不要从不可信来源直接反序列化 PKL。

一句话记住文件后缀和名称不能证明文件内容。

06每天计算截面 IC 和 Rank IC

对交易日 t 的每只可评估股票生成预测,再取得对应的未来 5 日标签,才能计算当天的截面相关。

Pearson IC 衡量预测数值和真实收益的线性相关;Spearman Rank IC 衡量预测排序和真实排序的相关。两者回答不同问题,程序变量名也要分开。

不能把所有日期和所有股票混在一起算一个相关,就称它为截面指标。应按交易日分别聚合,再报告 IC 均值、标准差、、有效股票数和缺失日期。某次运行得到约 0.06、经验观察线约 0.05,只能作为该次配置下的结果;没有随机种子、原表和多次运行,就不能宣称稳定复现。

两个相关指标
Pearson IC

数值相关

预测分数和真实收益的线性关系。

Rank IC

排序相关

预测排名和真实排名的关系。

一句话记住IC 是预测评价,不是账户收益。

动手试试

哪一组模型对比是公平的

比较股票池、日期、标签、预处理和样本外划分,判断实验结论能否直接对照。

SCENARIO JUDGE

请判断这组模型对比是否公平,并说明哪些实验条件必须统一。

第 1 / 8 张
情景 01

同一股票池的基线与 XGBoost

两套模型都使用同一批股票、同一段训练与样本外日期、同一个未来 5 日标签和同一套缺失处理。A 是线性基线,B 是 XGBoost,按交易日分别计算 IC 和 Rank IC。

07用 50 只股票建立滚动 XGBoost

简化实验可以用 2023—2025 年、50 只跨行业股票、52 个因子和 120 个交易日滚动训练窗口,预测随后 5 日的收益或截面标准化标签。目标究竟用 Z-score 还是百分位,必须先固定,不能一会儿换一种。

如果每只股票约有 722 根日 K,未扣预热和缺失时,股票—日期行数约为:

样本行数 = 股票数 × 日期数 = 50 × 722 = 36,100 行

这表示约 36,100 个股票—日期样本,不是只有 50 个训练样本。实际有效行数要在过滤后打印。

滚动训练时,训练窗口末尾必须排除尚未成熟的未来 5 日标签。每次保存训练起止、有效股票池、处理器、模型、预测日期和测试标签。股票池如果用今天的代表公司倒推三年前,还会有或选择偏差。

20 日动量、布林带位置、RSI 与布林带交互、RSI14、多头排列和 差值等可以作为观察对象,但它们在一个样本里重要,不等于在所有市场都是最佳因子。单因子 IC 和模型重要性也要分开报告。

滚动训练的一次循环
  1. 1过去 120 日训练窗口
  2. 2拟合处理器与模型只用训练信息
  3. 3向前预测固定参数
  4. 4等待标签成熟未来 5 日走完
  5. 5按日期评估IC 与 Rank IC

一句话记住滚动窗口要等未来标签成熟。

08怎样才算公平的模型对比

公平比较至少要统一:股票池、日期范围、预测标签、数据处理信息范围、划分、评估指标和缺失处理。还要记录计算成本、训练时间、内存、和。

50 只股票的 XGBoost 和 300 只股票的复杂模型,如果股票池、时间、标签或预处理不同,就不能直接排成能力排行榜。较高 IC 可能来自更集中的股票池、不同的数据质量、标签定义或偶然性。小股票池不一定更容易预测,只是条件变了。

树模型能自动学习一部分条件交互,但人工特征工程仍可能把有用结构明确表达出来;神经网络端到端学习,也不代表数据设计可以省略。复杂模型如果没有可重复增量,保留简单方案很合理;有增量也要确认它覆盖工程和交易成本。

预测 IC 高不等于账户净收益高。还要考虑真实最小价位单位、敏感性、成交量、参与率、拆单、T+1、、停牌和未成交。先把一个可复查的工具跑稳,再增加模型复杂度。

公平比较的检查清单
输入

股票池与日期

两边使用同样的股票范围和时间切分。

目标

标签与处理

预测期限、标准化和缺失规则一致。

输出

指标与成本

同一评估口径,并把交易成本单独核对。

一句话记住条件不一致,结果就不能直接排高低。

检验
检验一下

4 道小题

全部答对,这一课就算真正读懂了。答错了会告诉你为什么。

01哪一种对比最接近公平?
02MAD 的作用是什么?
03IC 约 0.06 最准确的理解是什么?
0450 只股票、约 722 个交易日,未过滤前大约有多少股票—日期行?
知识卡

这一课,浓缩成一张卡

学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。

AI+金融投资训练营 · 截面收益预测案例判断模型对比是否公平,先看哪几件事?

先核对股票池、日期、标签、预处理、样本外划分和评估指标是否一致。

  • 标签口径要统一
  • 按日期算 IC
  • 预测不等于收益
quant.jtxaionline.com
这一课的要点

记住这 5 句话

  1. 01数据、模型参数和预测输出要分开;训练、预测、评估按时间顺序执行。
  2. 02稳健 Z-score 用中位数和 MAD,是否截断以及零尺度回退都要预先定义。
  3. 03IC 与 Rank IC 应按交易日计算和聚合,IC 高不等于账户净收益高。
  4. 0450 只股票上的 XGBoost 与 300 只股票上的复杂模型,条件不同就不能直接比较。
  5. 05公平比较要统一股票池、日期、标签、预处理、样本外划分和指标,再核对成本与执行。
完成这一课

完成这一课

读完讲义、动手做一次实验、答对小题,这一课就算学完了。

  • 读完讲义
  • 完成一次公平模型对比判断
  • 通过随堂自测

实验数据AI+金融投资训练营教学样本。固定教学样本

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。