精华帖子

策略分享—基于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

\

标签

监督学习
{link}