LightGBM模型

一 节点概述

LightGBM(Light Gradient Boosting Machine)是微软开发的高性能梯度提升框架,属于集成学习中的 Boosting 方法。 它使用直方图算法和叶子优先的生长策略,在保持高准确率的同时大幅提升训练速度。 LightGBM 模型节点接收 数据处理节点 的因子数据进行训练, 输出预测值供 策略节点 使用。

数据流位置
数据源节点数据处理AI模型策略类型仓位管理风险控制交易引擎
✓ 优势

⚡ 训练速度快,推理速度快

内存占用低

特征重要性可解释

支持类别特征,对缺失值鲁棒

适用场景

多因子选币/选股

快速策略验证

因子筛选与重要性分析

横截面排序预测

⚠ 局限性

时序建模能力较弱

需要手动特征工程

对长期时序模式捕捉不足

二 模拟配置

下方是 LightGBM 模型节点的真实配置面板,你可以直接操作体验各个配置项的功能。配置面板包含:预测值列名任务类型参数配置模式(自适应模式 / 高级参数配置)。

LightGBM模型配置

模型输出的预测值列名称

2.1 预测值列名

设置模型输出的预测值列名称
什么是预测值列名?
模型训练完成后,会在数据中新增一列用于存储预测结果。 后续的 策略节点 可以通过这个列名引用模型的预测值。 默认列名为 pred
提示:如果工作流中有多个 AI 模型节点,建议为每个模型设置不同的预测列名(如 pred_lgbpred_lstm),以便在策略中区分使用。

2.2 任务类型

选择模型的训练目标和损失函数
什么是任务类型?
任务类型决定了模型如何学习和输出预测值。不同的任务类型使用不同的损失函数,选择合适的任务类型对模型效果至关重要。 系统支持三种任务类型:排序(Ranking)二分类(Binary)回归(Regression)。 LightGBM 和 LSTM 默认为二分类,Transformer 默认为排序
⚡ 快速选择指南
维度排序 (Ranking)二分类 (Binary) ⭐回归 (Regression)
核心目标学习相对排序判断涨跌方向预测精确收益率
噪声鲁棒性⭐⭐⭐⭐⭐⭐⭐⭐⭐
泛化能力⭐⭐⭐⭐⭐⭐⭐⭐⭐
极端值敏感度中等低(天然免疫)
加密货币适用性适合多币种选币最适合单币择时适合仓位管理辅助
典型策略多空对冲 / 选币轮动趋势择时 / 网格增强动态仓位 / 风险控制
推荐:加密货币市场波动剧烈且存在大量极端行情,二分类通过将连续收益率坍缩为涨/跌方向, 天然过滤了尾部噪声,方向准确率 > 收益幅度精度,因此默认推荐二分类。

2.2.1 排序(Ranking)

