“Assets Forecasting with Feature Engineering and Transformation Methods for LightGBM”
论文地址:https://arxiv.org/pdf/2501.07580
摘要
股票市场的波动对经济和消费市场影响重大,精准预测显得尤为重要。研究指出,尽管深度学习与机器学习的混合模型在预测上表现出色,但其对计算资源的要求高,普通计算机难以满足。本文通过优化LightGBM来提升性能同时减少计算需求,并采用新的特征工程技术,例如指标-价格斜率及14期EMA的开收盘价差异,以增强预测的准确性。研究测试了七种特征和目标变量转换策略,结果显示对数收益、简单收益以及EMA差异比率最为有效。虽然EMA比率在方向预测上的准确度较低,且标准化目标变量转换增加了训练时间,但新引入的特征在所有目标变量转换方法中均显示出了较高的重要性。本研究提供了一种既可访问又计算高效的股票市场预测解决方案。
简介
股票市场的表现对个人及社会的财务健康有着重要影响,涉及到消费价格、经济政策以及通货膨胀等多个方面。时间序列预测作为一种基于历史数据推测未来值的方法,在股票市场中应用广泛,为决策制定和经济规划提供了有力支持。随着技术的发展,机器学习(ML)和深度学习(DL)开始应用于金融时间序列分析,但由于其高计算需求,限制了普通投资者的应用。
本研究关注LightGBM模型,鉴于其高效的计算性能和强大的扩展性,适合更广泛的应用场景。通过引入新的特征工程技术,并优化特征与目标变量转换方法,旨在进一步提高LightGBM在时间序列预测中的效果。
该研究致力于提升LightGBM的性能,降低对高性能硬件的依赖。系统地评估了七种目标变量变换方式,训练了不同的特征集合,并加入了如价格指标斜率差和开收盘价差等新交叉特征以增强预测准确性。目标是使更多人能够利用机器学习进行金融预测,促进金融领域的创新与普及。
01相关工作
统计模型
ARIMA模型常用于金融时间序列的预测,基于线性关系,适用于像能源和酒店价格这样的预测。然而,在处理股市等非线性异方差时间序列时,ARIMA模型显示出其局限性。为解决这一问题,GARCH模型被提出,能够专注于波动性的直接建模。尽管如此,当使用混合GARCH-ARIMA模型预测S&P 500指数时,其准确性依然有限(R平方=0.023910)。
机器学习模型
自21世纪初以来,随着技术的进步,机器学习模型开始在股市预测中发挥重要作用。这些模型能够有效处理多变量数据集中的复杂关系,并适应股市的非线性特质。主要的机器学习方法包括支持向量机、随机森林及梯度提升机,后者在LightGBM、XGBoost、CatBoost和AdaBoost等实现中表现出更高的效率。据Ma shangchen等人的研究,在2016至2018年间,LightGBM与GBDT模型的回报率超过了标准普尔500指数,其中LightGBM实现了高达394%的总回报率。
深度学习模型
深度学习(DL)模型在时间序列分析中擅长识别时间依赖关系和特征提取,但由于其对训练资源的高要求,推广速度较慢。这些要求包括大规模数据集、足够的内存以及高性能处理器(如GPU和TPU)。结合机器学习(ML)和深度学习(DL)的混合模型在时间序列预测方面表现出色,能够整合两者的优点。Yuankai Guo等人提出的LSTM-LightGBM混合模型,首先利用LSTM处理特征(例如成交量和收盘价),然后使用LightGBM进行最终预测,其性能超越了单独使用的LSTM和RNN模型。
02LightGBM
LightGBM是一款开源的机器学习框架,它基于梯度提升决策树(GBDT)并提升了训练效率。GBDT通过连续迭代训练决策树,每一步都修正之前树的错误,初始预测是基于目标变量的平均值。这一过程通过拟合残差来逐步改进预测误差,直到在验证集上的性能不再提升为止。LightGBM在多个关键点上对传统的GBDT方法进行了优化和改进。
模型架构
- 梯度单边采样(GOSS)
梯度作为损失函数的导数,显示了残差与模型参数间的关系。GOSS主要聚焦于具有较大梯度的实例,认为这些实例对模型的训练更具价值,同时随机地保留了一部分小梯度的实例。这种方法在提升训练效率的同时,对模型的准确性影响较小。
- 基于直方图装箱
装箱技术将多个特征值实例整合到一个离散区间内,以此减少内存消耗并加快训练速度。在区间上计算梯度有助于过滤噪声数据,从而增强模型的泛化能力。
- Leaf-Wise增长
LightGBM使用叶子优先的策略来构建决策树,与GBDT的传统层级生长方法相比,这种方法能更有效地降低计算负担,从而生成更深、更复杂的树。
数据收集
苹果股价的波动常被视为蓝筹股波动的代表,作为标准普尔500指数(S&P 500)的一部分,苹果的表现也映射了更广泛的市场趋势。我们利用TradingView导出的图表数据特征,提取了苹果的开盘价、最高价、最低价和收盘价(OHLC)以及成交量,涵盖了从1992年5月到2024年9月的8137个数据点及对应日期。这些数据来源于Cboe One,它占据了美国股市大约10%的份额。
特征工程
目标是预测市场开盘时的收盘价,通过考虑隔夜价格差异和当日开盘价作为关键特征。从OHLC价格及成交量数据中提取了多种传统与创新特征,以建模市场行为和动态变化。此过程借鉴了技术分析和统计学的概念。其中,当日的开盘价被标记为“open”,而前一交易日的开盘价、最高价、最低价和收盘价则分别命名为“openprev”、“highprev”、“lowprev”和“closeprev”。
- 典型价格
用于计算每日交易的整体情绪
- 滞后特性
LightGBM在进行预测时仅依赖当前行的特征值。然而,时间序列预测需要利用历史数据,即将过去的价格值作为特征来使用。为此,我们采用1天、5天和30天的滞后期(lag periods)来提取相关信息:
- 包括1天前的价格(如开盘价open,前一天收盘价closeprev,典型价格typical)
- 上周同一天的价格
- 即30个工作日之前的价格(约1.5个月前)
- 统计特性
滚动均值(简单移动平均SMA)能够提供关于市场趋势的额外见解。此外,滚动标准差、最小值和最大值也被应用于某些特征的计算中,如成交量、开盘价、前一日收盘价以及典型价格。
- 技术指标
在量化金融中,技术指标尤为重要,尤其是PSY、Stochastic %K和%D、MACD、CCI以及CMO等指标在特征重要性排名中位置靠前。此外,还使用了基于closeprev计算的RSI、Chaikin Volatility、ROC、ATR和EMA等指标。这些都在分析中发挥了重要作用。
- 时间戳的处理
使用周期性特征(如星期几、月份等)通过正弦函数建模,以识别季节性模式。
- 交叉特征
交叉特征通过组合现有特征来生成新特征,旨在捕捉变量间的相互关系。例如,计算开盘价与前一日收盘价之间的差值,以表示隔夜价格变动。同时,计算开盘价与前一日收盘价滞后一期的差值,以此反映价格在一天和两个夜晚内的总波动情况。此外,采用ATR与开盘价的比率作为对ATR的一种非传统平稳化方法,因为在通常情况下,价格上升往往伴随着波动性的增加。
- 斜率差异-固定和动态
在技术分析中,背离现象指的是指标走势与价格走势相反,可以为未来价格走向提供参考。利用LightGBM回归模型来分析这种背离,通过计算指标与价格之间的斜率差异,以捕捉两者间的关系。结合ZigZag指标动态调整周期,有助于识别趋势反转点,并确定用于斜率差异分析的当前趋势周期。在研究背离时,使用了收盘价、成交量以及心理线(PSY)相对于前一收盘价的变化来进行分析。
数据处理
LightGBM是一种基于树的算法,要求输入数据必须是平稳的(stationary)。树模型通过在特征阈值处分割数据来创建子集,其预测依赖于过去目标变量的值。如果特征或目标变量显示出方差(异方差性)或均值的变化(趋势),模型将难以确定当前值应归入哪个子集。平稳性保证了统计特性(如均值和方差)随时间保持不变,这有助于模型更有效地进行泛化。
- 平稳性
非平稳性可以通过经验判断或是借助统计测试(如ADF和KPSS)来检测。ADF测试用于识别单位根,这指示了存在随机趋势;而KPSS测试则侧重于检测数据中的确定性趋势。处理非平稳性的策略包括计算对数收益和简单收益,尽管差分也是一种常见手段,但对于AAPL股票价格而言,这种方法的效果并不理想。
本文探索了通过计算非平稳时间序列与收盘价的EMA比率来调整指数成分,以此应对均值和方差的变化问题。此外,还尝试在进行差分处理后计算EMA比率,期望能够得到更佳的结果。
- 异常处理
尽管LightGBM对异常值有一定的鲁棒性,但本研究将验证这一假设,通过对比处理异常值前后的特征表现来实现。鉴于金融数据的高波动性,像AAPL这样的股票出现较多异常值,这些异常值可能反映了经济危机或投资者信心的变化。采用Tukey的四分位距(IQR)方法识别异常值,定义为超出[Q1 - n × IQR, Q3 + n × IQR]范围的值,其中n的取值在1.5到3之间,对于MACD直方图,n设为20。
本研究提出了一种新方法,旨在保留异常值的信息同时减少数据偏斜。具体做法是:对超过阈值的异常值进行平方根或立方根转换后,再加回到原阈值上。这种方法通过调整异常值与其余数据点的距离,帮助LightGBM更有效地找到有意义的分裂点,同时确保重要信息得以保留。
- 标准化
数据标准化在实现平稳性转换之后进行,通过从数据中减去均值并除以标准差,从而使时间序列的均值变为零,标准差为一。这种标准化过程确保了所有特征都具有相同的尺度,有助于LightGBM更有效地识别模式。本研究将对比分析标准化与非标准化数据对模型效果的影响。
03实验
转换方法
对特定特征中的重复值进行异常值处理,为后续性能比较做准备。通过应用不同的变换方法生成新数据集DS1,包括:
- 计算所有特征的简单收益率.
- 对非负特征应用对数收益率,而对负值特征则使用立方根转换。
- EMA比率和EMA差比率仅应用于类似价格的特征。
接着对DS1进行标准化处理以生成DS2,并通过KPSS和ADF检验来确保数据的平稳性。从DS1和DS2中分别创建7个数据集,用于测试不同目标变量变换对模型性能的影响。尽管在整个数据集上进行标准化可能会引起轻微的数据泄漏,但其影响被认为是可以忽略的。通过多次实验,探索特征与目标变量变换方法之间的关系,以优化股票市场的预测效果。
训练和交叉验证
使用scikit-learn的TimeSeriesSplit进行滚动训练-验证分割,以防止数据泄漏。将训练集划分为四个部分,并创建三个验证折叠。
- 第一个折叠:用第一个部分训练,第二部分验证。
- 第二个折叠:用前两个部分训练,第三部分验证。
- 第三个折叠:用前三个部分训练,第四部分验证。
自定义损失函数
大错误在股市预测中可能导致严重后果。采用自定义损失函数以更严格地惩罚大错误。
超参数调优
采用Optuna的贝叶斯优化算法代替计算密集型和耗时的网格搜索方法。为了平衡训练效率与性能,选择了500次试验作为优化的过程。优化过程中涉及的具体参数已在文中部分列出。
评估指标
为了评估模型性能,需要将预测值反向转换以便与真实市场值进行比较。评估指标包括平均绝对误差(MAE)、均方根误差(RMSE)、方向准确率(DA)和训练时间。测试环境为AMD Ryzen 5 3600处理器,配有32GB DDR4内存,但并未完全利用其资源。部分计算任务通过CuPy分配给GPU执行,以此来减轻CPU的工作负荷。
基准
随机游走(RW)模型假设下一个时间点的值仅取决于当前值,被视为股票市场预测的基础模型。虽然考虑了ARIMA模型,但由于其相对于RW模型在准确性上的提升非常有限,最终未被采纳。研究中使用了两个LightGBM基准模型,并基于DS1和DS2创建了DS3和DS4数据集,通过移除部分特征来进行对比分析。被移除的特征包括EMA比率、EMA差比率、斜率差异以及ATR与开盘价的比率,不过保留了异常值处理和价格缺口特征。LightGBM在DS3和DS4上的训练过程与在DS1和DS2上一致,并计算相同的评估指标。
结果
采用新特征的所有模型在MAE和RMSE指标上均显著提升了准确性,但EMA比率及其标准化版本表现欠佳,甚至不如基准模型。这是因为EMA比率平滑了价格变化的信息,影响了预测效果;而EMA差分比率则没有这个问题,差分处理有助于模型更准确地预测价格变动。虽然Returns的RMSE略高于Log Returns,这是由于Returns中极端值较多,加大了预测难度。残差图显示,在Returns波动期聚集了较高的误差,理论上残差应为独立同分布(IID)。值得注意的是,标准化转换大幅增加了训练时间,可能是由于LightGBM对标准化特征的计算复杂度增加所致。整体来看,Log Returns、Returns以及EMA差分比率的表现最佳,且都明显优于随机游走和基准模型。
所有模型的各项指标均比随机游走模型(RW)高出至少10%,表明它们具有更强的预测能力,除基准外的所有模型RMSE减少了超过30%。特别地,使用对数收益率时,相较于基准模型,MAE的相对准确性提高了42.25%。训练效率方面,基准模型显著低于其他模型,这可能是因为它难以识别有效的特征分割。特征重要性分析揭示,Log Returns、收益率、EMA差比率等新特征对提升模型性能贡献显著,而传统特征表现较为逊色。在基准模型中,各特征的重要性分布较为均匀,其中收益率特征的重要性最高。此外,处理异常值的特征并未显著优于对应的原始特征,这表明LightGBM对异常值具备良好的鲁棒性。然而,Log Return特征信息量较低,常出现零重要性的情况,可能导致关键信息的平滑丢失。
04总结
Log Returns被发现是目标变量的最佳转换方式,其带来的性能差异较小;尽管标准化转换稍微降低了准确性,但它显著增加了训练时间,这对像LightGBM这样的树模型不利。在不同的模型中,EMA比率、EMA差异比率和收益显示出较高的特征重要性;新引入的特征(如隔夜价格差)比传统特征具有更高的重要性,不仅提升了预测性能还缩短了训练时间。
本研究提出的异常值处理方法对LightGBM的效果有限,未来需要进一步验证;残差图表明在高波动期间模型表现较差,未来可以考虑针对不同波动率训练多个LightGBM模型。由于其趋势特性,EMA比率在多步预测方面显示出了潜力。
通过引入新的特征和转换方法,本研究有效提升了LightGBM的性能并减少了训练时间,为进一步提高准确性和适应性奠定了基础。