Logistic Regression 技术文档
逻辑回归(Logistic Regression)是量化金融中最基础且最可解释的分类模型,常用于 A 股二分类涨跌预测,以及多分类市场状态判别。
模型简介
逻辑回归通过 sigmoid 函数将线性输出映射为概率:
$$P(y=1|X) = \sigma(Xw + w_0) = \frac{1}{1 + e^{-(Xw+w_0)}}$$
带 L2 正则化的目标函数:
$$\min_{w,b} \frac{1}{2}w^Tw + C \sum_{i=1}^{n} \log\left(e^{-y_i(X_i^Tw+b)} + 1\right)$$
支持 L1(Lasso)、L2(Ridge)、ElasticNet 三种正则化方式。
在 A 股量化策略中的应用
1. 二分类涨跌预测
以次日涨跌(1/-1)为标签,输入技术指标、财务因子,predict_proba 输出上涨概率作为个股打分排名依据。模型系数可直接解读为各因子权重。
2. L1 正则因子自动选择
使用 penalty='l1' 配合 solver='liblinear',在数百因子中自动筛选非零系数因子,实现稀疏化选股因子组合。适合因子库过大时的降维。
3. 市场状态分类
以极端行情、政策事件作为多分类标签,训练多分类逻辑回归,识别市场所处状态,配合仓位管理模块使用。
核心参数(金融应用推荐)
| 参数 | 说明 | 推荐值 |
|---|---|---|
C | 正则化强度倒数(小=强正则) | 0.01–10 |
penalty | 正则化类型 | 'l2'(稳定)/ 'l1'(稀疏) |
solver | 求解器 | 'lbfgs'(L2)/ 'liblinear'(L1) |
max_iter | 最大迭代次数 | 500–1000 |
class_weight | 不平衡处理 | 'balanced' |
multi_class | 多分类策略 | 'ovr' / 'multinomial' |
求解器对照表
| 求解器 | L1 | L2 | 大规模数据 |
|---|---|---|---|
liblinear | ✅ | ✅ | 一般 |
lbfgs | ❌ | ✅ | 好 |
saga | ✅ | ✅ | 最大规模 |
性能特点
优势:
- 系数直接对应因子权重,策略可解释性最强
- L1 正则产生稀疏解,天然做因子筛选
- 训练速度极快,适合日频滚动训练
- 输出概率分数,可直接用于仓位大小控制
劣势:
- 线性决策边界,难以捕捉非线性因子关系
- 对特征尺度敏感,需先对因子做归一化(Z-score 标准化)
