一个基于多 Agent 架构的股票情报搜集、分析和报告生成系统。系统能够自动搜集股票相关的新闻、数据,进行深度分析,并生成专业的分析报告。
- 🔍 智能查询: 支持股票代码和股票名称查询
- 📰 新闻搜集: 自动搜集与股票相关的新闻、公告等信息
- 📊 数据搜集: 获取实时行情、历史价格、财务数据等
- ✅ Tushare 集成: 支持 Tushare 专业数据源(推荐)
- ✅ 多数据源支持: 自动回退到备用数据源
- 📈 技术指标: 丰富的技术指标计算
- 移动平均线(MA5/10/20/30/60)
- RSI 相对强弱指标
- MACD 指标
- 布林带(Bollinger Bands)
- KDJ 指标
- 成交量指标
- 🔮 趋势预测: 基于历史数据和技术指标的趋势预测
- 价格方向预测
- 价格区间预测
- 支撑位和阻力位分析
- 趋势强度评估
- 🧠 智能分析: 使用 LLM 进行深度分析和情感分析
- 📊 舆情分析: 增强版舆情分析功能(新增)
- ✅ 舆情发展脉络: 时间线分析、事件溯源、阶段划分
- ✅ 传播分析: 多平台声量分布、传播路径、关键节点
- ✅ 风险评估: 短期/中期/长期风险分析
- ✅ 应对策略: 分阶段应对建议(黄金期/短期/中期/长期)
- 📄 报告生成: 自动生成专业的分析报告
- ✅ 多种模板: 股票深度分析、股票舆情分析、技术分析、基本面分析等
- ✅ 自动导出 PDF: 一键生成专业 PDF 报告
- ✅ 包含趋势预测章节: 技术指标分析、风险评估
- 🌐 Web 界面: 提供美观的 Web 界面,方便使用
系统采用多 Agent 架构,包含以下核心模块:
-
StockQueryEngine - 股票查询引擎
- 股票代码验证
- 股票基本信息查询
- 股票名称搜索
-
NewsEngine - 新闻搜集引擎
- 新闻搜索和爬取
- 公告获取
- 新闻情感分析
-
DataEngine - 数据搜集引擎
- 实时行情数据
- 历史价格数据
- 财务数据
- 技术指标计算
-
AnalysisEngine - 分析引擎
- 新闻分析
- 市场分析
- 财务分析
- 综合分析
- 风险评估
-
ReportEngine - 报告生成引擎
- 报告模板管理
- 报告生成和格式化
- 报告保存
git clone https://github.com/qhdhao13/BettaFish-qhdbank.git
cd bettafish-qhdbankpip install -r requirements.txt复制 .env.example 文件为 .env,并填写相关配置:
cp .env.example .env编辑 .env 文件,配置 LLM API:
OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL_NAME=gpt-4支持的 LLM 提供商:
- OpenAI
- 任何支持 OpenAI 格式的 API(如 SiliconFlow、DeepSeek 等)
# 分析指定股票
python main.py 000001
# 或使用股票名称
python main.py 平安银行
# 交互式模式
python main.py# 启动 Web 服务器
python app.py
# 在浏览器中访问
http://localhost:5000python main.py 000001系统将:
- 查询股票基本信息
- 搜集相关新闻和公告
- 获取市场数据和财务数据
- 进行深度分析
- 生成分析报告
- 启动服务器:
python app.py - 打开浏览器访问
http://localhost:5000 - 输入股票代码或名称
- 点击"分析股票"按钮
- 查看分析结果和下载报告
在 config.py 或 .env 文件中配置 LLM:
OPENAI_API_KEY = "your_api_key"
OPENAI_BASE_URL = "https://api.openai.com/v1" # 或你的 API 地址
OPENAI_MODEL_NAME = "gpt-4" # 或你的模型名称Tushare 提供专业的股票数据,建议配置:
- 注册 Tushare 账号:https://tushare.pro/
- 获取 Token
- 在
.env文件中配置:
TUSHARE_TOKEN=your_tushare_token_here注意: 如果不配置 Tushare Token,系统会自动使用备用数据源(新浪财经、东方财富等),但数据可能不如 Tushare 完整。
系统支持多个免费数据源:
- 新浪财经 API
- 东方财富 API
- 腾讯财经 API
可以在 config.py 中调整数据源配置。
在 config.py 中调整分析参数:
# 分析深度级别:1-浅层,2-中层,3-深度
ANALYSIS_DEPTH = 2
# 最大搜索结果数
MAX_SEARCH_RESULTS = 50bettafish-qhdbank/
├── StockQueryEngine/ # 股票查询引擎
│ ├── agent.py
│ └── utils/
│ └── stock_api.py
├── NewsEngine/ # 新闻搜集引擎
│ ├── agent.py
│ └── utils/
│ └── news_crawler.py
├── DataEngine/ # 数据搜集引擎
│ ├── agent.py
│ └── utils/
│ └── data_fetcher.py
├── AnalysisEngine/ # 分析引擎
│ ├── agent.py
│ └── utils/
│ └── llm_client.py
├── ReportEngine/ # 报告生成引擎
│ ├── agent.py
│ └── report_template/
│ └── default.md
├── templates/ # Web 模板
│ └── index.html
├── reports/ # 生成的报告
├── logs/ # 日志文件
├── config.py # 配置文件
├── main.py # 命令行入口
├── app.py # Web 应用入口
└── requirements.txt # 依赖列表
- 在对应的
utils目录下创建新的数据获取类 - 实现数据获取接口
- 在 Agent 中集成新数据源
- 在
ReportEngine/report_template/目录下创建新的模板文件 - 使用
{变量名}格式定义占位符 - 在
ReportAgent中添加模板渲染逻辑
- 在
AnalysisEngine/agent.py中添加新的分析方法 - 使用
LLMClient进行深度分析 - 将分析结果整合到报告中
- 数据源限制: 免费数据源可能有请求频率限制,请合理使用
- 合规使用: 请遵守各数据源的使用条款和 robots.txt 协议
- 投资建议: 本系统生成的分析报告仅供参考,不构成投资建议
- API 密钥: 请妥善保管您的 API 密钥,不要提交到代码仓库
欢迎提交 Issue 和 Pull Request!
本项目采用 GPL-2.0 许可证。
如有问题或建议,请通过以下方式联系:
- 提交 GitHub Issue
- 发送邮件
本项目基于 BettaFish 项目的多 Agent 架构设计,感谢原项目的启发。
免责声明: 本系统仅供学习和研究使用,不构成任何投资建议。投资有风险,入市需谨慎。