1. 项目概述
这个股票分析AI项目是我在过去三个月里逐步构建起来的一套自动化投资分析工具。它的核心功能是通过整合技术指标、新闻舆情、财务数据和期权信息,结合大语言模型(LLM)的分析能力,为投资者生成结构化的股票分析报告。
作为一个长期关注量化投资的开发者,我发现市面上大多数分析工具要么过于技术化(充斥着专业术语和复杂图表),要么过于简单(仅提供基础指标)。这个项目试图在专业性和易用性之间找到平衡点,让普通投资者也能获得机构级别的分析视角。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 核心模块设计
项目的模块化设计是其最大的亮点之一。通过清晰的职责划分,每个功能模块都能独立开发和测试:
code复制stock-agent/
├── server.py # FastAPI服务入口
├── llm.py # LLM调用封装
├── config/ # 配置管理
│ ├── llm_config.py # 模型参数配置
│ └── tickers.py # 股票池管理
├── agents/ # 分析能力实现
│ ├── technical.py # 技术分析
│ ├── news.py # 新闻分析
│ └── ...
├── chains/ # LangChain实现
├── report/ # 报告生成
└── data/ # 数据存储
这种结构特别适合需要频繁迭代的AI项目。例如,当需要新增加密货币分析时,只需在agents/下添加crypto.py模块,而不会影响现有功能。
2.2 关键技术选型
技术栈的选择体现了实用主义原则:
-
数据获取:yfinance库虽然简单,但覆盖了美股、A股和港股的主要数据需求。它的轻量级特性避免了维护复杂数据管道的负担。
-
模型服务:Ollama作为默认选项,支持本地部署的Llama3等开源模型,既保证了隐私又降低了API成本。DeepSeek和OpenAI作为备选,提供云端解决方案。
-
服务框架:FastAPI+uvicorn的组合提供了高性能的API服务,特别适合需要低延迟响应的金融应用场景。
提示:在金融数据分析场景中,响应时间至关重要。我们的测试显示,FastAPI的平均响应时间比Flask快30%,特别是在处理并发请求时表现更优。
3. 核心工作流程
3.1 标准分析流程
当用户请求/report接口时,系统执行以下标准化流程:
- 股票筛选:根据市场类型
