基于特征工程与转换方法的LightGBM资产预测研究

“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的性能并减少了训练时间,为进一步提高准确性和适应性奠定了基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9269.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音上线打车服务?抖音要大规模杀入网约车了吗?

最近几年,伴随着市场的发展日益壮大,网约车已经成为了不少人熟悉的出行方式,就在大家以为网约车赛道已经日渐成熟的时候,抖音上线打车服务的消息传来,让人不禁疑惑,抖音要大规模杀入网约车了吗?…

Time Constant | RC、RL 和 RLC 电路中的时间常数

注:本文为 “Time Constant” 相关文章合辑。 机翻,未校。 How To Find The Time Constant in RC and RL Circuits June 8, 2024 💡 Key learnings: 关键学习点: Time Constant Definition: The time constant (τ) is define…

neo4j-community-5.26.0 install in window10

在住处电脑重新配置一下neo4j, 1.先至官方下载 Neo4j Desktop Download | Free Graph Database Download Neo4j Deployment Center - Graph Database & Analytics 2.配置java jdk jdk 21 官网下载 Java Downloads | Oracle 中国 path: 4.查看java -version 版本 5.n…

windows lm studio 0.3.8无法下载模型,更换镜像

2025年1月28日22:13:35 系统是windows11 安装的时候记得选择 仅为我安装,不然后续操作可能无法进行,因为两种方式的默认安装目录不一样 将模型文件放入 LM Studio 的模型目录: 下载完成后,将模型文件放入 LM Studio 的模型存…

hive:数据导入,数据导出,加载数据到Hive,复制表结构

hive不建议用insert,因为Hive是建立在Hadoop之上的数据仓库工具,主要用于批处理和大数据分析,而不是为OLTP(在线事务处理)操作设计的。INSERT操作会非常慢 数据导入 命令行界面:建一个文件 查询数据>>复制>>粘贴到新…

力扣【669. 修剪二叉搜索树】Java题解

一开始在想为什么题目说存在唯一答案。然后发现是二叉搜索树就合理了。如下图:如果0节点小于low,那其左子树也都小于low,故可以排除;对于4,其右子树也是可以排除。 代码如下: class Solution {public Tre…

Linux 非阻塞IO

Linux 非阻塞IO 1. fcntl() 在Linux操作系统中,fcntl() 是一个用于操作文件描述符的系统调用。它提供了多种功能,包括控制文件描述符的属性、管理文件锁定、设置文件的非阻塞模式等。 本文只截取了用于IO模型的 fcntl() 部分内容, fcntl() …

记忆力训练day07

逻辑分类联想记忆法 一 课程目标 (1)掌握如何分类信息 (2)掌握如何运用逻辑分类方法进行记忆 小试牛刀: 核心的内容: 文字逻辑分类记忆:把文字分类后转换成画面连接记忆。 玫瑰 大树 太阳…

RocketMQ原理—5.高可用+高并发+高性能架构

大纲 1.RocketMQ的整体架构与运行流程 2.基于NameServer管理Broker集群的架构 3.Broker集群的主从复制架构 4.基于Topic和Queue实现的数据分片架构 5.Broker基于Pull模式的主从复制原理 6.Broker层面到底如何做到数据0丢失 7.数据0丢失与写入高并发的取舍 8.RocketMQ读…

面试经典150题——图

文章目录 1、岛屿数量1.1 题目链接1.2 题目描述1.3 解题代码1.4 解题思路 2、被围绕的区域2.1 题目链接2.2 题目描述2.3 解题代码2.4 解题思路 3、克隆图3.1 题目链接3.2 题目描述3.3 解题代码3.4 解题思路 4、除法求值4.1 题目链接4.2 题目描述4.3 解题代码4.4 解题思路 5、课…

Celery

https://www.bilibili.com/video/BV1RGDEY5ERB 架构 简单任务 执行 包结构 本示例: app 添加任务 获取结果 配置延时任务 任务配置 beat 提交定时任务

Spring事务和事务传播机制

一.事务简单介绍 事务是⼀组操作的集合,是⼀个不可分割的操作.事务会把所有的操作作为⼀个整体,⼀起向数据库提交或者是撤销操作请求.所以这组操作要么同时成功,要么同时失败。 二.Spring中的事物 1.编程式事务(手动写代码操作事务) 2.声明式事务(利用注解自动开启和提交事…

XSS 漏洞全面解析:原理、危害与防范

目录 前言​编辑 漏洞原理 XSS 漏洞的危害 检测 XSS 漏洞的方法 防范 XSS 漏洞的措施 前言 在网络安全的复杂版图中,XSS 漏洞,即跨站脚本攻击(Cross - Site Scripting),是一类极为普遍且威胁巨大的安全隐患。随着互…

本地Harbor仓库搭建流程

Harbor仓库搭建流程 本文主要介绍如何搭建harbor仓库,推送本地镜像供其他机器拉取构建服务 harbor文档:Harbor 文档 | 配置 Harbor YML 文件 - Harbor 中文 github下载离线安装包 Releases goharbor/harbor 这是harbor的GitHub下载地址&#xff0c…

K8S 快速实战

K8S 核心架构原理: 我们已经知道了 K8S 的核心功能:自动化运维管理多个容器化程序。那么 K8S 怎么做到的呢?这里,我们从宏观架构上来学习 K8S 的设计思想。首先看下图: K8S 是属于主从设备模型(Master-Slave 架构),即有 Master 节点负责核心的调度、管理和运维,Slave…

5分钟带你获取deepseek api并搭建简易问答应用

目录 1、获取api 2、获取base_url和chat_model 3、配置模型参数 方法一:终端中临时将加入 方法二:创建.env文件 4、 配置client 5、利用deepseek大模型实现简易问答 deepseek-v3是截止博文撰写之日,无论是国内还是国际上发布的大模型中…

ResNeSt: Split-Attention Networks 参考论文

参考文献 [1] Tensorflow Efficientnet. https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet. Accessed: 2020-03-04. 中文翻译:[1] TensorFlow EfficientNet. https://github.com/tensorflow/tpu/tree/master/models/official/efficien…

Ansible自动化运维实战--通过role远程部署nginx并配置(8/8)

文章目录 1、准备工作2、创建角色结构3、编写任务4、准备配置文件(金甲模板)5、编写变量6、编写处理程序7、编写剧本8、执行剧本Playbook9、验证-游览器访问每台主机的nginx页面 在 Ansible 中,使用角色(Role)来远程部…

马尔科夫模型和隐马尔科夫模型区别

我用一个天气预报和海藻湿度观测的比喻来解释,保证你秒懂! 1. 马尔可夫模型(Markov Model, MM) 特点:状态直接可见 场景:天气预报(晴天→雨天→阴天…)核心假设: 下一个…

decison tree 决策树

熵 信息增益 信息增益描述的是在分叉过程中获得的熵减,信息增益即熵减。 熵减可以用来决定什么时候停止分叉,当熵减很小的时候你只是在不必要的增加树的深度,并且冒着过拟合的风险 决策树训练(构建)过程 离散值特征处理:One-Hot…