监督学习在金融中的应用
概述
监督学习 (Supervised Learning) 是机器学习中最成熟、应用最广泛的范式之一。在金融领域,监督学习的核心任务可归纳为两类:回归 (Regression) 用于预测连续目标变量(如收益率),分类 (Classification) 用于预测离散标签(如违约/非违约)。本文从金融问题建模 (Problem Formulation) 出发,系统梳理常见算法及其在金融场景中的适配。
金融问题的形式化
给定特征矩阵 \(X \in \mathbb{R}^{N \times p}\) 和目标变量 \(y \in \mathbb{R}^N\)(回归)或 \(y \in \{0, 1\}^N\)(分类),监督学习的目标是学习映射 \(f: X \rightarrow y\),使得在未见数据上的泛化误差 (Generalization Error) 最小化:
其中 \(L\) 为损失函数 (Loss Function),\(\mathcal{D}\) 为数据生成分布。
金融数据的特殊性
金融数据具有低信噪比 (Low Signal-to-Noise Ratio)、非平稳性 (Non-stationarity)、截面相关性 (Cross-sectional Dependence) 等特点,直接套用传统机器学习方法往往效果不佳。问题建模阶段的设计比模型选择更为关键。
回归:收益率预测
线性回归 (Linear Regression) 是收益率预测的基线模型。假设资产 \(i\) 在时刻 \(t+1\) 的超额收益率 \(r_{i,t+1}\) 可由 \(p\) 个因子线性解释:
为防止过拟合 (Overfitting),通常引入正则化 (Regularization):
- Ridge 回归 (L2):\(\min_\beta \|y - X\beta\|_2^2 + \lambda \|\beta\|_2^2\)
- Lasso 回归 (L1):\(\min_\beta \|y - X\beta\|_2^2 + \lambda \|\beta\|_1\)
- Elastic Net:兼顾 L1 与 L2 正则化
from sklearn.linear_model import Ridge, Lasso, ElasticNet
# 收益率预测示例
model = ElasticNet(alpha=0.01, l1_ratio=0.5)
model.fit(X_train, y_train) # X: 因子矩阵, y: 下期收益率
y_pred = model.predict(X_test)
# 评估: IC (Information Coefficient)
from scipy.stats import spearmanr
ic, _ = spearmanr(y_pred, y_test)
Elastic Net 的金融直觉
L1 正则化实现因子筛选 (Factor Selection),L2 正则化缓解多重共线性 (Multicollinearity)。在因子数量远大于有效信号数量的金融场景中,Elastic Net 通常优于单一正则化方法。
分类:信用评分
信用评分 (Credit Scoring) 是分类任务的典型金融应用。目标变量 \(y \in \{0, 1\}\) 表示是否违约 (Default)。
逻辑回归 (Logistic Regression)
逻辑回归通过 Sigmoid 函数将线性输出映射到概率空间:
损失函数为交叉熵 (Cross-Entropy):
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score
model = LogisticRegression(
class_weight='balanced', # 处理类别不平衡
C=1.0, # 正则化强度的倒数
penalty='l2'
)
model.fit(X_train, y_train)
y_prob = model.predict_proba(X_test)[:, 1]
auc = roc_auc_score(y_test, y_prob)
支持向量机 (SVM)
SVM 通过最大化分类间隔 (Margin) 构建决策边界:
核技巧 (Kernel Trick) 使 SVM 能处理非线性可分问题。常用核函数包括 RBF 核 \(K(x_i, x_j) = \exp(-\gamma \|x_i - x_j\|^2)\) 和多项式核。
SVM 在金融中的适用场景
SVM 在小样本、高维特征空间中表现良好,适合信用评级迁移 (Rating Migration) 等样本有限的分类任务。但在大规模高频数据场景中,训练效率是瓶颈。
金融问题建模的关键要素
| 要素 | 回归任务 | 分类任务 |
|---|---|---|
| 目标变量 | 收益率、波动率、价差 | 违约、涨跌方向、评级 |
| 损失函数 | MSE、Huber Loss | Cross-Entropy、Focal Loss |
| 评估指标 | IC、ICIR、R² | AUC、KS、Precision-Recall |
| 常见陷阱 | 前视偏差、截面泄漏 | 类别不平衡、样本选择偏差 |
小结
监督学习为金融预测提供了系统化的框架,但成功的关键不在模型复杂度,而在于:(1) 合理的目标变量定义;(2) 严谨的训练/测试划分(时序不可随机切分);(3) 对金融数据特性的深刻理解。后续章节将深入探讨特征工程、模型评估与集成方法等进阶主题。