Files
aiagents-stock/README.md
T
2025-10-15 08:30:13 +08:00

936 lines
34 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🤖 复合多AI智能体股票团队分析系统
- 初心:在股市摸爬滚打多年,自学自编各种指标,花冤枉钱学习了各种战法各种策略,也曾入各种小班,总是赚少赔多,逐渐失去在股市玩的信心。自从去年deepseek上市,一直探索用ai辅助分析,且近日受tradingagents项目启发(感谢原作),多agent结合跟踪主力资金战法(某指每年收费6000rmb),用各种ai辅助编程,拼凑了这么个小程序,根据软件提供的辅助信息,实盘测试盈率还是挺高的,并且逐步形成了自己的交易系统,近一个月来,账户也慢慢在扭亏为盈。开源此软件的目的,就是为了使像我一样的小散,不再迷茫。也许这个软件不能让你发大财,但是他能给你足够的信心。最后提醒:股市有风险,入市需谨慎!
- 希望能帮到你!欢迎加微信群讨论
<img width="300" height="324" alt="image" src="https://www.sd-hn.cn/img/2wm1015.png" />
### 基于Python + Streamlit + DeepSeek的智能股票分析系统,模拟证券公司分析师团队,提供全方位的股票投资分析和决策建议。
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/f929f751-3726-48e6-bc18-919f6a599629" />
<img width="1910" height="923" alt="01" src="https://github.com/user-attachments/assets/7dcd4b2c-8b4b-428b-8a17-4d843e98a626" />
<img width="1910" height="923" alt="02" src="https://github.com/user-attachments/assets/02018fff-4e6b-4354-b258-a5da25537c38" />
## ✨1015 更新说明(最新)
### 🔔 新增Webhook通知功能 ⭐️
- **多平台支持**:支持钉钉、飞书群机器人推送通知
- **全面集成**:实时监测、智策定时分析均支持Webhook推送
- **灵活配置**
- Web界面可视化配置,简单易用
- 支持自定义关键词,匹配机器人安全设置
- 可同时启用邮件和Webhook,双重保障
- **消息格式**
- 钉钉:精美Markdown格式,信息清晰
- 飞书:交互式卡片消息,展示美观
- **智能推送**
- 实时监测:进场/止盈/止损实时提醒
- 智策分析:每日板块策略精简摘要
- 量化交易:自动下单执行通知
- **完整测试**:内置测试功能,一键验证配置
- **详细文档**:提供完整的配置指南和故障排查
<img width="1910" height="923" alt="Webhook配置界面" src="https://github.com/user-attachments/assets/webhook_config.png" />
## ✨1011 更新优化数据获取
## ✨1010 更新说明
### 🇭🇰 新增港股分析支持 ⭐️
- **市场扩展**:现已支持A股、港股、美股三大市场
- **港股代码**:支持多种格式(700/00700/HK00700
- **技术分析**:完整支持K线、技术指标、趋势判断
- **财务分析**:支持21项财务指标(ROE、市盈率、净利润等)
- **智能分析**:技术分析师、基本面分析师、风险管理师全面支持
- **使用简单**:直接输入港股代码即可分析(如:00700 腾讯控股)
## ✨1010 更新说明
### 最新更新:主力选股功能上线 ⭐️
- **智能选股**:基于主力资金流向,AI团队精选优质标的
- **数据获取**:使用问财获取前100名主力资金净流入股票
- **多维筛选**:市值范围、区间涨跌幅、财务指标等多维度筛选
- **AI分析团队**
- 💰 资金流向分析师:分析主力资金流向趋势和热点板块
- 📊 行业板块分析师:解读行业轮动和市场热点
- 📈 财务基本面分析师:评估公司财务健康度和成长性
- 👔 资深研究员:综合决策,精选3-5只优质标的
- **完整报告**:支持Markdown、HTML、CSV多格式导出
- **候选列表**:前100名主力资金股票完整列表(按资金流向排序)
- **智能匹配**:自动识别"区间主力资金流向"、"区间涨跌幅"等字段
- **季报数据**:优化季报获取,改用问财接口,数据更准确
<img width="1910" height="923" alt="主力选股功能" src="https://github.com/user-attachments/assets/main_force_selector.png" />
## ✨1009 更新说明
### 最新更新:增加支持docker部署 ⭐️
## ✨1008 更新说明
### 最新更新:增加批量分析功能 ⭐️
- **批量输入**:支持同时输入多个股票代码(每行一个或逗号分隔)
- **双模式分析**
- 顺序分析:按次序逐个分析,稳定可靠
- 多线程并行:同时分析多只股票,速度更快(推荐同时3-5只,以防api限流)
- **对比视图**:横向对比多只股票的关键指标和投资评级
- **详细卡片**:逐个查看每只股票的完整分析报告
- **智能筛选**:按评级、涨跌幅、信心度等条件快速筛选
- **智能筛选**:分析结果自动保存到历史记录
### 1006增加跟踪主力资金mcp,增加环境配置功能
### 1005增加股票监测功能,增加历史记录中个股导入到监测板块
## ✨ 功能特色
### 🎯 多维度分析
- **技术面分析**:趋势判断、技术指标、支撑阻力位分析
- **基本面分析**:财务指标、估值分析、行业研究
- **资金面分析**:资金流向、主力行为、市场情绪
- **风险管理**:风险识别、风险评估、风险控制策略
- **市场情绪**:投资者情绪、热点板块、消息面分析
### 🤖 AI智能体团队
- **技术分析师**:专注技术指标和图表分析
- **基本面分析师**:专注公司价值和行业研究(含13+财务指标)
- **资金面分析师**:专注资金流向和主力行为
- **风险管理师**:专注风险识别和控制
- **市场情绪分析师**:专注市场心理和情绪分析
- **新闻公告分析师**:专注热点新闻及公告影响分析
### 📊 完整分析流程
1. 📈 获取股票数据(支持A股、港股和美股)
2. 📊 获取详细数据(三大报表+财务指标+20日资金数据+新闻+公告)
3. 🔍 多智能体并行分析
4. 🤝 团队综合讨论
5. 📋 最终投资决策
6. 🎯 操作建议和风险提示
7. 📄 PDF报告导出
### 🔥 批量分析功能(新增)⭐️
- **批量输入支持**:一次性输入多只股票代码
- **两种分析模式**
- 顺序分析:稳定可靠,适合少量股票
- 多线程并行:快速高效,适合大量股票(最多3个并发)
- **实时进度显示**:清晰展示每只股票的分析进度和状态
- **对比分析表格**
- 横向对比多只股票的关键指标
- 投资评级可视化(买入/持有/卖出)
- 智能筛选和排序功能
- **详细卡片视图**:逐个查看完整的分析报告
- **批量保存**:所有分析结果自动保存到数据库
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/836d758f-df6d-44a1-b64a-fd6ad442cb0f" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/903a64c7-7018-44dd-aa87-af4f7904048c" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/d9878153-d743-4d65-9575-62ac37f8cbfb" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/1c1c27af-1fe8-46e8-9e4a-68ead604a24d" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/242ee212-ba6c-4e0a-ae16-47aff3f356e6" />
### 🎯 主力选股功能(新增)⭐️
- **智能选股**:基于主力资金流向,筛选优质投资标的
- **数据来源**:问财数据,获取区间主力资金净流入前100名股票
- **多维筛选**
- 起始日期:自定义区间开始日期
- 市值范围:50亿-5000亿灵活设置
- 涨跌幅限制:过滤涨幅过高的股票,避免追高
- **AI分析团队**
- 💰 **资金流向分析师**:分析主力资金动向、热点板块、资金持续性
- 📊 **行业板块分析师**:解读行业轮动、板块联动、市场情绪
- 📈 **财务基本面分析师**:评估公司盈利能力、成长性、财务健康度
- 👔 **资深研究员**:综合三大分析师意见,精选3-5只优质标的
- **批量分析**:一次性分析100只股票,效率高
- **完整报告**
- 📄 Markdown格式:便于编辑和二次处理
- 🌐 HTML格式:美观易读,支持浏览器打开
- 📊 CSV格式:候选股票完整数据导出
- **候选列表**:前100名股票按主力资金流向排序展示
- **关键指标**:区间主力资金流向、区间涨跌幅、市值、市盈率、市净率等
<img width="1910" height="923" alt="主力选股界面" src="https://github.com/user-attachments/assets/main_force_ui.png" />
<img width="1910" height="923" alt="AI分析报告" src="https://github.com/user-attachments/assets/main_force_report.png" />
### 🔍 实时监测功能
- **智能监测**:自动监控股票价格变动
- **关键位置提醒**:进场区间、止盈位、止损位触发通知
- **自定义间隔**:30秒至300秒灵活设置
- **多种通知方式**:网页提醒 + 邮件通知
- **卡片式管理**:直观的股票监测卡片展示
- **完整功能**:添加、编辑、删除、启停、通知开关
- **一键加入监测**:支持历史记录中一键加入监测功能
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/ca39f4c6-5922-4df5-b38f-8a45a3dbdfb9" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/1463fc59-05aa-4201-a4aa-15e6da373cb7" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/a283fcf9-5ea9-42e5-876f-82920a74dd33" />
### 🤖 量化交易功能(MiniQMT集成)
- **自动交易执行**:监测触发后自动下单
- **智能仓位管理**:灵活配置单股最大仓位比例
- **多种订单类型**:市价单、限价单、止损单支持
- **风险控制**:自动止损、止盈功能
- **持仓监控**:实时查看持仓和盈亏
- **预留接口**:完整的MiniQMT对接接口,可对接真实交易
<img width="1907" height="919" alt="image" src="https://github.com/user-attachments/assets/ea499f1e-5c11-4596-a359-d14de77bff9b" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/a85defbf-321a-4fe2-b491-6855f2aa366c" />
<img width="1869" height="906" alt="image" src="https://github.com/user-attachments/assets/d59de299-6300-4669-9902-7754da7407db" />
### 📧 通知系统
#### 📱 Webhook通知(新增)⭐️
- **双平台支持**:钉钉群机器人、飞书群机器人
- **实时推送**:股票监测提醒、智策分析报告即时送达
- **灵活配置**:Web界面可视化配置,支持自定义关键词
- **消息格式**
- 钉钉:Markdown格式,信息清晰美观
- 飞书:交互式卡片,展示丰富多彩
- **通知场景**
- 实时监测:价格进入进场区间、达到止盈位、触及止损位
- 智策分析:每日板块策略、投资机会推送
- 量化交易:自动下单执行通知
- **测试功能**:一键测试Webhook配置,快速验证
#### 📧 邮件通知
- **多邮箱支持**QQ邮箱、163邮箱、Gmail等
- **触发条件**
- 价格进入进场区间
- 达到止盈位
- 触及止损位
- **测试功能**:一键测试邮件配置
- **历史记录**:完整的通知历史查询
#### 🔔 双重保障
- **同时启用**:Webhook和邮件可同时使用
- **互为补充**:Webhook实时查看,邮件详细存档
- **灵活选择**:可单独使用任一通知方式
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/a1a3c1ca-f97f-43eb-a043-1011c09e06d0" />
<img width="1910" height="923" alt="image" src="https://github.com/user-attachments/assets/1808f284-e922-4eac-bfea-134996de93f1" />
### 🎨 现代化界面
- **渐变背景设计**:专业的紫色渐变配色
- **响应式布局**:支持桌面、平板、手机
- **实时数据可视化**:Plotly交互式图表
- **卡片式展示**:清晰的信息模块化
- **动画交互**:流畅的悬停和过渡效果
## 🚀 快速开始
### 部署方式选择
本系统支持两种部署方式:
- **🐳 Docker部署(推荐)**:一键启动,环境隔离,适合所有用户
- **💻 本地部署**:传统方式,适合开发者
---
## 🐳 方式一:Docker 部署(推荐)⭐️
### 优势
- ✅ 无需配置Python和Node.js环境
- ✅ 一键启动,开箱即用
- ✅ 环境隔离,不影响系统
- ✅ 跨平台支持(Windows/macOS/Linux
- ✅ 自动重启,稳定可靠
### 前置要求
- Docker 20.10+
- Docker Compose 2.0+(推荐)
- DeepSeek API Key
### 快速开始
#### 1. 安装 Docker
- **Windows/macOS**: 下载安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/)
- **Linux**:
```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
#### 2. 配置环境变量
```bash
# Windows (PowerShell)
Copy-Item .env.example .env
# Linux/macOS
cp .env.example .env
```
编辑 `.env` 文件,填入您的 DeepSeek API Key
```env
DEEPSEEK_API_KEY=sk-your-actual-api-key-here
```
#### 3. 启动服务
```bash
# 使用 Docker Compose(推荐)
docker-compose up -d
# 或使用 Docker 命令
docker build -t agentsstock1 .
docker run -d -p 8503:8501 -v $(pwd)/.env:/app/.env --name agentsstock1 agentsstock1
```
#### 4. 访问系统(为避免端口冲突,已将运行端口改为8503)
打开浏览器访问:http://localhost:8503
#### 5. 常用命令
```bash
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
```
**📖 详细文档**:查看 [DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md) 获取完整的Docker部署指南和故障排除。
---
## 💻 方式二:本地部署
### 1. 环境要求
- Python 3.8+(微软store或官网,推荐3.12)
- Node.js 16+ (微软store或官网,pywencai需要)
- 稳定的网络连接(大陆网络请关闭vpn)
- DeepSeek API Key
### 2. 安装依赖
创建激活虚拟环境(powershell)并安装依赖
```bash
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
```
### 3. 配置API
#### 方法一:使用环境变量文件(推荐)
1. 复制环境变量模板文件:
```bash
# Windows (PowerShell)
Copy-Item .env.example .env
# 或者使用命令
cp .env.example .env
```
2. 编辑 `.env` 文件,设置您的配置(也可在前端web界面-环境配置中设置):
```env
# DeepSeek API配置(必需)
DEEPSEEK_API_KEY=your_actual_deepseek_api_key_here
# 邮件通知配置(可选)
EMAIL_ENABLED=false
SMTP_SERVER=smtp.qq.com
SMTP_PORT=587
EMAIL_FROM=your_email@qq.com
EMAIL_PASSWORD=your_authorization_code
EMAIL_TO=receiver@example.com
# Webhook通知配置(可选)⭐️ 新增
WEBHOOK_ENABLED=false
WEBHOOK_TYPE=dingtalk # 或 feishu
WEBHOOK_URL=your_webhook_url_here
WEBHOOK_KEYWORD=股票 # 钉钉自定义关键词,飞书可留空
# MiniQMT量化交易配置(可选)
MINIQMT_ENABLED=false
MINIQMT_ACCOUNT_ID=your_account_id
MINIQMT_HOST=127.0.0.1
MINIQMT_PORT=58610
```
#### 方法二:设置系统环境变量
您也可以直接在系统环境变量中设置:
- 变量名:`DEEPSEEK_API_KEY`
- 变量值:您的API密钥
**注意**:环境变量文件的优先级高于系统环境变量。
### 4. 启动系统
```bash
.\venv\Scripts\Activate.ps1
python run.py
```
或者直接运行:
```bash
.\venv\Scripts\Activate.ps1
streamlit run app.py
```
### 5. 访问系统
打开浏览器访问:http://localhost:8501
---
## 📊 使用指南
### 股票代码格式
- **A股**6位数字代码(如 000001, 600036, 600519, 000858
- **港股**1-5位数字代码(如 700, 00700, 9988, 01810)或带HK前缀(如 HK00700
- **美股**:字母代码(如 AAPL, MSFT, GOOGL, TSLA, NVDA
### 单个股票分析流程
1. 选择"单个分析"模式
2. 在输入框中输入股票代码
3. 选择要参与分析的分析师团队
4. 点击"开始分析"按钮
5. 等待AI分析师团队完成分析
6. 查看各维度分析报告
7. 阅读团队讨论结果
8. 获取最终投资决策
### 批量股票分析流程 ⭐️ 新增
1. **选择批量分析模式**
- 点击"批量分析"单选按钮
- 选择分析模式:顺序分析 或 多线程并行
2. **输入股票代码**
- 支持多种格式:
```
# 每行一个代码
000001
600036
600519
# 或逗号分隔
000001, 600036, 600519
# 或空格分隔
000001 600036 600519
```
3. **配置分析参数**
- 选择数据周期(1y, 6mo, 3mo, 1mo
- 选择要参与的分析师团队
4. **开始批量分析**
- 点击"开始批量分析"按钮
- 系统会实时显示分析进度
- 每只股票的分析状态都会更新
5. **查看分析结果**
- **对比表格模式**
- 横向对比所有股票的关键指标
- 投资评级用颜色标识(绿色=买入,黄色=持有,红色=卖出)
- 可按评级筛选
- 可按涨跌幅、信心度、RSI等排序
- **详细卡片模式**
- 从下拉列表选择要查看的股票
- 查看完整的分析报告
- 包含图表、各分析师意见、团队讨论、最终决策
6. **结果管理**
- 所有分析结果自动保存到历史记录
- 点击"清除结果"可清空当前批量分析结果
- 失败的股票会单独列出,显示失败原因
### 批量分析使用技巧
- **建议数量**:一次分析不超过20只股票
- **模式选择**
- 3-5只股票:建议使用顺序分析,更稳定
- 6只以上:建议使用多线程并行,更快速
- **注意事项**
- 多线程模式最多3个并发,避免API限流
- 批量分析时间较长,请耐心等待
- 可在历史记录中查看所有分析结果
### 主力选股功能使用流程 ⭐️ 新增
1. **进入主力选股**
- 点击侧边栏"🎯 主力选股"按钮
2. **设置筛选参数**
- **起始日期**:选择区间开始日期(如"2025年7月23日"
- **市值范围**
- 最小市值:默认50亿(可调整)
- 最大市值:默认5000亿(可调整)
- **最大涨跌幅**:默认50%(过滤涨幅过高的股票)
3. **开始分析**
- 点击"🚀 开始主力选股分析"按钮
- 系统会自动:
- 从问财获取前100名主力资金净流入股票
- 按条件筛选(市值、涨跌幅)
- AI分析师团队进行整体分析
- 资深研究员精选3-5只优质标的
4. **查看分析结果**
- **统计信息**
- 获取股票数:原始数据量
- 筛选后:符合条件的股票数
- 最终推荐:精选的优质标的数量
- **AI分析师报告**(三个标签页):
- 💰 资金流向分析:主力资金动向、热点板块
- 📊 行业板块分析:行业轮动、板块联动
- 📈 财务基本面分析:盈利能力、成长性评估
- **精选推荐**
- 展开查看每只推荐股票的详细信息
- 推荐理由、关键指标、能力评分
- **候选股票列表**
- 前100名股票完整列表
- 按主力资金流向排序
- 包含行业、资金流向、涨跌幅、市值、市盈率等
5. **导出报告**
- 📄 **下载Markdown报告**:便于编辑和二次处理
- 🌐 **下载HTML报告**:美观易读,可打印
- 📊 **下载候选列表CSV**:Excel打开,便于筛选排序
6. **使用技巧**
- **起始日期**:建议选择近3-6个月的日期
- **市值范围**:中小盘(50-300亿)波动较大,大盘(300-5000亿)相对稳定
- **涨跌幅限制**:建议30%-50%,避免追高
- **查看调试信息**:展开"🔍 调试信息"查看实际获取的列名
### 结果解读
- **投资评级**:买入/持有/卖出
- **目标价位**:预期价格目标
- **操作建议**:具体交易策略
- **进出场位置**:关键价位点
- **止盈止损**:风险控制位置
- **风险提示**:主要风险因素
### 实时监测功能
#### 快速开始
1. 点击侧边栏"📊 实时监测"按钮
2. 在监测管理页面点击"添加监测股票"
3. 填写股票信息和监测参数
4. 点击"▶️ 启动监测"开始自动监控
#### 添加监测股票
**必填信息**
- **股票代码**:6位A股代码或美股字母代码
- **股票名称**:便于识别
- **投资评级**:买入/持有/卖出
**监测参数**
- **进场区间**:设置最小和最大价格
- 当股票价格进入该区间时触发通知
- 用于把握最佳买入时机
- **止盈位**:目标卖出价格
- 价格达到或超过该值时提醒
- 帮助锁定收益
- **止损位**:最大亏损价格
- 价格跌破该值时立即提醒
- 控制投资风险
- **检查间隔**30-300秒
- 监测频率,建议60秒以上
- 避免过于频繁的API调用
#### 管理监测股票
**查看功能**
- 📊 实时价格显示
- 📈 涨跌幅展示
- ⏰ 最后检查时间
- 🔔 通知状态
**操作按钮**
- 🔄 **更新**:手动刷新当前价格
- ✏️ **编辑**:修改监测参数
- 🔔/🔕 **通知开关**:启用/禁用通知
- 🗑️ **删除**:移除监测
**批量操作**
- ▶️ 启动监测:开始后台自动监控所有股票
- ⏹️ 停止监测:暂停监控服务
- 🔄 刷新状态:更新显示信息
#### 通知系统
**网页通知**
- 自动在界面显示提醒
- 实时查看通知历史
- 支持标记已读和清空
**邮件通知配置**
1. **编辑.env文件**
```env
EMAIL_ENABLED=true
SMTP_SERVER=smtp.qq.com
SMTP_PORT=587
EMAIL_FROM=your_email@qq.com
EMAIL_PASSWORD=your_authorization_code
EMAIL_TO=receiver@example.com
```
2. **获取邮箱授权码**
- **QQ邮箱**:设置 → 账户 → POP3/IMAP/SMTP → 生成授权码
- **163邮箱**:设置 → POP3/SMTP/IMAP → 开启服务 → 设置授权密码
- **Gmail**:开启两步验证 → 生成应用专用密码
3. **测试邮件配置**
- 进入"通知管理"区域
- 点击"📧 发送测试邮件"
- 检查收件箱(含垃圾箱)
**Webhook通知配置** ⭐️ 新增:
1. **方法一:Web界面配置(推荐)**
- 进入"⚙️ 环境配置" → "📢 通知配置"
- 勾选"启用Webhook通知"
- 选择类型(钉钉/飞书)
- 填写Webhook URL和关键词
- 点击"💾 保存配置"
2. **方法二:编辑.env文件**
```env
WEBHOOK_ENABLED=true
WEBHOOK_TYPE=dingtalk
WEBHOOK_URL=https://oapi.dingtalk.com/robot/send?access_token=xxxxx
WEBHOOK_KEYWORD=股票
```
3. **创建钉钉机器人**
- 钉钉群 → 设置 → 智能群助手 → 添加机器人 → 自定义
- 安全设置:自定义关键词(如:股票、分析)
- 复制Webhook地址到配置中
4. **创建飞书机器人**
- 飞书群 → 设置 → 群机器人 → 添加机器人 → 自定义机器人
- 设置名称:AI股票分析系统
- 复制Webhook地址到配置中
5. **测试配置**
- 进入"📊 实时监测" → "🔔 通知管理"
- 点击"📱 发送测试Webhook"
- 检查钉钉/飞书群是否收到消息
**通知触发条件**
- ✅ 价格进入进场区间 → 进场提醒
- ✅ 价格达到止盈位 → 止盈提醒
- ✅ 价格跌破止损位 → 止损提醒
- ✅ 智策定时分析 → 板块策略推送
#### 使用技巧
**参数设置建议**
- **进场区间**:根据技术分析设定支撑位和阻力位
- **止盈位**:建议设置10-20%的盈利目标
- **止损位**:建议设置5-10%的止损线
- **检查间隔**
- 长线投资:180-300秒
- 短线交易:30-60秒
**监测策略**
1. 分析后添加到监测列表
2. 设置合理的进场区间等待买入信号
3. 买入后调整为止盈/止损监测
4. 收到通知后及时决策
**注意事项**
- ⚠️ 监测间隔不要设置太短,避免频繁API调用
- ⚠️ 邮件通知有延迟,不适用于高频交易
- ⚠️ 定期检查监测服务运行状态
- ⚠️ 及时处理触发的通知,避免错过时机
## 🏗️ 系统架构
```
AI股票分析系统
├── app.py # Streamlit主界面
├── stock_data.py # 股票数据获取模块
├── deepseek_client.py # DeepSeek API客户端
├── ai_agents.py # AI智能体分析模块
├── monitor_manager.py # 监测管理界面
├── monitor_service.py # 监测服务后台
├── monitor_db.py # 监测数据库管理
├── notification_service.py # 通知服务(邮件/界面)
├── miniqmt_interface.py # MiniQMT量化交易接口 ⭐️
├── pdf_generator.py # PDF报告生成
├── database.py # 分析记录数据库
├── config.py # 配置文件
├── requirements.txt # 依赖包列表
├── run.py # 启动脚本
├── Dockerfile # Docker镜像构建文件 🐳
├── docker-compose.yml # Docker编排配置文件 🐳
├── .dockerignore # Docker构建忽略文件 🐳
└── DOCKER_DEPLOYMENT.md # Docker部署详细文档 🐳
```
### 核心模块说明
#### 📈 股票数据模块 (stock_data.py)
- 支持A股和美股数据获取
- 集成yfinance和akshare数据源
- 自动计算技术指标(MA、RSI、MACD、KDJ等)
- 获取详细财务数据(三大报表+13+财务指标)
- 数据清洗和格式化
#### 🤖 AI智能体模块 (ai_agents.py)
- 多个专业分析师AI角色
- 并行分析处理
- 团队讨论机制
- 最终决策生成
- 财务数据深度解读
#### 🔗 API客户端 (deepseek_client.py)
- DeepSeek API封装
- 智能对话管理
- 错误处理和重试
- 响应格式解析
- 支持多模型切换
#### 🔍 监测管理模块 (monitor_manager.py)
- 股票监测管理界面
- 添加/编辑/删除监测
- 卡片式展示
- 搜索和筛选功能
- 通知历史管理
#### ⚙️ 监测服务模块 (monitor_service.py)
- 后台监测线程
- 定时价格检查
- 触发条件判断
- 自动通知发送
- 启动/停止控制
#### 💾 监测数据库 (monitor_db.py)
- SQLite数据持久化
- 监测股票表
- 价格历史表
- 通知记录表
- CRUD操作接口
#### 📧 通知服务模块 (notification_service.py) ⭐️ 增强
- **邮件通知**:发送详细分析报告
- **Webhook通知** ⭐️ 新增:
- 钉钉群机器人推送(Markdown格式)
- 飞书群机器人推送(交互式卡片)
- 自定义关键词支持
- 自动错误处理和重试
- **网页通知**:界面实时提醒
- **多平台支持**QQ邮箱/163邮箱/Gmail/钉钉/飞书
- **通知历史管理**:完整记录和查询
- **配置测试功能**:一键测试邮件和Webhook
#### 🎯 主力选股模块 ⭐️ 新增
**main_force_selector.py**
- 问财数据获取(主力资金净流入)
- 多维度筛选(市值、涨跌幅)
- 智能列名匹配
- 数据格式化和清洗
**main_force_analysis.py**
- AI分析师团队协作
- 整体数据分析(100只股票)
- 资金流向分析
- 行业板块分析
- 财务基本面分析
- 资深研究员决策
**main_force_ui.py**
- 参数配置界面
- 分析进度显示
- 结果可视化展示
- 报告导出功能
**main_force_pdf_generator.py**
- Markdown报告生成
- HTML报告生成
- CSV数据导出
- 美观格式化输出
#### 🤖 量化交易模块 (miniqmt_interface.py) ⭐️ 新增
- MiniQMT接口对接
- 自动交易执行
- 仓位管理
- 风险控制
- 订单管理
- 持仓监控
- 预留接口实现
#### 📄 PDF生成模块 (pdf_generator.py)
- 专业分析报告生成
- 中文字体支持
- 完整分析内容
- 一键下载功能
#### 🎨 前端界面 (app.py)
- 现代化渐变UI设计
- 响应式布局
- 三大功能模块(分析/监测/历史)
- 实时数据可视化
- 交互式操作
- 美观的动画效果
## 📋 技术特性
### 数据源
- **美股数据**Yahoo Finance (yfinance)
- **A股数据**AKShare免费接口
- **主力资金数据**:问财(pywencai)- 主力选股功能 ⭐️
- **季报数据**:问财(pywencai)- 财务数据补充 ⭐️
- **技术指标**TA-Lib技术分析库
### AI模型
- **语言模型**DeepSeek Chat API
- **分析框架**:多智能体协作
- **决策逻辑**:综合评分机制
### 可视化
- **图表库**Plotly交互式图表
- **K线图**:蜡烛图with技术指标
- **指标图**RSI、MACD、布林带等
### 性能优化
- **数据缓存**Streamlit缓存机制
- **异步处理**:并行分析提升效率
- **错误处理**:完善的异常处理机制
## ⚙️ 高级配置
### API配置
```env
# .env 文件
DEEPSEEK_API_KEY=your_api_key
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
```
**重要提示**
- 请将 `.env.template` 复制为 `.env` 文件
- 在 `.env` 文件中填写实际的API密钥
- 不要将 `.env` 文件提交到版本控制系统
### 数据配置
```python
DEFAULT_PERIOD = "1y" # 默认数据周期
DEFAULT_INTERVAL = "1d" # 默认数据间隔
```
### 系统参数
- **缓存时间**:300秒(5分钟)
- **API超时**30秒
- **最大重试**3次
## 🛠️ 故障排除
### 常见问题
1. **API Key错误**
- 检查.env文件中的DEEPSEEK_API_KEY设置
- 确保.env文件存在且格式正确
- 确保API Key有效且有足够余额
2. **股票数据获取失败**
- 检查网络连接
- 确认股票代码格式正确(A股6位数字,美股字母代码)
- 可能是数据源临时不可用,稍后重试
3. **财务数据获取失败**
- 部分新股可能没有完整财务数据
- 网络问题可能导致数据获取超时
- 系统会自动处理,继续进行其他分析
4. **依赖包安装失败**
- 使用 `pip install -r requirements.txt`
- 如有问题,尝试手动安装单个包
- 确保Python版本为3.8+
5. **页面加载缓慢**
- 首次运行需要下载数据,请耐心等待
- 系统有5分钟缓存,重复查询会更快
- 财务数据获取较慢,约需10-20秒
6. **分析过程中出错**
- 检查网络连接是否稳定
- 查看终端输出的详细错误信息
- 尝试重新启动应用
7. **MiniQMT连接失败**
- 确认MiniQMT客户端已启动
- 检查账户已登录
- 验证账户ID配置正确
- 确认网络连接正常
- 查看 `MINIQMT_INTEGRATION_GUIDE.md` 详细指南
8. **量化交易未执行**
- 确认量化功能已启用
- 检查MiniQMT连接状态
- 验证监测服务是否运行
- 查看通知记录中的错误信息
- 确认交易时间在交易日内
9. **Docker部署问题** 🐳
- **容器启动失败**
- 检查Docker是否正常运行:`docker ps`
- 查看容器日志:`docker-compose logs -f`
- 确认.env文件已正确配置
- **端口被占用**
- 修改docker-compose.yml中的端口映射(如改为8502:8501)
- **无法访问网页**
- 确认容器正在运行:`docker ps`
- 检查防火墙设置
- 尝试访问:http://localhost:8501
- **数据库权限问题**Linux/macOS):
- 修改数据库文件权限:`chmod 666 *.db`
- **Node.js相关错误**
- 容器内已集成Node.js环境,无需额外配置
- 进入容器检查:`docker exec -it agentsstock1 bash`
- **详细文档**:查看 `DOCKER_DEPLOYMENT.md` 获取完整的故障排除指南
10. **Webhook通知问题** ⭐️ 新增
- **未收到Webhook消息**
- 检查 `WEBHOOK_ENABLED=true` 是否已设置
- 验证Webhook URL是否完整正确
- 确认机器人未被移出群聊
- 检查网络连接是否正常
- **钉钉关键词不匹配(错误码310000)**:
- 确认机器人安全设置中的关键词
- 在.env中设置 `WEBHOOK_KEYWORD=股票`(与机器人设置一致)
- 或添加关键词:股票、分析、智策、监测
- **飞书消息发送失败**
- 确认选择 `WEBHOOK_TYPE=feishu`
- 检查Webhook URL是否为飞书格式
- 飞书不需要关键词,可设置 `WEBHOOK_KEYWORD=""`
- **消息格式异常**
- 确认选择了正确的Webhook类型(钉钉/飞书)
- 重新保存配置并重启应用
- **测试Webhook**
- 进入"📊 实时监测" → "🔔 通知管理"
- 点击"📱 发送测试Webhook"验证配置
- 查看终端日志了解详细错误信息
- **详细文档**:查看 `Webhook通知配置指南.md` 获取完整配置教程
### 日志调试
系统运行时会在控制台输出详细日志,可用于问题诊断。如遇到错误,请查看终端输出。
**Docker部署日志查看**
```bash
# 实时查看日志
docker-compose logs -f
# 或查看特定容器日志
docker logs -f agentsstock1
```
### 相关文档
**通知系统文档** ⭐️
- [Webhook通知配置指南.md](Webhook通知配置指南.md) - Webhook完整配置教程
- [Webhook功能完成说明.md](Webhook功能完成说明.md) - Webhook功能详细说明
- [Webhook自定义关键词功能说明.md](Webhook自定义关键词功能说明.md) - 关键词配置指南
- [邮件配置指南.md](邮件配置指南.md) - 邮件通知配置
**其他功能文档**
- [环境配置功能说明.md](环境配置功能说明.md) - 完整环境配置说明
- [环境配置快速指南.md](环境配置快速指南.md) - 快速配置参考
- [实时监测优化说明.md](实时监测优化说明.md) - 实时监测功能详解
- [智策定时分析使用指南.md](智策定时分析使用指南.md) - 智策板块分析
- [主力选股使用指南.md](主力选股使用指南.md) - 主力选股功能
- [量化交易快速指南.md](量化交易快速指南.md) - MiniQMT集成指南
- [DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md) - Docker部署详细文档
### 错误报告
如发现bug,请查看 `BUGFIX.md` 文件了解已知问题和解决方案。
## 📜 免责声明
本系统仅供学习和研究使用,不构成投资建议。股票投资有风险,入市需谨慎。使用本系统进行投资决策的风险由用户自行承担。
## 🤝 贡献指南
欢迎提交Issue和Pull Request
## 📄 许可证
MIT License
---
**享受AI驱动的智能股票分析体验!** 🚀📈任何疑问请留言或联系ws3101001@126.com
**技术支持:山东科技大学 于舒馨**