2. 机器学习基础

在量化选股中,我们面对的核心问题是:给定历史特征数据,预测股票未来的收益方向或幅度。这本质上是一个机器学习问题。XGBoost 与 LightGBM 都属于监督学习框架下的集成模型,因此在进入实战之前,必须先把监督学习、分类与回归、特征工程、评估指标以及过拟合等基础概念梳理清楚。这些概念不是理论装饰,而是决定模型能否在真实市场中稳定盈利的关键。

一、监督学习:量化选股的建模范式

监督学习的核心是“有标签学习”:我们提供一组输入特征 X 和对应的标签 y,模型学习从 X 到 y 的映射关系。在量化选股中,特征可以是估值、动量、波动率、财务质量等因子,标签则是未来一段时间的收益率或涨跌方向。

监督学习在量化中的典型流程如下:

  1. 定义标签:例如未来 5 日收益率是否为正,或未来 20 日超额收益的连续值。
  2. 构造特征:从行情、财务、另类数据中提取因子,并做标准化、中性化处理。
  3. 划分数据集:按时间顺序划分训练集、验证集和测试集,避免未来信息泄露。
  4. 训练模型:使用 XGBoost 或 LightGBM 拟合特征与标签的关系。
  5. 评估与调优:通过评估指标判断模型泛化能力,调整超参数。
  6. 生成信号:对最新截面数据打分,选出预期收益最高的股票组合。
量化选股中,标签的定义往往比模型选择更重要。标签周期、收益计算方式、是否剔除涨跌停和停牌,都会直接影响模型的学习目标。

二、分类与回归:两种预测目标

根据标签类型不同,监督学习分为分类与回归。分类预测离散类别,回归预测连续数值。在量化选股中,两者都有广泛应用。

任务类型 标签形式 量化场景 常用评估指标
二分类 涨/跌、跑赢/跑输 方向性选股、择时信号 AUC、准确率、精确率、召回率
多分类 强/中/弱收益分组 分层选股、行业轮动 多分类 LogLoss、混淆矩阵
回归 未来收益率连续值 收益预测、因子合成 MSE、MAE、IC、RankIC

分类模型输出概率,便于设置阈值控制交易频率;回归模型输出连续分数,更适合排序选股。实际项目中,常见做法是先用回归预测收益,再按分数排序取 TopN,或者将回归标签离散化后转为分类问题。

三、特征工程:决定模型上限的关键环节

在量化领域,特征工程的重要性往往超过模型本身。XGBoost 和 LightGBM 虽然能自动处理非线性关系,但无法凭空创造有效信息。特征工程主要包括以下步骤:

  • 缺失值处理:树模型可自动处理缺失,但仍需区分“真缺失”与“零值”。
  • 异常值处理:对极端收益、财务异常值做缩尾或分位数截断。
  • 标准化与中性化:消除量纲差异,剔除行业和市值暴露。
  • 特征交叉:如“动量 × 波动率”“估值 × 盈利质量”,增强非线性表达。
  • 时序特征:滚动均值、波动率、换手率变化等,捕捉动态信息。
  • 特征筛选:基于 IC、重要性、相关性剔除冗余和噪声特征。
# 示例:构造滚动动量与波动率特征
df['mom_20'] = df.groupby('stock')['close'].pct_change(20)
df['vol_20'] = df.groupby('stock')['ret'].rolling(20).std().reset_index(0, drop=True)
df['mom_vol_ratio'] = df['mom_20'] / (df['vol_20'] + 1e-6)
特征工程必须严格按时间滚动计算,任何使用未来数据的操作都会导致回测虚高,实盘失效。

四、模型评估指标与过拟合识别

模型评估不能只看训练集表现。量化选股中,常用指标包括 AUC、IC、RankIC、分组收益单调性等。AUC 衡量分类模型区分涨跌的能力,IC 衡量预测值与真实收益的相关性,RankIC 则关注排序能力。

过拟合是量化模型最大的敌人。典型表现为:训练集 AUC 很高,验证集 AUC 明显下降;回测收益曲线过于平滑;换手率异常低或异常高。欠拟合则表现为训练集和验证集表现都很差,模型没有学到有效规律。

模型复杂度与误差关系 模型复杂度 误差 最佳复杂度 训练误差 验证误差 泛化误差 欠拟合区 泛化较优区 过拟合区

控制过拟合的常见手段包括:限制树深度、增加正则化项、降低学习率、使用子采样、早停法以及交叉验证。XGBoost 的 max_depth、lambda、alpha,LightGBM 的 num_leaves、min_data_in_leaf,都是调节模型复杂度的关键参数。

在量化选股中,建议使用时间序列交叉验证而非随机 K 折,确保每一折的训练集都在验证集之前,模拟真实交易中的信息约束。

五、常见误区与复盘要点

  • 误区一:用随机划分代替时间划分。随机划分会让未来信息泄露到训练集,导致回测虚高。
  • 误区二:只看准确率。在涨跌样本不均衡时,准确率会失真,应结合 AUC 和分组收益。
  • 误区三:过度追求训练集拟合。训练集 AUC 接近 1 往往意味着过拟合,实盘表现会大幅衰减。
  • 误区四:忽略交易成本。高换手策略即使预测准确,也可能被手续费和冲击成本吞噬收益。

复盘时,应重点检查特征计算是否含未来函数、标签是否与交易时点匹配、验证集是否独立、模型复杂度是否合理。只有把机器学习基础打牢,后续使用 XGBoost 和 LightGBM 进行量化选股时,才能避免“回测很美、实盘很惨”的典型陷阱。