第 4 章 · 01 线性模型 GLM 与逻辑回归 本节摘要:本章进入 AI 选股的第一站——传统机器学习。本节从最基础也是最重要的广义线性模型 GLM讲起,核心是线性回归(用于预测收益)与逻辑回归(用于预测涨跌分类)。线性模型看似简单,却是机器学习选股的不可替代基线:它的系数可解释(每个因子贡献多少)、训练快、过拟合风险低,华泰人工智能系列第 2 篇正是用 GLM 作为整套 AI 选股体系的基准。本节讲清两件事:一是标签怎么打(回归用连续收益、分类用涨跌二分类)、特征怎么处理(标准化、中性化);二是线性模型的系数可解释性——它本身就是一种「自动化的因子合成」。读完本节,你掌握 AI 选股的标准基线,为后续 SVM、随机森林、Boosting 提供对比基准。
本节摘要:本章进入 AI 选股的第一站——传统机器学习。本节从最基础也是最重要的广义线性模型 GLM讲起,核心是线性回归(用于预测收益)与逻辑回归(用于预测涨跌分类)。线性模型看似简单,却是机器学习选股的不可替代基线:它的系数可解释(每个因子贡献多少)、训练快、过拟合风险低,华泰人工智能系列第 2 篇正是用 GLM 作为整套 AI 选股体系的基准。本节讲清两件事:一是标签怎么打(回归用连续收益、分类用涨跌二分类)、特征怎么处理(标准化、中性化);二是线性模型的系数可解释性——它本身就是一种「自动化的因子合成」。读完本节,你掌握 AI 选股的标准基线,为后续 SVM、随机森林、Boosting 提供对比基准。
内容来源:仓库研报 华泰人工智能系列第 2 篇(广义线性模型),知识结构化整理。
⚠️ 学习提示:不要因为「线性」就轻视它。华泰 AI 2 的实证显示,在很多场景下线性模型的样本外表现接近甚至超过复杂模型——这是金融低信噪比场景下「简单稳健」的胜利。
阅读完本节,你应当能够:
进入本章前,先厘清机器学习选股的范式。与第 2 章手工因子不同,机器学习把「因子→收益」的映射交给模型学:
关键要素:
💡 核心心法:机器学习选股的本质,就是让模型自动学习第 2 章里人工设计的「因子合成」。线性模型是这套流程的最简版本,后续模型都是它的扩展。
标签 Y 的设计是机器学习选股的第一步,分两种思路:
Y = 未来 N 日涨跌幅(连续值,如 +3.5%、-1.2%)
直接预测收益的大小,用线性回归等连续模型。优点是信息量大(用到了收益的幅度),缺点是噪声大、对极值敏感。
Y = 0 或 1(0=跌,1=涨) 或者 Y = 0/1/2(三分类:跌/平/涨)
把收益离散化,预测涨跌方向。逻辑回归是分类任务的标准模型。优点是抗噪声(只关心方向)、与选股逻辑契合(分组就是按概率排序),缺点是损失了幅度信息。
华泰 AI 系列两种都用,但分类任务(尤其是二分类)更常见——因为它与「选前 N% 买入」的实战逻辑直接对应,而且抗噪声。
⚠️ 学习提示:标签设计里最大的陷阱是未来函数——计算「未来 N 日收益」必须用
shift(-N)(第 3 章第 04 节详讲),绝不能在训练时让模型看到当前时点的未来。打标签的代码必须严格审查。
线性回归假设 Y 是 X 的线性组合:
Y = β0 + β1·X1 + β2·X2 + ... + βN·XN + ε
训练目标:最小化残差平方和(MSE):
min sum( (Y - Ŷ)^2 )
这就是普通最小二乘 OLS。在选股场景,每个截面跑一次回归,β 就是「当期各因子的边际收益」——这与第 2 章因子合成里的「回归合成」完全是同一件事。
逻辑回归(Logistic Regression)虽然名字带「回归」,实际是二分类模型。它先算出一个线性得分,再用 sigmoid 函数压缩到 (0, 1) 区间,表示「正类概率」:
得分 z = β0 + β1·X1 + ... + βN·XN 概率 p = 1 / (1 + exp(-z)) (sigmoid) 预测:若 p > 0.5 判正类(涨),否则负类(跌)
训练目标:最大化对数似然(等价于最小化 log-loss):
max sum( y·log(p) + (1-y)·log(1-p) )
逻辑回归在选股里的用法:
💡 核心心法:逻辑回归输出的是「概率」,而非二元结论。实战中我们不直接用 0.5 阈值,而是按概率排序选前 20%——这与第 2 章分组选股的逻辑一致,只是分组依据从因子值变成了模型预测概率。
线性模型最大的优势是系数可解释——每个 βi 直接告诉你「这个因子贡献多少」:
这等价于第 2 章讲的「截面回归合成」——线性模型本身就是一种自动化的因子合成,而且每个时点的 β 都反映当期因子的相对重要性。
| 模型 | 可解释性 | 备注 |
|---|---|---|
| 线性/逻辑回归 | 极高(直接看系数) | AI 选股基线 |
| SVM(线性核) | 高 | 系数可看 |
| 决策树/随机森林 | 中(特征重要性) | 第 03 节 |
| Boosting | 中(特征重要性) | 第 04 节 |
| 神经网络 | 低(黑箱) | 第 5 章 |
可解释性在量化里至关重要——研报要解释、风控要审计、策略失效时要排查,线性模型的可解释性是它不可替代的优势。
OLS 与逻辑回归在因子多、因子相关时容易过拟合(系数估计波动大)。正则化通过给系数加约束来控制:
在损失函数里加「系数平方和」惩罚项:
min MSE + λ · sum(β^2)
L2 让所有系数整体缩小,但不会变成零。λ 越大,收缩越强。Ridge 适合因子之间相关性高的场景(多重共线性),它能稳定系数估计。
加「系数绝对值」惩罚项:
min MSE + λ · sum(|β|)
L1 的特点是会把不重要的因子系数压到精确的零——即自动特征选择。Lasso 适合因子多但只有少数有效的场景,它帮你挑出真正有用的因子。
两者结合,既有 L1 的稀疏性,又有 L2 的稳定性。
💡 关键观察:正则化强度 λ 是关键超参,要用时序交叉验证来选(第 04 节详讲)。λ 太小等于没正则化(过拟合),λ 太大模型欠拟合(预测力被压没)。
华泰 AI 系列把 GLM 作为整套 AI 选股的基准,理由:
⚠️ 学习提示:很多初学者一上来就用 XGBoost 或神经网络,跳过线性基线,这是错的。先跑线性回归看 IC/IR,再上复杂模型比较——这是工业级机器学习选股的标准流程。复杂模型的价值不是「更准」,而是「能学到非线性」,但只有当线性模型漏掉的非线性足够多,复杂模型才值得。
实际用 sklearn 跑线性/逻辑回归的几个要点:
from sklearn.linear_model import LinearRegression, LogisticRegression, Ridge, Lasso # 回归任务:预测未来 N 日收益 model = LinearRegression() model.fit(X_train, Y_train) Y_pred = model.predict(X_test) # 分类任务:预测涨跌 clf = LogisticRegression(penalty='l2', C=1.0) # C 是 1/λ,C 越小正则越强 clf.fit(X_train, Y_train) prob = clf.predict_proba(X_test)[:, 1] # 取正类概率
几个工程细节:
class_weight='balanced'。下一节,我们看如何让线性模型处理非线性分类——支持向量机 SVM 与它的核技巧。