Files
aiagents-stock/docs/PORTFOLIO_USAGE.md
T

399 lines
10 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.
# 持仓定时分析功能 - 使用指南
## 📖 功能概述
持仓定时分析功能允许您:
- **管理持仓股票**:添加、编辑、删除持仓股票清单
- **批量分析**:一次性分析所有持仓股票的投资价值
- **定时任务**:设置每日自动分析时间
- **自动监测**:分析结果自动同步到实时监测列表
- **通知提醒**:邮件或Webhook接收分析完成通知
- **历史记录**:查看每只股票的历史分析结果
---
## 🚀 快速开始
### 1. 安装依赖
确保已安装以下依赖包:
```bash
pip install schedule
pip install openai # DeepSeek API使用
```
### 2. 访问功能
1. 启动应用:`streamlit run app.py`
2. 点击侧边栏**"📊 持仓分析"**按钮
3. 进入持仓管理界面
---
## 📝 功能详解
### 一、持仓管理
#### 添加股票
1. 点击**" 添加持仓股票"**展开表单
2. 填写股票信息:
- **股票代码**(必填):例如 `600519.SH``000001.SZ``AAPL`
- **股票名称**(可选):例如 `贵州茅台`,留空自动获取
- **成本价**(可选):您的买入价格
- **持仓数量**(可选):持仓股数
- **备注**:记录买入理由等信息
- **自动同步监测**:勾选后分析结果自动加入监测列表
3. 点击**" 添加股票"**完成
#### 编辑股票
1. 在股票卡片中点击**"✏️"**按钮
2. 修改信息后点击**"保存"**
3. 或点击**"取消"**放弃修改
#### 删除股票
1. 在股票卡片中点击**"🗑️"**按钮
2. 确认删除(不可恢复)
---
### 二、批量分析
#### 立即分析
1. 切换到**"🔄 批量分析"**标签
2. 选择分析模式:
- **顺序分析**:逐个分析,稳定但较慢
- **并行分析**:同时分析多只,速度快但消耗资源更多
3. 设置选项:
- **自动同步到监测**:勾选后自动将评级结果添加到监测列表
- **发送完成通知**:勾选后通过邮件/Webhook发送结果
4. 点击**"🚀 立即开始分析"**
5. 等待进度完成,查看分析结果
#### 分析结果
- **概况统计**:总数、成功、失败、耗时
- **详细结果**:每只股票的评级、进场区间、止盈止损位
- **颜色标识**
- 🟢 绿色:买入推荐
- 🟡 黄色:持有观望
- 🔴 红色:卖出建议
---
### 三、定时任务
#### 配置定时分析
1. 切换到**"⏰ 定时任务"**标签
2. **配置定时时间**(支持多个时间点):
- 查看当前已配置的时间列表
- 点击**"➕ 添加定时时间"**添加新时间点(如 09:30, 15:05
- 点击时间旁的**"🗑️"**按钮删除不需要的时间
- 系统自动按时间排序,支持2-5个时间点
3. **配置分析选项**
- **分析模式**:顺序或并行
- **并行线程数**:并行模式下的同时分析数量(2-10)
- **自动同步到监测**:是否自动将结果同步到监测列表
- **发送完成通知**:是否发送通知
4. 点击**"💾 更新配置"**保存
**推荐配置**
- 保守型:09:25(盘前) + 15:05(盘后)
- 积极型:09:30(开盘) + 13:05(午盘) + 15:05(收盘)
- 详见:[`docs/MULTI_SCHEDULE_GUIDE.md`](MULTI_SCHEDULE_GUIDE.md)
#### 启动/停止调度器
- **启动**:点击**"▶️ 启动调度器"**,系统将在每日设定时间自动执行分析
- **停止**:点击**"⏹️ 停止调度器"**,取消自动执行
- **立即执行**:点击**"🚀 立即执行一次"**,无需等待定时触发
#### 查看状态
- **🟢 运行中**:调度器已启动
- **🔴 已停止**:调度器未运行
- **⏰ 分析时间**:设定的每日执行时间
- **⏭️ 下次运行**:下次预计执行的时间
---
### 四、分析历史
#### 查看历史记录
1. 切换到**"📈 分析历史"**标签
2. 选择股票:
- **全部**:显示所有股票的最新20条记录
- **指定股票**:显示该股票的最近20次分析
3. 展开记录查看详情:
- 投资评级和置信度
- 进场区间、目标价
- 止盈位、止损位
- 分析摘要
#### 历史数据用途
- **对比变化**:观察评级和位置的变化趋势
- **验证准确性**:对比历史预测与实际走势
- **优化策略**:根据历史数据调整投资决策
---
## ⚙️ 高级配置
### 通知配置
#### 邮件通知
1. 进入**"⚙️ 环境配置"**
2. 配置SMTP信息:
```
EMAIL_ENABLED=true
SMTP_SERVER=smtp.example.com
SMTP_PORT=587
EMAIL_FROM=your@email.com
EMAIL_PASSWORD=your_password
EMAIL_TO=receiver@email.com
```
#### Webhook通知(钉钉/飞书)
1. 获取群机器人Webhook URL
2. 配置环境变量:
```
WEBHOOK_ENABLED=true
WEBHOOK_URL=https://your_webhook_url
WEBHOOK_TYPE=dingtalk # 或 feishu
WEBHOOK_KEYWORD=aiagents通知
```
### 数据存储
- **持仓数据库**`portfolio_stocks.db`
- 持仓股票信息
- 分析历史记录
- **监测数据库**`stock_monitor.db`
- 自动同步的监测股票
### 数据备份
建议定期备份数据库文件:
```bash
# Windows
copy portfolio_stocks.db portfolio_stocks_backup_%date%.db
# Linux/Mac
cp portfolio_stocks.db portfolio_stocks_backup_$(date +%Y%m%d).db
```
---
## 💡 使用技巧
### 1. 合理配置持仓清单
- **精选股票**:只添加重点关注的股票(建议10-30只)
- **完善信息**:填写成本价和数量,便于计算收益
- **详细备注**:记录买入理由、目标价等,便于复盘
### 2. 选择合适的分析模式
- **顺序分析**
- ✅ 稳定可靠,API调用有序
- ✅ 适合API限速严格的场景
- ❌ 速度较慢,10只股票约需10-15分钟
- **并行分析**
- ✅ 速度快,3线程约5-8分钟完成10只
- ✅ 适合持仓较多的用户
- ❌ 对API并发要求高,可能触发限速
**建议**
- 持仓≤10只:顺序分析
- 持仓>10只:并行分析(3-5线程)
### 3. 设置合理的定时时间
推荐定时配置:
- **开盘后分析**`09:35`(开盘5分钟后,数据稳定)
- **午盘后分析**`13:05`(午盘结束后,评估上午走势)
- **收盘后分析**`15:05`(收盘后,获取完整日数据)
### 4. 充分利用自动监测
- 开启**"自动同步到监测"**
- 分析后自动将进场区间、止盈止损同步到监测列表
- 实时监测模块会在触发关键位置时发送通知
- 减少手动操作,不遗漏交易机会
### 5. 定期查看历史记录
- 每周查看一次历史分析
- 对比预测与实际走势
- 总结规律,优化投资策略
---
## 🔧 常见问题
### Q1: 添加股票后为什么无法分析?
**A:** 检查以下几点:
1. DeepSeek API Key是否配置正确
2. 股票代码格式是否正确(A股需要加`.SH`或`.SZ`后缀)
3. 网络连接是否正常
4. API额度是否充足
### Q2: 定时任务为什么没有执行?
**A:** 可能原因:
1. 调度器未启动(检查是否显示🟢运行中)
2. 应用已关闭(调度器需要应用持续运行)
3. 时间配置错误(检查系统时间和设定时间)
**解决方案**
- 保持Streamlit应用运行(可使用`nohup`或`screen`后台运行)
- 或使用外部定时工具(如系统cron)调用分析接口
### Q3: 批量分析失败率高怎么办?
**A:** 优化建议:
1. 切换到顺序分析模式
2. 减少并行线程数
3. 检查网络稳定性
4. 确认股票代码有效性
5. 查看错误日志定位具体问题
### Q4: 如何导出分析结果?
**A:** 方法:
1. 通过邮件/Webhook接收结果
2. 直接查询`portfolio_stocks.db`数据库:
```sql
SELECT * FROM portfolio_analysis_history ORDER BY analysis_time DESC;
```
3. 未来版本将支持CSV/Excel导出功能
### Q5: 监测同步不生效?
**A:** 检查:
1. 持仓股票是否勾选**"自动监测"**
2. 分析是否成功(失败的分析不会同步)
3. 分析结果是否包含进场区间和止盈止损(缺失则跳过)
4. 查看日志确认同步结果
---
## 📊 性能参数
### 分析速度参考
| 持仓数量 | 顺序分析 | 并行(3线程) | 并行(5线程) |
|---------|----------|------------|------------|
| 5只 | 5-8分钟 | 3-4分钟 | 2-3分钟 |
| 10只 | 10-15分钟| 6-8分钟 | 4-5分钟 |
| 20只 | 20-30分钟| 12-15分钟 | 8-10分钟 |
| 30只 | 30-45分钟| 18-22分钟 | 12-15分钟 |
*实际速度取决于网络环境和API响应时间*
### 资源消耗
- **内存**:基础50MB + 每线程10MB
- **CPU**:单线程<5%,多线程<20%
- **网络**:每只股票约2-5MB数据传输
- **数据库**:每条历史记录约1-2KB
---
## 🎯 最佳实践
### 日常使用流程
1. **早晨**(开盘前)
- 查看昨日定时分析结果(如有)
- 检查监测列表的通知
- 决定今日交易计划
2. **盘中**(交易时段)
- 关注监测列表的实时提醒
- 根据进场区间执行买入
- 按照止盈止损位纪律卖出
3. **收盘后**
- 回顾今日交易
- 更新持仓信息(新增/删除股票)
- 查看分析历史,总结经验
### 长期投资策略
1. **建立核心持仓清单**(10-20只优质股票)
2. **设置定时分析**(每日收盘后15:05)
3. **开启自动监测同步**
4. **每周回顾**历史记录,调整持仓
5. **每月总结**投资表现,优化策略
### 短线交易策略
1. **快速轮换持仓清单**(5-10只热门股)
2. **多次盘中分析**(开盘后、午盘后)
3. **立即同步监测**,捕捉买卖点
4. **及时更新持仓**(止盈/止损后删除)
5. **灵活调整**,跟随市场热点
---
## 📞 技术支持
### 获取帮助
- **查看日志**:检查终端输出的`[OK]`/`[ERROR]`消息
- **数据库工具**:使用SQLite Browser查看数据库
- **问题反馈**:在项目GitHub提交Issue
### 调试模式
开启详细日志:
```python
# portfolio_scheduler.py 顶部添加
import logging
logging.basicConfig(level=logging.DEBUG)
```
---
## 📝 更新日志
### v1.0.0 (2024-01)
- ✅ 持仓股票管理(增删改查)
- ✅ 批量分析功能(顺序/并行模式)
- ✅ 定时任务调度器
- ✅ 自动监测同步
- ✅ 邮件/Webhook通知
- ✅ 分析历史记录
### 未来计划
- [ ] 收益率统计和可视化
- [ ] CSV/Excel导入导出
- [ ] 自定义分析指标
- [ ] 组合优化建议
- [ ] 风险敞口分析
---
## 🙏 感谢使用
持仓定时分析功能旨在帮助您更高效地管理投资组合,做出明智的投资决策。
**祝您投资顺利!📈**