增加龙虎榜批量分析功能,修复一些小bug

This commit is contained in:
oficcejo
2025-10-20 15:40:14 +08:00
parent 1bddf393e0
commit b7a8bb10b3
60 changed files with 3579 additions and 883 deletions
+378
View File
@@ -0,0 +1,378 @@
# 智策定时分析部署清单
## ✅ 功能完成情况
### 已完成模块
-**核心模块**: `sector_strategy_scheduler.py` - 定时任务核心逻辑
-**UI模块**: `sector_strategy_ui.py` - 添加定时分析设置界面
-**邮件集成**: 集成 `notification_service.py` 邮件功能
-**文档**: 完整的使用指南和快速开始文档
### 新增功能
1.**每日定时分析** - 可设置每天固定时间自动运行
2. 📧 **邮件推送** - 分析完成后自动发送到配置邮箱
3. 🎯 **手动触发** - 支持立即运行一次分析
4. 📊 **状态监控** - 实时查看定时任务运行状态
5. 🔄 **灵活控制** - 启动/停止/修改运行时间
---
## 📋 部署步骤
### 步骤1: 检查依赖
所有必需的Python库已安装:
```bash
schedule # 定时任务
smtplib # 邮件发送(Python内置)
```
### 步骤2: 配置邮件
编辑 `.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=recipient@qq.com
```
#### 常用邮箱SMTP配置
| 邮箱服务 | SMTP服务器 | 端口 | 说明 |
|---------|-----------|------|------|
| QQ邮箱 | smtp.qq.com | 587/465 | 需开启SMTP并获取授权码 |
| 163邮箱 | smtp.163.com | 465 | 需开启SMTP并获取授权码 |
| Gmail | smtp.gmail.com | 587 | 需开启两步验证和应用专用密码 |
| Outlook | smtp.office365.com | 587 | 使用账户密码 |
#### 如何获取授权码(以QQ邮箱为例)
1. 登录QQ邮箱网页版
2. 进入"设置" → "账户"
3. 找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务"
4. 开启"IMAP/SMTP服务"
5. 点击"生成授权码"
6. 将授权码填入 `EMAIL_PASSWORD`
### 步骤3: 验证邮件配置
启动程序后,在"智策板块"页面:
1. 展开"⏰ 定时分析设置"
2. 查看"邮件配置状态"
- ✅ 绿色表示配置正确
- ❌ 红色表示配置错误
### 步骤4: 设置定时任务
1. 在"设置定时时间"选择运行时间(默认9:00)
2. 点击"▶️ 启动定时任务"
3. 系统显示"✅ 定时任务已启动"
### 步骤5: 测试功能
点击"🔄 立即运行一次"按钮:
- 系统立即执行一次完整分析
- 分析完成后发送邮件
- 验证邮件是否收到
---
## 📧 邮件内容示例
### 邮件标题
```
智策板块分析报告 - 2024-01-15 09:00
```
### 邮件正文
```
智策板块分析报告
分析时间:2024-01-15 09:00:00
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 板块多空预测
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【看多板块】(信心度 ≥ 6)
✓ 新能源汽车 (信心度: 8.5) - AI新模型带来产业链机会
✓ 人工智能 (信心度: 8.0) - 政策支持,资金持续流入
✓ 半导体 (信心度: 7.5) - 国产替代加速
【看空板块】(信心度 ≥ 6)
✗ 地产开发 (信心度: 7.0) - 政策压制,成交低迷
【中性板块】
○ 医药生物 (信心度: 5.0) - 震荡整理中
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 板块轮动预测
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【强势主导板块】
🔥 人工智能 (评分: 9.0) - 持续资金涌入,保持强势
🔥 新能源汽车 (评分: 8.5) - 板块龙头带动
【潜力接力板块】
⭐ 半导体 (评分: 8.0) - 有望承接资金轮动
⭐ 军工 (评分: 7.5) - 情绪升温,关注突破
【衰退避险板块】
📉 地产开发 (评分: 3.0) - 资金持续流出
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌡️ 板块热度排行 TOP5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 🥇 人工智能 (热度: 95.0, 趋势: 🔥升温)
2. 🥈 新能源汽车 (热度: 92.0, 趋势: 🔥升温)
3. 🥉 半导体 (热度: 88.0, 趋势: ➡️持平)
4. 军工 (热度: 85.0, 趋势: 🔥升温)
5. 医药生物 (热度: 78.0, 趋势: ❄️降温)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 策略总结
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【市场观点】
科技板块延续强势,政策面和资金面支撑明确。传统板块承压,
结构性行情特征显著。
【核心机会】
1. 重点关注人工智能、新能源汽车产业链
2. 半导体板块有轮动潜力,可适度布局
3. 军工板块情绪升温,关注龙头突破
【风险提示】
1. 地产板块持续低迷,规避相关标的
2. 热门板块短期涨幅较大,注意回调风险
3. 市场波动加大,控制仓位,设置止损
【操作策略】
✓ 持有:人工智能、新能源汽车龙头
✓ 关注:半导体板块轮动机会
✓ 规避:地产、周期等弱势板块
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
完整分析请登录智策系统查看
```
---
## 🎮 使用说明
### 启动定时任务
1. 访问"智策板块"页面
2. 展开"⏰ 定时分析设置"
3. 设置运行时间
4. 点击"▶️ 启动定时任务"
5. 系统后台自动运行,无需保持页面打开
### 停止定时任务
1. 展开"⏰ 定时分析设置"
2. 点击"⏸️ 停止定时任务"
3. 任务立即停止
### 手动运行分析
1. 点击"🔄 立即运行一次"
2. 等待分析完成
3. 查收邮件
### 查看运行状态
实时显示:
- ✅ 任务运行状态(运行中/已停止)
- 📊 上次运行时间
- 📧 邮件发送状态
---
## ⚠️ 注意事项
### 1. 服务器运行
定时任务需要程序持续运行:
- **本地部署**: 保持程序运行,电脑不关机
- **服务器部署**: 使用Docker或云服务器24小时运行
- **推荐**: 使用云服务器部署(阿里云、腾讯云等)
### 2. 邮件发送限制
- QQ邮箱:每天500封上限
- 163邮箱:每天100封上限
- 智策定时分析每天1封,不会超限
### 3. 运行时间建议
- **盘前策略**: 8:00-9:00(推荐8:30
- **盘后复盘**: 15:30-17:00(推荐16:00
- **晚间研究**: 19:00-22:00(推荐21:00
### 4. 数据时效性
- 使用前一交易日收盘数据
- 盘前运行获取昨日完整数据
- 盘中数据有延迟
### 5. 网络稳定性
- 需要稳定网络连接
- 数据获取失败会自动重试3次
- 建议服务器部署在网络稳定环境
---
## 🔧 故障排查
### 问题1: 邮件发送失败
**症状**: 分析完成但未收到邮件
**排查步骤**:
1. 检查 `.env` 文件邮件配置是否正确
2. 验证SMTP服务器和端口
3. 确认授权码(不是登录密码)
4. 查看系统日志中的错误信息
5. 测试手动运行一次,观察错误提示
**解决方案**:
```bash
# 1. 验证邮件配置
检查 .env 中:
- EMAIL_ENABLED=true
- SMTP_SERVER 正确
- EMAIL_FROM 和 EMAIL_PASSWORD 正确
# 2. 测试SMTP连接
python -c "
import smtplib
server = smtplib.SMTP('smtp.qq.com', 587)
server.starttls()
server.login('your-email@qq.com', 'authorization-code')
print('✓ 邮件配置正确')
server.quit()
"
```
### 问题2: 定时任务未运行
**症状**: 到了设定时间但没有执行分析
**排查步骤**:
1. 检查定时任务状态(是否显示"运行中")
2. 确认程序是否持续运行
3. 查看系统时间是否正确
4. 检查是否有错误日志
**解决方案**:
- 重新启动定时任务
- 手动运行一次测试
- 检查系统日志
### 问题3: 数据获取失败
**症状**: 提示"数据获取失败"
**排查步骤**:
1. 检查网络连接
2. 验证AKShare接口可用性
3. 查看是否被限流
**解决方案**:
- 系统已内置3次重试机制
- 延迟1秒后再次尝试
- 如持续失败,可能是数据源维护
### 问题4: 程序崩溃
**症状**: 程序异常退出
**排查步骤**:
1. 查看Python错误堆栈
2. 检查磁盘空间
3. 验证依赖库完整性
**解决方案**:
```bash
# 重新安装依赖
pip install -r requirements.txt
# 检查模块导入
python -c "from sector_strategy_scheduler import sector_strategy_scheduler; print('OK')"
```
---
## 📊 性能监控
### 运行日志
系统会输出运行日志:
```
[智策定时] 调度器已初始化
[智策定时] 定时任务已设置为每天 09:00 运行
[智策定时] ========== 开始执行智策分析 ==========
[智策定时] 数据采集中...
[智策定时] AI分析中...
[智策定时] 发送邮件中...
[智策定时] ✓ 分析完成,邮件已发送
[智策定时] ========================================
```
### 资源占用
- **CPU**: 分析时10-30%,空闲时<1%
- **内存**: 约200-500MB
- **网络**: 数据获取约10-50MB
---
## 🚀 部署建议
### 本地开发
适合测试和开发:
```bash
# 启动程序
streamlit run app.py
# 程序运行在 http://localhost:8501
```
### 服务器部署
适合长期使用:
#### Docker部署(推荐)
```bash
# 构建镜像
docker build -t agentsstock .
# 运行容器
docker run -d -p 8501:8501 \
--name agentsstock \
--restart always \
agentsstock
```
#### 云服务器部署
1. 选择云服务提供商(阿里云、腾讯云、AWS等)
2. 选择配置:2核4G内存即可
3. 安装Python环境和依赖
4. 配置防火墙开放8501端口
5. 使用tmux或screen保持程序运行
---
## 📚 相关文档
- [智策定时分析使用指南.md](智策定时分析使用指南.md) - 详细使用教程
- [智策功能总览.md](智策功能总览.md) - 功能全景
- [智策板块使用指南.md](智策板块使用指南.md) - 完整使用指南
- [环境配置功能说明.md](环境配置功能说明.md) - 配置说明
- [邮件配置指南.md](邮件配置指南.md) - 邮件配置详解
---
## ✅ 部署验证清单
完成部署后,请验证以下项目:
- [ ] Python环境正常(Python 3.8+
- [ ] 依赖库已安装(schedule等)
- [ ] `.env` 文件已配置
- [ ] 邮件配置状态显示 ✅
- [ ] 手动运行一次测试成功
- [ ] 收到测试邮件
- [ ] 定时任务已启动
- [ ] 定时任务状态显示"运行中"
- [ ] 程序持续运行(服务器部署)
---
**智策定时分析** - 自动化投资策略分析 ⏰📧🎯