1. 课程导入
在正式进入建模与调参之前,我们需要先建立一张“认知地图”:量化选股到底在解决什么问题,它经历了怎样的演进,主流方法各自擅长什么,以及XGBoost与LightGBM为什么能在其中占据重要位置。本章不涉及复杂公式,而是帮你把后续30章的技术点挂到一条清晰的主线上。
一、量化选股的定义与核心逻辑
量化选股,是指用可计算、可复现的规则或模型,从股票池中筛选出预期收益较高或风险收益比更优的股票组合。它的本质不是“预测明天涨跌”,而是在大量标的中持续寻找统计上占优的横截面差异。与主观选股相比,量化选股强调三点:数据驱动、规则明确、可回测验证。
一个完整的量化选股流程通常包含以下环节:
- 股票池构建:确定全市场、行业中性或特定主题池,剔除ST、停牌、上市不足N日的标的。
- 特征工程:构造动量、估值、质量、波动率、资金流等因子,并进行去极值、标准化、中性化处理。
- 标签定义:如未来5日收益率、是否跑赢行业指数、分位数排名等。
- 模型训练:用历史截面数据学习特征与标签之间的非线性关系。
- 组合构建:按预测分数排序,结合行业约束、换手率约束生成持仓。
- 回测与归因:评估IC、RankIC、多空收益、最大回撤,并分析收益来源。
二、发展历程:从线性因子到树模型集成
量化选股的方法演进大致可分为四个阶段:
- 单因子阶段:以PE、PB、ROE、动量等单一指标排序选股,逻辑直观但稳定性差。
- 多因子线性模型阶段:Fama-French三因子、Barra风险模型等,用线性回归合成因子,可解释性强,但难以捕捉交互效应。
- 机器学习阶段:SVM、随机森林、神经网络等被引入,开始处理非线性与高维特征。
- 梯度提升树阶段:XGBoost、LightGBM、CatBoost成为结构化数据竞赛与量化研究的主力,兼顾精度、速度与可调性。
这一演进背后的驱动力是:金融数据信噪比低、特征维度高、非线性关系普遍,而梯度提升树恰好擅长在噪声中寻找稳定的分裂结构。
三、主流方法对比与XGBoost/LightGBM的定位
下表从多个维度对比常见量化选股方法,帮助你理解为什么树模型集成在当前实践中占据主流:
| 方法 | 非线性能力 | 可解释性 | 训练速度 | 过拟合风险 | 典型场景 |
|---|---|---|---|---|---|
| 线性多因子 | 弱 | 强 | 快 | 低 | 风险模型、因子合成 |
| 随机森林 | 中 | 中 | 中 | 中 | 快速基线 |
| 神经网络 | 强 | 弱 | 慢 | 高 | 高频、另类数据 |
| XGBoost | 强 | 中 | 较快 | 中 | 中小规模截面选股 |
| LightGBM | 强 | 中 | 快 | 中 | 大规模特征、高频迭代 |
XGBoost与LightGBM同属梯度提升决策树(GBDT)家族,核心思想是串行训练多棵弱学习器,每棵树拟合前面模型的残差。XGBoost在目标函数中加入正则项,使用二阶泰勒展开,精度高、鲁棒性强;LightGBM则通过直方图算法、Leaf-wise生长和GOSS/EFB优化,在大规模数据上速度优势明显。
# 典型参数对比示意
XGBoost: max_depth=6, eta=0.05, subsample=0.8, colsample_bytree=0.8
LightGBM: num_leaves=31, learning_rate=0.05, feature_fraction=0.8,
bagging_fraction=0.8, min_data_in_leaf=50
四、案例场景:一个简单的选股建模直觉
假设我们有一个包含3000只股票、每期200个因子的截面数据集。目标是预测未来10日收益率排名前20%的股票。用LightGBM训练后,模型输出每只股票的预测分数,我们按分数排序取前50只等权买入,每10日调仓一次。
这个过程中,树模型会自动发现类似“低估值+高动量+低波动”的组合条件,而无需人工枚举。例如某棵树可能先按ROE分裂,再按20日动量分裂,最终在叶子节点给出一个分数。多棵树累加后,就形成了对每只股票的综合评分。
五、常见误区与复盘要点
- 误区二:忽略时间序列交叉验证。随机划分训练集会导致未来信息泄露,必须用滚动窗口或Purged K-Fold。
- 误区三:过度依赖默认参数。XGBoost与LightGBM对学习率、叶子数、最小样本数非常敏感,需结合IC与回撤联合调参。
- 误区四:特征不做中性化。行业和市值暴露不处理,模型可能只是在赌行业beta。
复盘时建议固定三张表:因子IC衰减表、分组收益单调性表、换手率与成本敏感表。它们能帮你判断模型是真正学到了横截面规律,还是仅仅拟合了噪声。