基于机器学习的股票价格预测:结合社交媒体情绪分析
1. 引言
股票价格预测对于投资者至关重要,一直是研究的热点。传统的有效市场假说(EMH)和随机游走理论认为,股票价格与历史趋势无关。然而,行为金融学指出,投资者的行为和决策常受非理性因素和噪音影响,市场具有一定的连贯性。
一方面,传统方法利用市场内的历史价格数据来预测股票价格;另一方面,越来越多的现象表明,交易市场外的数据,如社交媒体上投资者的情绪,会对资产价格产生重大影响。但目前利用社交媒体数据进行股票价格预测存在一些问题,如情绪分类过于极端,且缺乏将投资者社交互动信息转化为有用信息的工具和技术。
以微软为例,截至2021年10月底,其第一季度营收达453亿美元,同比增长22%,运营收入增长27%,利润也有显著提升。其股票在2022年初经历波动后有所回升,目前交易价格为305美元。根据算法预测,未来一年MSFT股票可能涨至377美元,五年内可能达到669美元。
为了分析Twitter情绪与股票表现之间的相关性,我们收集了不同行业公司的股票数据,重点分析了苹果公司在六周内来自Twitter的社交媒体数据。
2. 相关工作
- 股票价格的影响因素 :股票价格取决于供求关系,而供求关系又受基本面因素和市场情绪的影响。基本面因素包括股票的风险、贴现率、预期增长、通货膨胀、经济实力、趋势和股票流动性等;市场情绪则指股票市场参与者的心理。
- 基本面分析 :通过检查企业的关键财务指标来评估其财务健康状况,如市盈率(P/E)。基本面分析从全球经济开始,逐步分析国家经济、特定行业和特定公司,是一种广泛应用的理性方法。
- 机器学习模型 :混合模型通常比单一AI模型表现更好,神经网络和支持向量机(SVM)是许多混合模型的重要组成部分。此外,进化优化和覆盖策略常用于优化AI模型或选择股票价格预测的特征。
- 数据来源 :投资者可以通过抓取博客、社交媒体和搜索引擎等不同数据源获取新闻的早期指标。例如,谷歌趋势可用于预测消费者支出,Twitter上的情绪与股票价格和交易量也存在一定相关性。
- 有效市场假说 :该假说认为资产定价反映了所有可用信息,市场仅对新信息做出反应,因此在风险调整的基础上长期战胜市场是不可能的。然而,这一理论受到了很多批评,有证据表明资产定价并非完全随机,市场并非总是有效的。
- 相关性和因果关系 :相关性衡量两个变量之间的线性关系,而因果关系指一个事件导致另一个事件的发生。需要注意的是,相关性并不意味着因果关系。
3. 研究方法
-
数据收集
-
股票数据
:使用
pandas_datareader库从Yahoo Finance API获取AAPL US Equity等公司的股票信息。选择了美国国际集团(AIG,保险行业)、苹果公司(Apple,消费电子行业)、波音公司(Boeing,航空航天与国防行业)、Facebook(互联网内容与信息行业)、Netflix(媒体行业)和家得宝(Home Depot,家居改善商店行业)等不同行业的公司。 - Twitter数据 :为了进行情绪分析和计算相关性,需要收集Twitter数据。
-
股票数据
:使用
- 数据预处理 :在进行情绪分析之前,数据预处理阶段至关重要。此阶段会删除垃圾推文(用户多次发布相同内容的推文)、开头和结尾的空白、用户名、标点符号、链接、标签以及非英语推文。
-
情绪分析
:预处理后的数据存储为Jupiter数据框,使用
Sentiment包进行情绪分析。该包可计算文本的极性,考虑否定词、转折连词、放大器和减幅器等 valence shifters。将每个句子的单词与极性词典进行比较,并标记为 -1 到 +1 之间的数字,最后将结果除以单词数得到不依赖句子长度的值。 - 数据聚合 :完成情绪分析后,计算每个股票在特定时期内的每日情绪值。将一天定义为股票交易所收盘后一分钟至次日收盘,通过计算当天所有推文的情绪平均值得到每日情绪值,并将其插入到一个两列矩阵中,第一列是股票的每日情绪,第二列是相应日期的收盘价。
-
相关性计算
:使用皮尔逊相关系数(PC系数)计算相关性,公式为
corr=df.corr(method='pearson')。PC系数的取值范围为 -1 到 1,正值表示正相关,负值表示负相关。 - 探索性数据分析(EDA) :EDA是对数据进行初步检查的基本过程,旨在发现模式、检测异常、测试假设和验证猜想。其方法包括绘制简单数据图(如数据跟踪、直方图、双直方图、概率图、滞后图、块图和尤登图)、绘制前期见解图(如均值图、标准差图、箱线图和原始数据的主要影响图)以及对齐图表以扩大容量。通过EDA可以可视化苹果股票的年价格预测,展示不同年份的开盘价和收盘价。
以下是数据处理流程的mermaid流程图:
graph LR
A[数据收集] --> B[数据预处理]
B --> C[情绪分析]
C --> D[数据聚合]
D --> E[相关性计算]
E --> F[探索性数据分析]
4. 机器学习模型
-
线性回归模型
- 变量定义 :使用解释变量预测苹果股票价格,并结合平均值和相关性进行预测。定义因变量为机器学习模型根据解释变量预测的股票价格。
- 数据拆分 :将数据拆分为训练集和测试集,训练集用于创建线性回归模型,测试集用于评估模型的训练效果。
- 交叉验证 :对模型进行交叉验证,设置拆分次数为20,准确率为99.99743780203187。
- 结果可视化 :绘制实际值与预测值的对比图。
- K近邻(KNN)回归模型 :KNN可用于回归和分类,通过平均观察值来寻找自变量与连续结果之间的关联。选择特征相似度来预测新数据点的值,设置k邻居为4,准确率为99.91435220285842,并绘制实际值与预测值的对比图。
- 支持向量机(SVM)回归模型 :该模型的准确率为99.99301338392715,同样绘制实际值与预测值的对比图。
各模型的评估指标如下表所示:
| 模型 | RMSE(均方根误差) | R - Squared(决定系数) |
| ---- | ---- | ---- |
| 线性回归模型 | 3.0534992716871643e - 14 | 1.0 |
| KNN模型 | 1.191675778610913 | 0.999629726665711 |
| SVM模型 | 0.5182098703394772 | 0.9999299807307482 |
5. 结果分析与讨论
从各模型的评估指标来看,线性回归模型的RMSE极小,R - Squared达到了1.0,这表明该模型在预测苹果股票价格时具有极高的准确性,几乎能够完美拟合数据。KNN模型和SVM模型的RMSE相对较大,但R - Squared也都非常接近1,说明这两个模型的预测效果也很不错。
在分析Twitter情绪与苹果股票价格的相关性时,目前不能明确得出两者之间存在清晰的关联。要获得更可靠的结果,需要更多的数据以及更好的数据清理方法。有证据表明,如果数据质量良好,Twitter情绪和股票价格之间可能存在相关性,但在大多数情况下,股票价格还受到其他多种因素的驱动。
情绪的重要性是波动的,当发生可能影响市场稳定性的重大事件时,情绪的影响可能会增加,这也可能会影响两者之间相关性的稳定性。而且,没有明显证据表明Twitter情绪和股票价格的相关性与特定行业或产品类型有关。
以下是各模型评估指标的对比表格,更直观地展示各模型的性能:
| 模型 | RMSE(均方根误差) | R - Squared(决定系数) | 评估 |
| ---- | ---- | ---- | ---- |
| 线性回归模型 | 3.0534992716871643e - 14 | 1.0 | 准确性极高,完美拟合数据 |
| KNN模型 | 1.191675778610913 | 0.999629726665711 | 预测效果较好,但RMSE相对较大 |
| SVM模型 | 0.5182098703394772 | 0.9999299807307482 | 预测效果佳,RMSE和R - Squared表现都很优秀 |
投资者在进行分析时,不应仅仅依赖这些结果,但可以将其作为额外的参考层,以提高分析的准确性,或者长期监测公司的情绪变化。
6. 总结与启示
本次研究通过收集不同行业公司的股票数据和Twitter数据,运用多种机器学习模型对苹果股票价格进行预测,并分析了Twitter情绪与股票价格的相关性。虽然目前尚未明确两者之间的清晰关联,但在数据质量良好的情况下,这种相关性可能存在。
对于投资者而言,应认识到股票价格受到多种因素的综合影响,社交媒体情绪只是其中之一。在使用机器学习模型进行股票价格预测时,不同的模型具有不同的特点和优势,可以根据具体情况选择合适的模型。例如,线性回归模型适用于对数据拟合要求极高的情况,而KNN模型和SVM模型在处理复杂数据关系时也能取得较好的效果。
在数据处理方面,数据的质量和数量对结果的可靠性至关重要。未来的研究可以进一步扩大数据收集范围,改进数据清理方法,以提高预测的准确性。同时,还可以探索更多的机器学习算法和特征工程方法,挖掘更多影响股票价格的因素。
以下是研究过程的总结流程图:
graph LR
A[数据收集] --> B[数据预处理]
B --> C[情绪分析]
C --> D[数据聚合]
D --> E[相关性计算]
E --> F[探索性数据分析]
F --> G[机器学习模型训练]
G --> H[模型评估与结果分析]
H --> I[总结与启示]
综上所述,基于机器学习和社交媒体情绪分析的股票价格预测是一个有潜力的研究方向,但需要不断地完善和改进方法,以更好地为投资者提供决策支持。投资者在进行股票投资时,应综合考虑多种因素,谨慎做出决策。
超级会员免费看

被折叠的 条评论
为什么被折叠?