学习样本间的相对顺序,适合多因子选币
排序任务不关心预测值的绝对大小,而是学习样本间的相对排序关系。 模型的目标是让收益率高的样本排在前面,收益率低的样本排在后面。 在加密货币多币种量化场景中,排序任务可以从数十个交易对中筛选出最具上涨潜力的标的, 是截面选币策略的核心驱动。
属性说明
Label 要求收益率等连续值(如 shift(close, -5) / shift(open, -1) - 1
输出范围任意实数(排序分数,值越大排名越靠前)
适用场景多因子选币、截面排序、多空对冲
前端字段taskType: "ranking"
排序模式(rankingMode)
选择 Ranking 任务后,节点面板会出现排序模式选项,决定模型优化的重点方向:
均衡 (balanced)
同时优化头尾排序
→ 多空对冲策略
头部 (head)
重点优化前几名
→ 纯做多策略
尾部 (tail)
重点优化后几名
→ 纯做空策略
💡 加密货币场景提示:排序任务需要多个交易对的截面数据(如同时输入 BTC、ETH、SOL 等多币种特征), 模型在同一时间截面上比较各币种的相对强弱。若只交易单一币种,建议选择二分类任务。

2.2.2 二分类(Binary)⭐ 推荐

预测涨跌方向,加密货币择时首选
二分类任务将预测问题转化为"涨或跌"的方向判断。模型输出有符号置信度(-1~1), 正值表示看涨、负值表示看跌,绝对值越大置信度越高。 在加密货币市场中,由于波动率极高(BTC 日波动 3-10% 常见),精确预测收益率几乎不可能, 但判断方向的信噪比远高于预测幅度,因此二分类是最实用的任务类型。
属性说明
Label 要求支持布尔值或连续收益率(如 shift(close, -5) / shift(open, -1) - 1);连续值会自动按 > 0 转换为 0/1
输出范围-1 ~ 1(有符号置信度,0.2 对应 60% 概率)
适用场景涨跌预测、择时信号、趋势判断
前端字段taskType: "binary"(系统默认值)
Label 定义示例:label = shift(close, -5) / shift(open, -1) - 1 表示"以下根K线开盘价买入,5期后卖出的收益率"。 引擎自动将收益率 > 0 转为正类(1),≤ 0 转为负类(0)。
📊 置信度与概率对照表
二分类输出为有符号置信度,范围 -1 ~ 1,转换公式:置信度 = 2 × 概率 - 1
概率30%40%50%55%60%
置信度-0.4-0.200.10.2
策略示例:pred > 0.2 开多(60%看涨),pred < -0.2 平多(仅40%看涨)
🎯 为什么加密货币推荐二分类?
标签空间压缩:将连续收益率坍缩为 {0, 1},极端涨跌(±20%)不再干扰损失函数
方向 > 幅度:在高波动市场中,判对方向即可获利,无需预测精确收益
天然正则化:分类边界比回归拟合更平滑,不易过拟合到个别异常K线
置信度可控:输出的概率值可以直接作为信号强度,用于动态调整仓位

2.2.3 回归(Regression)

预测具体收益率数值,关注绝对准确性
回归任务要求模型预测精确的收益率数值。 与排序任务不同,回归任务关注预测值与真实值的绝对误差。 在加密货币市场中,由于极端行情频繁(如闪崩、暴涨),回归模型容易被异常值主导训练过程, 泛化效果通常不如二分类。但回归输出的收益率数值有明确的物理含义, 适合作为仓位管理和风控的辅助信号
属性说明
Label 要求收益率连续值(如 shift(close, -5) / shift(open, -1) - 1
输出范围任意实数(预测的收益率)
适用场景仓位计算、风险评估、预期收益校准
前端字段taskType: "regression"
✓ 优点
输出有明确物理含义,可直接用于仓位计算和收益预期评估

2.3 参数配置模式

选择系统自适应或手动配置参数
什么是参数配置模式?
系统支持两种配置模式:自适应模式(系统根据数据规模自动调参)和高级参数配置(手动设置所有模型参数)。 默认为自适应模式,适合新手用户和快速验证策略。

2.3.1 自适应模式

系统根据数据规模自动选择最优参数
自适应模式下,系统会根据训练数据的规模(样本数、特征数)自动计算最优的模型参数。适合新手用户和快速策略验证,无需深入了解 LightGBM 的各种参数含义。
✓ 优点

无需调参经验

快速开始训练

降低过拟合风险

⚠ 局限

无法精细控制模型

可能非最优参数

自适应参数范围
系统会在以下范围内自动选择参数:学习率 0.03~0.07,最大深度 4~8,叶子节点数 18~30, 子节点最小样本数 38~90,训练轮数 120~280。

2.3.2 高级参数配置

手动配置所有模型参数,实现精细调优
选择高级参数配置后,将显示完整的参数配置面板,包括模型架构训练参数正则化三个部分。 适合有经验的用户进行精细调优。
2.3.2.1 模型架构
控制决策树的结构复杂度。树越深、叶子越多,模型越复杂,但更容易过拟合。 留空表示由系统自适应计算。
参数取值范围自适应范围说明
最大深度1 ~ 154 ~ 8树的最大深度
叶子节点数8 ~ 25618 ~ 30每棵树最大叶子数
子节点最小样本数5 ~ 200038 ~ 90叶子节点所需最少样本数
数据量小(<10万):maxDepth: 3-5, numLeaves: 8-16
数据量大(>100万):maxDepth: 6-10, numLeaves: 32-64
2.3.2.2 训练参数
控制模型训练过程。学习率越小需要更多训练轮数,但通常效果更好
参数默认值取值范围说明
训练轮数自适应1 ~ 1000Boosting 迭代次数
学习率自适应0.001 ~ 0.5每棵树的权重系数
验证集比例0.20 ~ 0.5用于早停,为0时跳过
早停容忍轮数101 ~ 100N轮无改善则停止
早停机制:当验证集指标连续多轮没有改善时,训练自动终止,防止过拟合。
2.3.2.3 正则化
防止模型过拟合。Dropout 值越大,正则化越强,模型越简单。 留空表示由系统自适应计算。
参数取值范围自适应范围说明
样本 Dropout0 ~ 0.50.05 ~ 0.30随机丢弃的数据比例
特征 Dropout0 ~ 0.50 ~ 0.20随机丢弃的特征比例
过拟合:训练好验证差 → 增大 Dropout
欠拟合:都差 → 减小 Dropout 或增大模型

三 输出数据结构

LightGBM 模型节点在输入数据的基础上添加预测值列,输出结构如下:

列名类型来源说明
datetimedatetime传递时间戳
symbolstring传递交易对
open/high/low/close/volumefloat传递原始OHLCV数据
[因子列...]float传递数据处理节点计算的因子
predfloat新增模型预测值(列名由 predictionColumn 配置决定)
预测值含义(按任务类型)
Ranking
排序分数,值越大排名越靠前
Binary
上涨概率,范围 -1~1
Regression
预测收益率,可正可负

四 常见问题

Q: 自适应模式和高级模式怎么选?
A: 建议新手和快速验证阶段使用自适应模式,系统会根据数据规模自动选择合适的参数。 当需要精细调优或有明确的参数目标时,切换到高级参数配置模式。
Q: 任务类型 Ranking 和 Regression 有什么区别?
A: Ranking 关注样本间的相对排序,适合多因子选币场景,目标是选出最好的标的;Regression 关注预测值的绝对准确性,适合需要精确收益率预测的场景。 实践中,选币场景推荐使用 Ranking。
Q: 训练轮数设置多少合适?
A: 建议设置较大的 epochs(如 200-500),配合 earlyStopPatience(如 20-30)使用。 系统会在验证集指标不再改善时自动停止,避免过拟合。
Q: 如何判断模型是否过拟合?
A: 观察训练日志中的训练集和验证集指标。如果训练集效果很好但验证集很差,说明过拟合了。 解决方法:增大正则化参数(sampleDropout、featureDropout),减小模型复杂度(maxDepth、numLeaves),增大子节点最小样本数(minChildSamples),或增加训练数据。
Q: 预测值列名可以自定义吗?
A: 可以,通过 predictionColumn 参数设置。默认为 "pred"。 在后续的策略节点中,可以通过这个列名引用模型的预测结果。