移动网站 制作,建设企业网站的,如何做淘宝商城网站设计,网站建设的会计核算全文链接#xff1a;https://tecdat.cn/?p39614 本文主要探讨了如何利用大语言模型#xff08;LLMs#xff09;进行股票分析。通过使用提供的股票市场和金融新闻获取数据#xff0c;结合Python中的相关库#xff0c;如Pandas、langchain等#xff0c;实现对股票新闻的情… 全文链接https://tecdat.cn/?p39614 本文主要探讨了如何利用大语言模型LLMs进行股票分析。通过使用提供的股票市场和金融新闻获取数据结合Python中的相关库如Pandas、langchain等实现对股票新闻的情感分析。利用大语言模型构建情感分析模型通过提示工程等技术优化模型最终通过可视化展示股票市场的情感倾向为股票投资决策提供参考点击文末“阅读原文”获取完整代码数据。 关键词 大语言模型股票分析情感分析API 一、引言 在当今的股票市场中及时了解新闻和事件对于做出战略决策至关重要。认识到市场情绪对市场趋势的影响是相应调整投资策略的关键。首先我们需要从各种来源获取大量的市场新闻数据。这其中数据质量如来源数量、数据更新率等和使用便捷性是重要的考量因素。虽然数据在网上易于获取但对于我们的需求来说最便捷的方法之一是使用API端点将市场数据和新闻直接集成到代码中。有许多金融数据提供商提供API连接它们在数据套餐、支持方式和数据质量上各有不同。在本文中我们将使用由提供的股票市场和金融新闻API。在我看来该API在质量和价格之间达到了很好的平衡。该API提供了一个从金融新闻中提取见解的端点便于进行市场情绪分析。由于其易于使用用户可以查询和检索新闻文章动态评估市场的积极或消极基调。通过展示该API的功能旨在展示其在情感分析中的无缝集成使我们能够根据市场情绪做出明智的决策。在快速变化的股票市场环境中获得这样的资源有助于我们采取更灵活和策略性的投资方法。 二、导入包 首先我们需要在Python环境中导入所需的包。在本文中我们将使用三个主要的包Pandas用于处理数据帧用于提取数据langchain用于构建大语言模型。此外我们还将使用其他辅助包如config和re。 在导入之前请确保使用命令行安装这些包。现在我们已经将所有所需的包导入到Python环境中可以进行下一步即激活API密钥。 三、API密钥激活 为了使用API的功能必须注册API密钥。 四、数据提取 我们将通过访问 response client.financial\_news(sAAPL.US, from\_date2024-01-01, to_date2024-01-30, limit100)
data_frame pd.DataFrame(response) # 将json输出转换为数据帧
data_frame.tail() 下面解释一下API中的参数 s字符串类型。如果未设置参数t则此参数为必填项。表示要获取新闻的股票代码。t字符串类型。如果未设置参数s则此参数为必填项。表示获取特定主题新闻的标签。可以api_token字符串类型。必填项。访问API的令牌注册后可获得。from和to格式为YYYY-MM-DD。如果需要2021年3月1日至2021年3月10日的数据则应使用from2021-03-01和to2021-03-10。limit数字类型。可选参数。表示查询应返回的结果数量。默认值为50最小值为1最大值为1000。offset数字类型。可选参数。表示数据的偏移量。默认值为0最小值为0。例如要从第200个开始获取100个符号应使用limit100和offset200。数据如下所示输出数据包含以下字段date文章的日期和时间。title文章的标题。content文章的全文。link文章来源的链接。symbols文章中提到的股票代码数组。 五、数据清洗 现在获取到的数据并不干净包含许多换行符和不同的命令。因此我们需要对其进行清洗 # 清洗文本数据的函数
def clean\_textual\_data(text):clean_text re.sub(r\\s,, text)return clean_text.strip()
# 将清洗函数应用到整个列
data\_frame\[content\] data\_frame\[content\].apply(clean\_textual\_data) 现在我们已经将清洗函数应用到所有数据可以继续构建我们的聊天机器人这里指后续基于这些数据进行的分析流程类似聊天机器人调用数据的过程。 六、大语言模型LLM 现在我们将使用Langchain与OpenAI模型形成一个大语言模型链。 language_model ChatOpenAI(modelgpt-3.5-turbo,openai\_api\_keyYOUR OPENAI API KEY,
temperature0) 这段代码片段通过实例化gpt-3.5-turbo并将温度设置为0来初始化语言模型。选择温度为0可确保模型的确定性防止其偏离主题并保持专注和一致的生成结果。现在我们将使用不同的技术使其更精确地适用于我们的下游任务即情感分析。有很多不同的方法可以实现 6.1 提示工程 提示工程是一个不断发展的领域涉及设计和优化提示以最大限度地提高像GPT这样的大语言模型的性能。随着这些模型的不断发展我们对其进行提示的方式变得越来越重要。最近的研究表明精心设计的提示可以显著提高可靠性并使模型能够处理比以前认为更复杂的任务。常用的提示工程技术如下 零样本提示这种方法使大语言模型LLMs能够处理新任务即使没有先前的示例或对任务的理解。它通过一种称为“提示”的技术运作即只需向大语言模型提供所需任务的自然语言描述。少样本提示虽然大语言模型展示出卓越的零样本能力但在使用零样本设置时它们在处理更复杂的任务时仍存在不足。少样本提示可以作为一种技术实现上下文学习即在提示中提供示例引导模型获得更好的性能。这些示例作为后续示例的条件我们希望模型为后续示例生成响应。思维链提示思维链提示是一种有助于人工智能系统将复杂任务分解为可管理步骤的技术。这种方法不是一次性解决具有挑战性的问题而是通过将解决方案分解为一系列较小的增量步骤来促进推理过程的解释。它首先明确定义最终目标然后考虑实现该目标所需的逻辑前提和子任务。 6.2 微调 微调是一个有用的过程它允许用户针对特定任务定制预训练的语言模型LLMs。通过在包含特定任务数据的小数据集上对模型进行微调可以在保持其整体语言理解能力的同时提高其在该特定任务上的性能。主要的两种微调方法如下 全指令微调全指令微调是一种用于使大语言模型LLMs适应特定任务的技术。该过程涉及使用特定任务的数据调整大语言模型的所有参数。这种调整使模型能够在特定任务上更有效地执行可能会导致性能提升。之所以需要全指令微调是因为即使是最强大的预训练大语言模型也可能无法直接满足特定需求。例如一个应用程序可能需要独特的结构或风格或者预训练的大语言模型可能缺乏对该应用程序至关重要的特定文档的知识。此外某些领域、行业甚至特定企业通常具有在一般预训练数据中未显著体现的独特术语、概念和结构。因此全指令微调是使大语言模型适应更特定用例的有价值方法。参数高效微调参数高效微调PEFT是一种用于使大型预训练模型适应各种下游应用而无需微调模型所有参数的技术。这是因为微调所有参数的成本可能过高。相反PEFT方法仅微调少量额外的模型参数。这显著降低了计算和存储成本同时产生与完全微调模型相当的性能。PEFT解决了诸如在消费级硬件上进行全量微调不可行、为每个下游任务独立存储和部署微调模型成本高昂等问题。它还克服了在大语言模型LLMs全量微调期间观察到的灾难性遗忘问题。在本文中我们将利用提示工程技术利用Langchain模板功能构建一个优化的提示用于在股票市场中进行情感分析。目标是创建一个提示不仅提供情感分析还能为模型的推断提供解释。 template
从新闻文章中识别对苹果AAPL股票的情绪情绪评分范围为-10到10其中-10表示最负面10表示最正面0表示中性。
同时给出你的答案的合理解释以及它将如何影响不同股票的价格。
文章{statement}# 使用Langchain PromptTemplate功能形成提示
prompt PromptTemplate(templatetemplate, input_variables\[statement\])
llm\_chain LLMChain(promptprompt, llmlanguage\_model) 现在我们已经建立了大语言模型链下面给出一个推理示例。 6.3 运行大语言模型链 输出如下所示 点击标题查阅往期内容 【视频】LSTM模型原理及其进行股票收盘价的时间序列预测讲解|附数据代码 左右滑动查看更多 01 02 03 04 七、分析 为了分析苹果AAPL股票的市场状况我们将分析100篇文章并得出一些结论。首先我们必须确保不超过模型的令牌限制我的模型限制是4097。因此我们将过滤掉令牌数小于3500的文章 # 计算令牌数量的函数
def count\_token\_numbers(text):tokens text.split()return len(tokens) 现在我将更改提示模板以便获得简洁的输出 template_2
从新闻文章中识别对苹果AAPL股票的情绪评分范围为-10到10其中-10表示最负面10表示最正面0表示中性。
仅用一个单词回答且该单词应为分数。
文章{statement}# 使用Langchain PromptTemplate功能形成提示
prompt\_2 PromptTemplate(templatetemplate\_2, input_variables\[statement\]) 让我们形成新的大语言模型链 下面展示一个推理 print(new\_data\_frame\[content\]\[2\])
print()
print(新闻情绪, llm\_chain\_2.run(new\_data\_frame\[content\]\[2\])) 结果如图很好我们现在能够得到简洁的输出。现在我们将创建一个for循环遍历数据并获取每条新闻的情绪 results \[\]
for i in range(0, new\_data\_frame.shape\[0\]):results.append(llm\_chain\_2.run(new\_data\_frame\[content\]\[i\])) 八、可视化 现在让我们绘制一些饼图以查看AAPL股票的市场情绪 import matplotlib.pyplot as plt
data pd.DataFrame(results) # 转换为数据帧
col_name 0 # 这是我的列名你应根据你的数据进行更改
counts data\[col\_name\].value\_counts()
# 绘制饼图
plt.pie(counts, labelscounts.index, autopct%1.1f%%, startangle140)
plt.title(f饼图)
plt.axis(equal) # 等比例确保饼图绘制为圆形
# 显示饼图
plt.show() 结果如图 饼图表明大量文章是中性的。然而为了确保准确性我们应该过滤数据只关注分析非中性信息。 8.1 删除中性值 value\_to\_delete 0
# 删除列中出现指定值的所有行
new\_data data\[data\[0\]! value\_to_delete\] 8.2 可视化新数据 counts new\_data\[col\_name\].value_counts()
# 绘制饼图
plt.pie(counts, labelscounts.index, autopct%1.1f%%, startangle140)
plt.title(f饼图)
plt.axis(equal) # 等比例确保饼图绘制为圆形
# 显示饼图
plt.show() 结果如图 观察趋势5和7的组合占数据的近40%。考虑到10、8和3等其他值正面文章的累积百分比上升到52.5%。这种模式表明普遍存在乐观情绪意味着在最近的文章中对苹果公司的看法良好。所确定的积极前景可能对塑造苹果市场表现的整体情绪产生潜在影响。 九、结论 在本研究中我们使用了API收集股票市场新闻文章并利用OpenAI的情感分析模型评估这些文章中传达的情绪。 资料获取 在公众号后台回复“领资料”可免费获取数据分析、机器学习、深度学习等学习资料。 点击文末“阅读原文” 获取全文完整代码数据资料。 本文选自《Python用langchain、OpenAI大语言模型LLM情感分析AAPL股票新闻数据及提示工程优化应用》。 点击标题查阅往期内容 Python生成对抗神经网络GAN预测股票及LSTMs、ARIMA对比分析ETF金融时间序列可视化 Python深度强化学习智能体DDPG自适应股票交易策略优化道琼斯30股票数据可视化研究 MATLAB贝叶斯优化混合Bayes-CNN-RNN分析股票市场数据与浅层网络超参数优化 Python用CEEMDAN-LSTM-VMD金融股价数据预测及SVR、AR、HAR对比可视化 Python注意力机制Attention下CNN-LSTM-ARIMA混合模型预测中国银行股票价格|附数据代码 R语言KERAS用RNN、双向RNNS递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感 Python用CNN-LSTM、ARIMA、Prophet股票价格预测的研究与分析|附数据代码 【视频讲解】线性时间序列原理及混合ARIMA-LSTM神经网络模型预测股票收盘价研究实例 RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测 结合新冠疫情COVID-19股票价格预测ARIMAKNN和神经网络时间序列分析 深度学习Keras使用神经网络进行简单文本分类分析新闻组数据 用PyTorch机器学习神经网络分类预测银行客户流失模型 PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据 Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化 R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类训练与结果评估可视化 深度学习Keras使用神经网络进行简单文本分类分析新闻组数据 Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析 R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列 R语言KERAS用RNN、双向RNNS递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感 Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化 Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析 R语言中的神经网络预测时间序列多层感知器MLP和极限学习机ELM数据分析报告 R语言深度学习用keras神经网络回归模型预测时间序列数据 Matlab用深度学习长短期记忆LSTM神经网络对文本数据进行分类 R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据MNIST MATLAB中用BP神经网络预测人体脂肪百分比数据 Python中用PyTorch机器学习神经网络分类预测银行客户流失模型 R语言实现CNN卷积神经网络模型进行回归数据分析 SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型 【视频】R语言实现CNN卷积神经网络模型进行回归数据分析 Python使用神经网络进行简单文本分类 R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析 R语言基于递归神经网络RNN的温度时间序列预测 R语言神经网络模型预测车辆数量时间序列 R语言中的BP神经网络模型分析学生成绩 matlab使用长短期记忆LSTM神经网络对序列数据进行分类 R语言实现拟合神经网络预测和结果可视化 用R语言实现神经网络预测股票实例 使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测 python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译 用于NLP的Python使用Keras的多标签文本LSTM神经网络分类