今天我与大家分享AI大模型技术在金融分析与量化交易方面的应用,基于阿里通义千问最新推出的Qwen2大模型,我构建了一个股票自动化技术分析与可视化系统。
这个系统主要使用talib、streamlit、openai等多种技术工具和库来获取、分析股票数据,并通过SiliconCloud提供的Qwen2大模型接口对股票的技术指标进行智能分析与可视化。只要输入个股代码,即可获取股票的技术分析数据可视化、AI智能分析和投资参考结果,如下图所示:
我们以英伟达(NVDA)股票为例,输入股票代码NVDA,并选定分析的时间范围,系统基于Qwen2大模型自动输出结果,并对移动平均线、MACD、RSI、OBV等技术分析指标进行可视化展示:
,时长06:06
由于篇幅有限,本文仅展示部分代码。点击这里可以获取完整代码和技术文档下载方式(文末也可扫码获取)。接下来,我将逐步解释代码的每一部分,让大家对这个系统有更清晰的认识。
导入库首先,我们需要导入多个库,每个库都有其特定的用途:yfinance帮助我们实现股票数据获取,tablib是一个处理股票数据并进行技术指标计算的Python库、streamlit可以实现API交互以及Web界面展示等功能。
定义大模型API与AI分析函数我们可以通过SiliconFlow这个平台调用Qwen2大模型,这个平台最近公测上线,可以免费获取 42 元的配额,约 3 亿 token的调用量。它与OpenAI接口适配,安装 OpenAI Python 库后即可使用。之后我们可以直接通过OpenAI的相关接口进行调用,目前平台支持了 OpenAI 相关的大多数参数。把base_url、model、api_key参数修改就可以直接用了。支持的model参数如图所示。为了与SiliconFlow API进行交互,我们定义了一个函数:siliconflow_run,这个函数通过API密钥与SiliconFlow进行通信,发送请求并接收响应:然后我们定义一个函数来调用AI模型进行股票技术分析,这个函数接收技术指标数据,构建请求并调用SiliconFlow API进行分析。:
用户输入与股票数据的获取通过Streamlit的侧边栏,我们获取用户输入的股票代码和日期。这部分代码允许用户通过Web界面输入参数。我们定义函数获取股票名称和股票数据,这些函数通过API获取股票名称和股票数据,并实现了重试机制。技术分析数据分析与展示获取数据后,我们进行技术指标计算并调用AI分析函数,然后在Web界面展示结果:通过这个系统,我们能够实时获取股票数据,计算多种技术指标,并结合最新的AI大模型进行智能分析。它可以为我们的投资决策快速提供智能化支持,特别是对于那些不太理解复杂金融指标的投资者来说,可以辅助他们更好地理解市场动向,但是在实际操作中,我们还需要结合基本面等各种因素来进行全面的分析,然后进行科学的投资决策。