增加龙虎榜批量分析功能,修复一些小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
+335
View File
@@ -0,0 +1,335 @@
# 智策定时分析更新日志
## 版本历史
### v1.2.0 (2025-01-15) - 定时分析功能
#### ✨ 新增功能
##### 1. 定时分析核心
- **每日自动分析**: 支持设置每天固定时间自动运行智策分析
- **灵活时间配置**: 可自定义运行时间,默认9:00
- **后台运行**: 定时任务在后台运行,无需保持页面打开
- **自动重试**: 数据获取失败自动重试3次,确保稳定性
##### 2. 邮件推送系统
- **自动发送**: 分析完成后自动发送邮件到配置邮箱
- **精简报告**: 邮件包含核心分析结果(板块多空、轮动、热度、策略)
- **格式清晰**: 使用分隔线和表情符号,便于快速阅读
- **配置灵活**: 支持QQ、163、Gmail等主流邮箱
##### 3. UI交互优化
- **状态监控**: 实时显示定时任务运行状态
- **手动触发**: 新增"立即运行一次"按钮,无需等待定时
- **配置检查**: 自动检测邮件配置状态,显示✅/❌状态
- **操作反馈**: 所有操作提供清晰的成功/失败反馈
##### 4. 完善文档体系
- 《智策定时分析使用指南.md》- 详细使用教程
- 《智策定时分析部署清单.md》- 完整部署步骤
- 《智策功能总览.md》- 功能全景介绍
- 更新所有相关文档,新增定时分析说明
#### 🔧 技术实现
##### 新增模块
```
sector_strategy_scheduler.py
├─ SectorStrategyScheduler (主类)
│ ├─ start_scheduler() - 启动定时任务
│ ├─ stop_scheduler() - 停止定时任务
│ ├─ run_now() - 立即运行一次
│ ├─ get_status() - 获取运行状态
│ └─ _run_analysis() - 执行分析逻辑
└─ sector_strategy_scheduler (全局实例)
```
##### 集成模块
- **notification_service.py**: 复用现有邮件发送功能
- **sector_strategy_engine.py**: 调用完整分析流程
- **sector_strategy_ui.py**: 添加定时分析UI界面
##### 技术栈
- `schedule`: 定时任务调度
- `threading`: 后台线程运行
- `smtplib`: 邮件发送(Python内置)
- `datetime`: 时间处理
#### 📊 功能对比
| 功能 | v1.1.0 | v1.2.0 |
|------|--------|--------|
| 手动分析 | ✅ | ✅ |
| PDF导出 | ✅ | ✅ |
| 定时分析 | ❌ | ✅ |
| 邮件推送 | ❌ | ✅ |
| 手动触发 | ❌ | ✅ |
| 状态监控 | ❌ | ✅ |
#### 🐛 问题修复
1. **网络稳定性**
- 实现:AKShare数据获取失败自动重试
- 参数:最多重试3次,间隔2秒
- 效果:显著提升数据获取成功率
2. **时间函数冲突**
- 问题:`time`模块与`datetime.time`命名冲突
- 修复:使用`from datetime import time as dt_time`
- 影响:`sector_strategy_ui.py`
3. **线程安全**
- 实现:使用`threading.Lock`保护共享状态
- 保护:`is_running``last_run_time`等变量
- 效果:避免多线程竞态条件
#### 📝 文档更新
##### 新增文档
- `智策定时分析使用指南.md` (详细教程)
- `智策定时分析部署清单.md` (部署步骤)
- `智策功能总览.md` (功能全景)
- `智策定时分析更新日志.md` (本文档)
##### 更新文档
- `智策板块使用指南.md` - 添加定时分析章节
- `智策板块快速开始.md` - 添加定时分析快速步骤
- `README.md` - 更新功能列表
- `.env.example` - 添加邮件配置示例
#### 🎯 使用场景
##### 盘前策略(推荐 8:30
```
前一天晚上设置定时 → 第二天8:30自动分析
→ 9:00开盘前查收邮件 → 制定当日交易策略
```
##### 盘后复盘(推荐 16:00
```
设置定时16:00 → 收盘后自动分析 → 总结当日行情
→ 调整持仓策略 → 准备次日操作
```
##### 晚间研究(推荐 21:00
```
设置定时21:00 → 晚间查收邮件 → 深度研读分析
→ 制定周期策略 → 提前布局机会
```
#### 💡 最佳实践
1. **合理设置时间**
- 盘前策略建议8:00-9:00
- 盘后复盘建议15:30-17:00
- 避免交易时段(防止影响决策)
2. **服务器部署**
- 本地运行需保持电脑开机
- 推荐使用云服务器24小时运行
- Docker部署最为便捷
3. **邮件配置**
- 使用授权码而非登录密码
- 选择稳定的邮箱服务(推荐QQ、163)
- 定期检查邮件是否正常接收
4. **功能组合**
- 定时分析 + 手动深度分析
- 邮件推送 + PDF导出存档
- 每周回顾对比历史报告
#### ⚠️ 注意事项
1. **程序需持续运行**
- 本地部署需保持程序运行
- 关闭窗口定时任务停止
- 推荐服务器或Docker部署
2. **邮箱发送限制**
- QQ邮箱每天500封上限
- 163邮箱每天100封上限
- 智策每天1封不会超限
3. **数据时效性**
- 使用前一交易日数据
- 盘前运行获取完整数据
- 盘中数据有延迟
4. **网络依赖**
- 需稳定网络连接
- 数据获取有重试机制
- 失败会在日志中记录
#### 🔮 后续规划
##### v1.3.0 (计划中)
- [ ] 多时段分析(一天多次)
- [ ] 微信推送支持
- [ ] 自定义邮件模板
- [ ] 分析结果数据库存储
- [ ] 历史分析对比功能
##### v1.4.0 (规划中)
- [ ] Web端配置界面优化
- [ ] 移动端邮件优化
- [ ] 预警阈值设置
- [ ] 个性化关注板块
- [ ] 智能推送频率调整
---
## 版本对比
### v1.2.0 vs v1.1.0
#### 功能增强
-**定时分析**: 从无到有,实现每日自动分析
-**邮件推送**: 新增邮件通知,无需登录查看
-**手动触发**: 新增立即运行按钮,灵活使用
-**状态监控**: 新增运行状态显示,清晰可见
#### 稳定性提升
- 🐛 **网络重试**: 数据获取失败自动重试3次
- 🐛 **异常处理**: 完善异常捕获和日志记录
- 🐛 **线程安全**: 解决多线程状态管理问题
#### 用户体验
- 💡 **操作便捷**: 一键启动,无需手动触发
- 💡 **反馈清晰**: 所有操作提供即时反馈
- 💡 **文档完善**: 新增4份详细使用文档
#### 代码质量
- 📦 **模块化**: 独立scheduler模块,职责清晰
- 📦 **可维护**: 代码注释完善,易于维护
- 📦 **可扩展**: 预留扩展接口,便于后续升级
---
## v1.1.0 (2024-01-14) - PDF导出功能
### 新增功能
- ✨ PDF报告导出功能
- 📊 数据可视化优化
- 📝 完整文档体系
### 技术实现
- `sector_strategy_pdf.py` - PDF生成模块
- `reportlab` - PDF生成库
- 中文字体支持(SimHei
### 文档
- 《智策PDF导出说明.md》
- 《智策系统架构说明.md》
---
## v1.0.0 (2024-01-13) - 首次发布
### 核心功能
- 🎉 智策系统上线
- 🤖 四位AI智能体协同分析
- 📊 板块多空/轮动/热度预测
- 📈 数据可视化展示
### 技术栈
- Streamlit - Web框架
- AKShare - 数据源
- DeepSeek - AI模型
- Plotly - 数据可视化
### 模块
- `sector_strategy_data.py` - 数据获取
- `sector_strategy_agents.py` - AI智能体
- `sector_strategy_engine.py` - 综合引擎
- `sector_strategy_ui.py` - UI界面
---
## 升级指南
### 从 v1.1.0 升级到 v1.2.0
#### 1. 更新代码
```bash
git pull origin main
```
#### 2. 检查依赖
```bash
pip install -r requirements.txt
# schedule库已自动安装
```
#### 3. 配置邮件
编辑 `.env` 文件,添加:
```env
EMAIL_ENABLED=true
SMTP_SERVER=smtp.qq.com
SMTP_PORT=587
EMAIL_FROM=your-email@qq.com
EMAIL_PASSWORD=authorization-code
EMAIL_TO=recipient@qq.com
```
#### 4. 重启程序
```bash
# 停止旧程序
Ctrl+C
# 启动新程序
streamlit run app.py
```
#### 5. 验证功能
- 访问"智策板块"页面
- 展开"⏰ 定时分析设置"
- 查看邮件配置状态是否 ✅
- 点击"🔄 立即运行一次"测试
- 查收邮件验证
### 配置迁移
#### .env 文件更新
```env
# 新增邮件配置
EMAIL_ENABLED=true
SMTP_SERVER=smtp.qq.com
SMTP_PORT=587
EMAIL_FROM=your-email@qq.com
EMAIL_PASSWORD=authorization-code
EMAIL_TO=recipient@qq.com
# 原有配置保持不变
DEEPSEEK_API_KEY=sk-xxx
DEEPSEEK_BASE_URL=https://api.deepseek.com
```
#### 无需修改的部分
- DeepSeek API配置
- Tushare配置(如有)
- MiniQMT配置(如有)
- 其他自定义配置
---
## 反馈与支持
### 问题反馈
如遇到问题,请:
1. 查阅相关文档
2. 检查日志输出
3. 提交Issue反馈
### 功能建议
欢迎提出改进建议:
- 新功能需求
- 用户体验优化
- 性能提升方案
---
**智策定时分析 v1.2.0** - 让投资策略分析自动化 ⏰📧🎯
更新时间:2025-01-15