策略分享—基于LightGBM模型和超参优化的收益率预测策略
由bq0m8rec创建,最终由bq0m8rec 被浏览 24 用户
0.策略名词解释
(1)LightGBM模型
LightGBM(Light Gradient Boosting Machine)是微软开源的一种基于梯度提升框架的高效实现。它主要用于机器学习中的监督学习任务,如分类、回归和排序等问题。本策略中使用的是回归。
github链接:https://github.com/microsoft/LightGBM
简易图:
(2) 超参数优化
超参数(Hyperparameters) 是在模型训练开始之前手动设定的参数,它们不会通过模型自身的训练过程自动学习,而是需要由使用者选择。它们在很大程度上决定了模型的性能、训练效率与泛化能力。
在LightGBM模型中,有两类参数可以优化:
模型构建类的参数:
- learning_rate(学习率):控制每棵树对最终结果的贡献。较小的学习率可以提升模型效果,但通常需要增加迭代轮数(num_boost_round)来补偿。
- num_leaves:树最大叶子数。它决定了模型的复杂度,值越大模型越复杂,容易过拟合。
防止过拟合类的参数:
- max_depth:限制每棵树的最大深度。与 num_leaves 配合使用,用于控制模型的容量,防止过拟合。
- min_data_in_leaf:一个叶子节点上最少的样本数。增大它可以防止模型过拟合,尤其在样本不均衡时特别重要。
- max_bin:构造直方图时的最大分箱数,控制特征离散化的精度,适当调整可提升效率和准确率。
- feature_fraction(也叫 colsample_bytree):在建树时,每棵树随机选取的特征比例。减少此值可以防止过拟合。
- bagging_fraction(也叫 subsample):每轮迭代使用的样本比例。通常配合 bagging_freq 使用,用于加快训练速度并增强泛化能力。
- random_seed:控制随机性,保证结果可复现。
\
1. LightGBM模型实现
1.1 数据准备(Data preparation)
为了避免多重线性,使用的因子的相关系数热力图:
该图展示了模型中部分特征(如 pe_ttm、momentum_5、pb、reversal_5)在决策树中的分裂路径。图中每个特征通过不同的阈值被划分为多个区域(Region 1、Region 2 等),这些分割点对应模型学习到的最优切分点。通过这些分箱,模型能够捕捉特征的非线性关系,提高预测效果
\
1.2 模型构建(Model Deinition)
- LightGBM 的预测函数可表示为一组 CART 决策树的加权和(可以理解为预测值):
\
1.3 损失函数(Loss Function)
默认采用 均方误差(MSE) 作为回归目标(残差平方和除以n):
随着迭代次数的增加,预测值和真实值之间的差值减小:
1.4 正则化(Regularization)
防止过拟合,LightGBM 正则化项包含:
这张图展示了模型复杂度(以最大叶子数衡量)与验证集上的损失之间的关系。我们发现,在初始阶段随着复杂度增加,损失明显下降,模型表现更好;但在达到某个复杂度后,损失下降变缓,说明模型可能逐渐开始过拟合。
\
1.5 目标函数(Total Loss)
Total loss(目标函数)= Loss Function(损失函数) + Rugularization(正则项)
目标函数是为了优化算法准备的--
\
1.6 优化算法(Optimization Algorithm)
可以理解为最小化我们的目标函数
使用基于 梯度提升树(GBDT) 的二阶梯度优化(利用一阶导数和二阶导数提升效率):
我们可以看到左下那张图:在迭代开始时,损失和梯度都较大,表示模型还很‘不准’;随着迭代次数增加,两者逐步下降,说明模型在学习,预测效果逐渐改善,最终趋于稳定,说明训练收敛了
\
1.7 训练过程(Training Process)
简易图:
\
1.8 模型检验(Model Valuation)
随着interaction的增大,它的预测正确度(Accuracy)也在提高
2.首次历史数据回测
\
3. 超参优化
3.1 优化参数
’树最大叶子数‘与”学习率“
3.2 优化过程
这里有120组任务,我们看到收益率最高的是第三组参数
然后我们查询一下可以发现,这组参数就是:
树最大叶子数:10
学习率:0.4
\
3.2 优化后的回测结果
\
4. 交易成本和滑点
5.总结
5.1 策略优势
LightGBM预测模型+超参优化
5.2 可优化方向
在未来版本中,我们可以引入自动化搜索算法进行优化,例如:
- Grid Search(网格搜索):遍历所有组合,适合参数量少的场景。
- Random Search:从参数空间随机采样,更适合高维调参问题。
- Bayesian Optimization(贝叶斯优化):如使用 Optuna,可以有效平衡探索与利用,找到更优解。
- Early Stopping + 验证集损失监控:防止过拟合同时节省训练资源。
\
6.策略社区链接
https://bigquant.com/square/d86fa9f1-a6a4-43ee-b123-37e9230da2b0
\