01学完这一课,你能做到什么
学完这一课,你应该能:
- 把股票收益整理成矩阵,并说明中心化沿哪个轴进行;
- 计算奇异值平方占比,区分方差解释和未来预测;
- 用载荷、相关和滚动稳定性提出或拒绝潜在的经济解释;
- 计算低秩重构残差,知道残差不自动等于阿尔法;
- 比较特征降维、特征选择和独立验证,避免把 SVD 结果直接当成交易信号。
这节课的主线是“分解—解释—验证”。SVD 先提供统计方向,经济含义需要额外证据。
一句话记住统计方向要经过证据,才可能成为经济解释。
02从重构到金融收益矩阵
上一课的低秩重构可以写成 A=UΣVᵀ。保留前两项时,U、Σ、Vᵀ 的乘积形状仍要回到原矩阵。例如一个 6×5 矩阵保留两项,三个部分可以是 6×2、2×2、2×5,乘积仍为 6×5;重构值可能从 1 变成 1.41、从 5 变成 5.18,这些差异就是丢掉的信息。
金融里可以设 R 的行是股票,列是交易日,R_i,t 是第 i 只股票在第 t 天的收益。16 只股票、722 个交易日会形成 16×722 的矩阵;300 只股票、约三年数据则大约是 300×750。股票池、时间范围和行业构成变化,都会改变分解结果,不能把一个小样本的结论当成整个市场事实。
传统三因子模型先指定市场、规模、价值等经济因子,再估计资产暴露。SVD 从数据里寻找正交的统计方向,不会先给它们经济名字。两者都可以降到三个维度,但不是同一种模型。
先有经济定义
先指定市场、规模、价值等因子,再估计暴露。
先找统计方向
从数据中寻找正交方向,再检查能否提出经济解释。
一句话记住同样降到三维,不代表模型含义相同。
03中心化:先说清楚减的是哪种均值
如果行是股票、列是时间,“去均值”至少有两种常见做法:
- 按行减均值:每只股票减去自身跨时间的长期平均收益,分析它围绕自身均值的共同波动;
- 按列减均值:每个交易日减去股票池当天的平均收益,去掉一部分当日共同涨跌,更关注相对表现。
这两种中心化不是一回事。特别是你想把第一方向解释为整体市场时,如果已经减掉了每天的共同收益,解释会发生变化。实验记录里要写明 axis、是否进一步除以波动率,以及拟合样本范围。
收益矩阵还要统一、交易日和缺失规则。停牌和跨市场假日不应未经说明就当作普通 0 收益。用收益而不是价格,通常更适合比较变化;但收益口径本身也要保持一致。
收益协方差分解更容易受到高波动股票影响;标准化后研究相关结构,权重会不同。两者都能研究,但不能把结果混在一起比较。
围绕各自长期均值
每只股票减自己的跨时间均值。
围绕当日横截面均值
每个交易日减股票池当天平均收益。
一句话记住不写 axis,就无法复现中心化口径。
04奇异值比例:解释变化,不是预测准确率
对中心化后的矩阵,常用下面的比例衡量第 k 个方向的能量贡献:
p_k = σ_k² ÷ Σ_jσ_j²
σ_k 是第 k 个奇异值。前 K 项累计占比可以辅助选择保留维度。比如某个样本里,第一奇异值约 1.4629、第一项解释约 40.7%,前六项约 82%,前九或十项约 90%。这些数字属于特定样本的观察,换股票池和区间后需要重新计算。
最多能有 min(16,722)=16 个方向,非零秩还可能更小。解释了 80% 的方差,意思是重构保留了该样本大部分变化,不是“预测准确率 80%”,也不是“保留了 80% 的利润机会”。较弱方向可能携带风险或预测信息。
pₖ = σₖ² ÷ Σⱼσⱼ²
它描述样本矩阵变化的贡献,不等于预测准确率。
一句话记住方差解释高,不等于预测效果高。
05怎样为潜在因子提出经济解释
U 可以表示股票在统计方向上的载荷,ΣVᵀ 可以作为相应因子时间序列的一种约定。缩放如何分配到两侧,必须固定后才能比较载荷大小。
还要注意 SVD 的符号任意性:某一列载荷和对应的因子时间序列同时乘以 −1,重构完全不变。因此,正负颜色本身不能直接解释为看涨或看跌。
市场共同波动
如果第一列多数股票载荷同号,而且对应时间序列与基准收益高度相关,可以提出“市场共同波动”的假设。示意载荷可能在 0.15—0.32,首项比例可能在 35%—45%,但这不是普遍标准。股票池集中在一个行业时,第一方向也可能只是行业共同波动。要对照沪深300、行业等权组合、不同股票池和不同时间段。
行业或风格分化
如果食品饮料、银行一侧为正,新能源、科技一侧为负,可以提出行业或风格分化解释。示意相关可能是 +0.6、+0.3、−0.4,但相关只是线索。它不直接证明资金从一个行业流向另一个行业,也不能把第二方向永远命名为“轮动”。
动量、反转、波动和规模
可以把因子时间序列与前期涨跌、已知组合、波动率、对数和行业收益分别比较。20 日内正自相关可能提示持续性,负自相关可能提示反转倾向;相关系数超过 0.7 也不自动等于统计显著。第四方向同时混合行业、规模和波动时,应分别检验,不能把多种原因合成一个确定结论。
AI 可以帮助整理载荷表、相关矩阵和支持/反证清单,但不能凭走势图编造主力行为。无法命名时,保留“潜在因子2”比硬贴标签更诚实。
- 1载荷哪些股票同向
- 2相关对照基准和已知因子
- 3替代解释行业、规模、波动
- 4滚动检验跨时期是否稳定
一句话记住能提出解释,不等于已经证明解释。
06滚动监测市场结构
可以用 120 个交易日的窗口,每 20 个交易日向前移动一次,记录第一方向的解释比例。研究时可以暂时用大于 50%、30%—50%、低于 30% 作为“共同结构较强、中等、较弱”的观察分档。
这些阈值是研究规则,不是普适的市场状态标签。比例升高可能来自少数极端交易日,也可能来自股票池变化。窗口之间高度重叠,曲线自然会连续,连续性本身不能证明有预测能力。
比较跨期载荷时,还要处理符号翻转和相近奇异值造成的方向交换。否则图上的突变可能只是分解表示换了方向。只看第一项比例能绕开一部分符号问题,但解决不了样本构成变化。
- 1选窗口120 日
- 2按步移动每 20 日
- 3算解释比例统一中心化口径
- 4检查变化来源极端日、股票池、符号
一句话记住滚动曲线平滑,不等于预测能力稳定。
07残差寻找未解释结构
用前 K 个方向重构 R_K,残差是:
E = R − R_K
对每只股票,可以计算残差平方和占原中心化收益平方和的比例。比如保留前五个方向时,某只海外 的残差比例可能约 98%,这说明这套股票池的共同方向很难解释它,不等于它“有 98% 的阿尔法”。时区、假日、汇率和 ETF 折溢价都可能影响结果。
残差比例高,可能代表噪声、数据错误、遗漏的系统风险或真实个股事件;残差比例低,也不等于收益更高。可以把低于 30%、30%—50%、高于 50% 作为“共同解释较高、中等、较低”的探索分档,但不要直接把任何一档命名为可赚的阿尔法。
如果要谈预测或交易,必须继续做、成本和分析。残差只是尚未被当前低秩结构解释的部分。
E = R − R_K
残差未被当前 K 个方向解释,不自动等于阿尔法。
一句话记住未解释不等于可交易。
08把 52 个特征压成 8 个成分
另一个任务是把样本×特征矩阵降维。对处理后的 52 列因子,可以在训练期选择解释约 80% 方差的 8 个成分,再送入 XGBoost。一个示意结果是 AUC 约从 0.5423 变为 0.5412,差异很小;这类数字依赖数据和切分,不能外推成通用结论。
8 个成分是 52 列原始特征的线性组合,不是自动挑出 8 个原始因子。相关系数超过 0.8 时人工保留其中一列,是特征选择;SVD 是特征变换。前者更容易解释,后者可能更紧凑,但两者都要在独立验证中比较。
降维器只能在训练期拟合,验证集和测试集使用同一个已拟合的变换。如果先用全数据做 SVD,再切分训练和测试,就把未来分布泄漏进了训练流程。方差高不保证预测好,低方差信号也可能有价值,因此 K 要通过验证选择。
财报、新闻量、海外市场和商品特征也可以形成矩阵,但必须先定义频率、公告时间、单位和缺失处理。文本不能直接塞进数字矩阵,需要先转成可验证的数值表示。
一句话记住降维器只能在训练期拟合。
4 道小题
全部答对,这一课就算真正读懂了。答错了会告诉你为什么。
这一课,浓缩成一张卡
学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。
先固定矩阵和中心化口径,再用载荷、相关、滚动稳定性、残差和样本外表现检验解释。
- 方差不等于预测
- 符号可以翻转
- 残差不等于阿尔法
记住这 5 句话
- 01SVD 从收益矩阵寻找统计方向,传统因子模型则先指定经济因子,二者不能因为维度相同就混为一谈。
- 02中心化必须写清按行还是按列;复权、交易日、缺失和是否标准化也要固定记录。
- 03奇异值平方占比解释样本变化,不等于预测准确率、收益比例或利润机会;符号同时翻转时重构不变。
- 04滚动解释比例、载荷相关和残差可以帮助检验假设,但阈值、样本和股票池变化都可能改变结论。
- 0552→8 是特征变换,不是自动挑出八个原始因子;降维只能在训练期拟合,效果必须样本外验证。
完成这一课
读完讲义、答对小题,这一课就算学完了。
- 读完讲义
- 通过随堂自测
实验数据AI+金融投资训练营教学样本。固定教学样本
固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。