01学完这一课,你能做到什么
一张表可能同时包含价格、、估值和财务数据。它们的单位不同,极端值的影响也不同。直接把原始列送进模型,模型可能学到单位差异、异常记录或行业暴露,而不是你想研究的关系。
学完这一课,你应该能:
- 按固定顺序完成因子处理,并记录每一步配置;
- 用 MAD 缩尾极端值,解释为什么是截断而不是删除整行;
- 用 Z-score 统一尺度,区分横截面处理和时间序列处理;
- 用行业和规模回归得到残差,理解去掉了什么;
- 在训练集内识别冗余特征,并留下可复核的处理前后统计。
这套流程改善的是数据条件,不会凭空制造预测规律。
- 1核对数据日期、缺失、可用时间
- 2去极值限制异常影响
- 3中性化控制行业和规模暴露
- 4标准化统一比较尺度
- 5删冗余减少重复信息
- 6训练模型只用当时可见数据
一句话记住处理顺序固定,参数可追溯。
02先固定处理顺序和时间边界
一个可解释的教学顺序是:核对数据 → → 行业与规模中性化 → 对残差标准化 → 筛选冗余 → 训练模型。不同项目可以有不同顺序,但必须提前写明,不能每次实验暗中改变。
每天的横截面处理,只能使用当天真正可见的股票和数据。比如在某个交易日计算因子,不能把后来才公布的财报提前填进去。跨时间估计的均值、标准差或回归系数,也只能用训练区间拟合,验证和测试阶段沿用已经保存的参数。
处理前先做四项检查:
- 日期是否排序,是否有重复记录;
- 股票和行业标识是否一致;
- 缺失值到底是缺失,还是确实为零;
- 基本面数据的披露时间是否早于决策时间。
正常的极端行情是风险的一部分,不能为了让分布好看就删掉整天或整只股票。每一步都应保存样本数、参数、缺失数量和输出统计。
去极值
极端值是否把尺度和回归结果拉偏?
中性化
因子结果是否主要来自行业或规模?
标准化
不同量纲能不能放在一起比较?
删冗余
多个特征是否在重复表达同一件事?
一句话记住先检查可用时间,再讨论算法。
03MAD:用稳健尺度处理极端值
均值和标准差容易被极端值拉动。假设一列因子是 1、2、3、4、100。均值是 22,样本标准差约为 43.6。用均值加减三倍标准差,仍可能把 100 留在范围里。
MAD 是中位数绝对离差,计算分三步:
- 先找中位数 m。这里 m=3;
- 计算每项到中位数的绝对偏差:2、1、0、1、97;
- 再取这些绝对偏差的中位数,所以 MAD=1。
在正态分布参考下,1.4826×MAD 可以作为稳健尺度估计。若缩尾倍数 k=5,边界为:
下边界 = m − k×1.4826×MAD = 3 − 5×1.4826×1 ≈ −4.41上边界 = m + k×1.4826×MAD = 3 + 5×1.4826×1 ≈ 10.41
因此 100 会被截到约 10.41。这里是保留这条股票记录、只修改该列的值,不是删除整行。实验里把 k 调到 3 以下,可以看到 100 被截断;调回 5,边界约为 −4.41 到 10.41。
k 是待验证参数,不是固定真理。1.4826 只是正态参考下的尺度换算,不能据此说金融数据一定服从正态分布。三倍标准差覆盖约 99.7% 也只在相应分布条件下成立。
如果 MAD=0,不能除以零,也不能把不同数值强行截到同一点。可以按事先规则保留原值并标记、改用其他稳健尺度,或移除没有区分度的列。
边界 = 中位数 ± k × 1.4826 × MAD
1、2、3、4、100,k=5 时约为 −4.41 到 10.41。
一句话记住缩尾改数值,不删除整行。
MAD 参数探索
调节 MAD 倍数 k,观察极端值缩尾边界、被截断数量和处理后样本分布。
调节 MAD 倍数 k,观察极端值如何被缩尾
教学样本包含 1、2、3、4、100 及扩展值;数字只用于理解 MAD 缩尾机制。
04Z-score:统一尺度,不改变分布形状
的范围常在 0 到 100, 的绝对值可能很小。直接把两列相加,单位较大的列可能影响更大。Z-score 把每个值改写成“离本组均值多少个标准差”。
公式是:
z_i = (x_i − μ) ÷ σ
假设一组数的均值 μ=10、标准差 σ=2,某个值 x_i=14:
z_i = (14−10) ÷ 2 = 2
它表示这个值高于该组均值 2 个标准差。z 接近 0 表示接近均值,正值在均值上方,负值在均值下方。对这组处理过的数据,均值通常接近 0,标准差通常接近 1。
标准化不会把任意分布自动变成正态分布。它也不会消除缺失值,更不会自动修复未来数据泄漏。要区分两种口径:
- 同一天多只股票的横截面标准化,回答谁在当天相对更高或更低;
- 同一只股票跨日期的时间序列标准化,回答今天相对它自己的历史位置。
如果标准差 σ=0,这一列没有区分度,不能直接相除,应按预先规则处理。训练阶段拟合出的 μ 和 σ 要保存,后续验证、测试和新数据沿用,不能把测试期重新算进去。
今天谁更高
同一天比较多只股票,适合做相对排名。
今天处在什么位置
一只股票跨日期比较,适合观察自身历史偏离。
一句话记住Z-score 统一尺度,不保证正态。
05中性化:把共同暴露从因子里拆出来
银行和科技公司的经营结构不同,、 的常见水平也可能不同。只按低 PB 排名,结果可能主要是在买银行或小盘股,而不是在行业和规模相近的公司里寻找相对便宜。
原始因子可以写成一个横截面回归:
BP_i = β0 + 行业贡献_i + β_size×规模特征_i + 残差_i
这里 BP 是 PB 的倒数,代表账面价值与的比值。规模特征可以选对数市值,但必须把具体定义写进配置。行业通常用类别虚拟变量表示。
假设某股票的模型预期 BP 是 0.8,实际 BP 是 0.7:
残差 = 实际值 − 预测值 = 0.7 − 0.8 = −0.1
在这个回归口径下,负残差表示 BP 比行业和规模模型预期更低,也就是相对更贵;正残差表示比预期更高。残差只是去除了模型覆盖的共同成分,不等于提取出纯粹因果意义上的 。
几个示例:大银行 A 预期 0.8、实际 0.8,残差为 0;大银行 B 预期 0.8、实际 0.7,残差为 −0.1;小银行预期 1.0、实际 0.9,残差也为 −0.1。小银行的绝对 BP 更高,却仍然低于它自己的模型预期。
中性化会降低简单估值排名的行业集中,但如果研究目标本来就是行业轮动,把行业暴露全部去掉可能损害研究目标。先写清楚要研究什么,再决定控制哪些变量。
残差 = 实际因子值 − 行业与规模模型预测值
实际 0.7、预测 0.8,残差为 −0.1。
一句话记住中性化去暴露,不等于得到因果 alpha。
06减少冗余:别让重复因子制造虚假信心
多个窗口、距离和技术指标,可能高度相关。它们不是完全相同,但如果把一组相近变量都放进模型,模型会获得很多看似不同、实际重复的信息,参数也更不稳定。
一个示例是:从 52 个技术特征中识别出 24 个冗余特征,保留 28 个。这个数字只说明一次研究过程,不能变成所有数据都保留 28 项的固定规则。
筛选前要固定:
- 相关系数类型,是 Pearson、Spearman 还是其他方法;
- 相关阈值;
- 遇到一组高度相关特征时,按稳定性、缺失率、解释性还是训练期表现保留谁;
- 这些规则只在训练集内拟合。
不要用测试集收益决定删掉哪一列。删完以后,仍要在同一时间切分上比较未经处理的基准和处理后的版本。结果不能只看输入分布是否更漂亮,还要看表现、交易成本、和风险。
如果有五只股票、少数行业,行业和规模回归的自由度可能不足。小样本可以用来演示公式,但不能证明整套流程已经有效。建议导出每列处理前后的最小值、最大值、中位数、均值、标准差、缺失数和被截断数。
处理后更规整
均值、标准差和极值更容易比较。
样本外仍有效
还要统一区间、成本和交易规则比较。
一句话记住删冗余只能用训练信息做决定。
07验收:把处理过程变成可审计记录
完成下面的验收:
- 手算 1、2、3、4、100 的中位数、MAD 和 k=5 的边界,说明 100 为什么被截断而不是删除整行;
- 对两组量纲不同的数据计算 Z-score,检查排序是否保持;
- 构造实际 BP 和预测 BP,分别手算正、负、零三种残差;
- 对一列 MAD=0、标准差=0 和缺失值,写出明确处理规则;
- 保存一份基准流水线和一份完整处理流水线,用相同训练、验证、测试区间比较;
- 检查行业虚拟变量是否完全共线,确认所有处理参数只由训练期拟合;
- 导出处理前后的统计表,并记录被截断数量、样本数和每步配置。
完成标准不是“处理后的分布最漂亮”,而是你能回答:每一个值怎么变的、参数从哪里来、有没有使用未来数据、删掉的信息是否有依据。下一课才进入建模。
一句话记住每一步都要能复算、解释和回退。
4 道小题
全部答对,这一课就算真正读懂了。答错了会告诉你为什么。
这一课,浓缩成一张卡
学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。
固定时间边界和处理顺序,每一步都记录参数并能从处理前数据复算。
- 先检查可用时间
- MAD 缩尾不删行
- 测试集不能参与拟合
记住这 5 句话
- 01因子流水线要固定顺序,并把数据可用时间和处理参数记录下来。
- 02MAD 用中位数和绝对偏差抗极端值,缩尾修改数值而不是删除整行。
- 03Z-score 统一尺度,但不把任意分布变成正态,训练参数要保存复用。
- 04中性化通过行业和规模回归取残差,去除共同暴露不等于得到因果 alpha。
- 05冗余筛选只能使用训练信息,处理后的输入仍要用样本外结果和成本检验。
完成这一课
读完讲义、动手做一次实验、答对小题,这一课就算学完了。
- 读完讲义
- 完成一次 MAD 参数探索
- 通过随堂自测
实验数据AI+金融投资训练营教学样本。固定教学样本
固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。