Skip to main content
QUICK REVIEW

[论文解读] Predicting The Stock Trend Using News Sentiment Analysis and Technical Indicators in Spark

Taylan Kabbani, Fatih Enes Usta|arXiv (Cornell University)|Jan 19, 2022
Stock Market Forecasting MethodsDecision Sciences被引用 18
一句话总结

本文提出一种基于Spark的混合股票趋势预测模型,结合技术指标与新闻情绪得分进行二分类(上涨趋势/下跌趋势)。在S&P 500股票(AAPL、AMZN、NFLX)上应用逻辑回归、随机森林和梯度提升机模型,测试准确率达到63.58%,其中随机森林表现最佳。

ABSTRACT

Predicting the stock market trend has always been challenging since its movement is affected by many factors. Here, we approach the future trend prediction problem as a machine learning classification problem by creating tomorrow_trend feature as our label to be predicted. Different features are given to help the machine learning model predict the label of a given day; whether it is an uptrend or downtrend, those features are technical indicators generated from the stock's price history. In addition, as financial news plays a vital role in changing the investor's behavior, the overall sentiment score on a given day is created from all news released on that day and added to the model as another feature. Three different machine learning models are tested in Spark (big-data computing platform), Logistic Regression, Random Forest, and Gradient Boosting Machine. Random Forest was the best performing model with a 63.58% test accuracy.

研究动机与目标

  • 通过在大数据平台中整合技术指标与金融新闻情绪,提升股票趋势预测的准确性。
  • 评估在可扩展的机器学习流水线中,结合基本面(新闻情绪)与技术面(价格指标)分析的有效性。
  • 评估多种机器学习模型——逻辑回归、随机森林和梯度提升机——在使用Spark进行股票趋势分类时的性能表现。
  • 通过Apache Spark的MLlib框架中并行化执行,减少训练时间并提升超参数调优效率。

提出的方法

  • 收集每日股票价格数据(开盘价、最高价、最低价、收盘价、成交量、调整后收盘价),并计算10项技术指标,包括SMA、RSI、MACD和布林带。
  • 从2016–2020年收集9.2 GB的金融新闻文章,并使用基于BERT的NLP模型处理,通过平均池化句向量提取每日情绪得分。
  • 通过将同一天发布的所有新闻进行分组,聚合每日情绪得分,计算每个交易日的整体情绪得分。
  • 为每只股票构建最终的9个变量特征集:6项技术指标(SMA、RSI、MACD、布林带、OBV、随机指标)、成交量和聚合后的每日情绪得分。
  • 使用Spark ML流水线,通过MinMaxScaler进行特征归一化,使用RFormula对分类标签进行独热编码,并采用10折交叉验证与网格搜索进行超参数调优。
  • 在80%训练集和20%测试集上训练并评估三种分类器——逻辑回归、随机森林和梯度提升机,使用准确率、精确率、召回率和F1-score作为评估指标。

实验结果

研究问题

  • RQ1与仅使用价格数据相比,结合技术指标与新闻情绪得分是否能提升股票趋势预测的准确性?
  • RQ2当在混合金融与情绪特征上训练时,不同机器学习模型(逻辑回归、随机森林、梯度提升机)在分类股票趋势方向(上涨/下跌)方面的表现如何?
  • RQ3使用Apache Spark在大规模金融数据集上对股票预测模型进行训练时,在可扩展性与训练效率方面有多大提升?
  • RQ4特征相关性对模型性能有何影响?特征选择(如仅保留非冗余特征)对预测准确率有何影响?

主要发现

  • 随机森林在三只股票(AAPL、AMZN、NFLX)上均取得最高的测试准确率63.58%,优于逻辑回归与梯度提升机。
  • 模型训练准确率为65.5%,表明存在中等程度的过拟合,但在独立测试集上仍保持了良好性能。
  • 特征相关性分析显示,价格相关特征(开盘价、最高价、最低价、收盘价、调整后收盘价、SMA)之间存在高度依赖性,因此仅保留SMA、最高价和收盘价以减少冗余。
  • 使用基于BERT的NLP方法进行情绪分析,实现了对金融新闻的上下文感知情绪评分,该特征被成功整合为预测变量。
  • 基于Spark的流水线实现了高效的并行处理,显著缩短了训练时间,并支持在大规模超参数配置网格上进行广泛调优。
  • 尽管模型准确率处于中等水平,但结果表明,将新闻情绪与技术指标结合,可在波动性市场中产生有意义的预测信号。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。