增加批量分析功能

This commit is contained in:
oficcejo
2025-10-08 13:03:15 +08:00
parent a03f2c0071
commit ea2c470483
3 changed files with 947 additions and 34 deletions
+290
View File
@@ -0,0 +1,290 @@
# 📊 批量分析功能使用指南
## 功能概述
批量分析功能允许您一次性分析多只股票,并提供横向对比视图,快速筛选出最有投资价值的股票。
## ✨ 核心特性
### 1. 灵活的输入方式
支持多种股票代码输入格式:
- **每行一个代码**
- **逗号分隔**
- **空格分隔**
- **混合格式**
### 2. 双模式分析
- **顺序分析**:按次序逐个分析,稳定可靠
- 适用场景:3-5只股票,网络不稳定时
- 优点:可靠性高,不会因并发导致问题
- 缺点:速度较慢
- **多线程并行**:同时分析多只股票
- 适用场景:6只以上股票,网络稳定时
- 优点:速度快,效率高
- 缺点:资源消耗较大
- 限制:最多3个并发(避免API限流)
### 3. 实时进度追踪
- 显示当前分析进度(X/总数)
- 实时更新每只股票的状态
- ✅ 成功标记
- ❌ 失败标记及原因
### 4. 智能结果展示
#### 对比表格模式
横向对比所有股票的关键指标:
- **基本信息**:代码、名称、价格、涨跌幅
- **估值指标**:市盈率、市净率
- **技术指标**RSI、MACD
- **投资建议**:评级、信心度、目标价格
**颜色编码**
- 🟢 绿色:买入/强烈买入
- 🟡 黄色:持有
- 🔴 红色:卖出/强烈卖出
**筛选和排序**
- 按投资评级筛选
- 按涨跌幅排序
- 按信心度排序
- 按RSI排序
#### 详细卡片模式
逐个查看每只股票的完整分析:
- 基本信息和技术指标
- K线图和成交量图
- 各分析师详细报告
- 团队综合讨论
- 最终投资决策
- 操作建议和风险提示
## 📖 使用步骤
### Step 1: 选择批量分析模式
1. 在主界面顶部选择"批量分析"
2. 选择分析模式:
- "顺序分析":稳定但较慢
- "多线程并行":快速但需要稳定网络
### Step 2: 输入股票代码
在文本框中输入股票代码,支持以下格式:
```
# 格式1:每行一个(推荐)
000001
600036
600519
000858
# 格式2:逗号分隔
000001, 600036, 600519, 000858
# 格式3:空格分隔
000001 600036 600519 000858
# 格式4:混合使用
000001, 600036
600519 000858
```
### Step 3: 配置分析参数
1. **选择数据周期**
- 1y(一年)- 推荐,数据更完整
- 6mo(半年)
- 3mo(三个月)
- 1mo(一个月)
2. **选择分析师团队**
- ✅ 技术分析师(推荐)
- ✅ 基本面分析师(推荐)
- ✅ 资金面分析师(推荐)
- ✅ 风险管理师(推荐)
- ⬜ 市场情绪分析师(可选,仅A股)
- ⬜ 新闻公告分析师(可选,仅A股)
### Step 4: 开始分析
1. 点击"🚀 开始批量分析"按钮
2. 系统会显示实时进度:
```
📊 批量分析进行中 (多线程并行)
✅ [1/5] 000001 分析完成
🔍 [2/5] 正在分析 600036...
```
3. 等待所有股票分析完成
### Step 5: 查看结果
#### 对比表格视图
1. 自动显示对比表格
2. 查看所有股票的关键指标
3. 使用筛选功能:
- 按评级筛选(只看"买入"的股票)
- 按涨跌幅排序(找涨幅最大的)
- 按信心度排序(找最有把握的)
#### 详细卡片视图
1. 切换到"详细卡片"模式
2. 从下拉列表选择要查看的股票
3. 查看完整的分析报告
4. 查看K线图和技术指标
5. 阅读各分析师的详细意见
## 💡 使用技巧
### 最佳实践
1. **选股策略**
```
第一步:输入感兴趣的板块所有股票(10-20只)
第二步:使用批量分析快速筛选
第三步:在对比表格中按评级筛选
第四步:在详细卡片中深入研究候选股票
```
2. **分析数量建议**
- **3-5只**:使用顺序分析
- **6-10只**:使用多线程并行
- **11-20只**:使用多线程并行,但需要耐心等待
- **20只以上**:分批次分析
3. **时间估算**
- 单只股票分析:约1-2分钟
- 顺序分析5只:约5-10分钟
- 多线程分析10只:约4-7分钟(3个并发)
4. **结果筛选技巧**
- **保守型投资者**:筛选"买入"评级且信心度≥7
- **激进型投资者**:按涨跌幅降序,关注强势股
- **价值投资者**:关注低市盈率+高ROE的股票
- **技术派**:按RSI筛选超卖或超买状态
### 注意事项
⚠️ **重要提示**
1. 批量分析时间较长,请耐心等待
2. 多线程模式会消耗更多API调用额度
3. 建议在非交易时段进行批量分析
4. 分析过程中不要关闭浏览器
5. 所有结果会自动保存到历史记录
⚠️ **故障处理**
- 如果某只股票分析失败,不会影响其他股票
- 失败的股票会单独列出,显示失败原因
- 可以在历史记录中单独重新分析失败的股票
## 📈 应用场景
### 场景1:板块轮动分析
```
1. 识别热门板块(如新能源、半导体)
2. 批量输入该板块10-15只股票
3. 使用对比表格筛选出评级最高的3-5只
4. 深入研究这些候选股票
```
### 场景2:持仓股票全面体检
```
1. 输入所有持仓股票代码
2. 批量分析获取最新评级
3. 识别需要止损的股票(评级"卖出")
4. 识别可以加仓的股票(评级"买入")
```
### 场景3:每日选股
```
1. 选择10-20只活跃度高的股票
2. 批量分析获取当日评级
3. 筛选出"买入"评级的股票
4. 结合个人风险偏好做出决策
```
### 场景4:龙头股对比
```
1. 输入同行业的龙头公司(如茅台、五粮液、泸州老窖)
2. 批量分析进行横向对比
3. 对比关键指标:市盈率、ROE、涨跌幅
4. 选择综合表现最佳的股票
```
## 🎯 结果解读
### 投资评级
- **强烈买入**:多位分析师一致看好,建议重点关注
- **买入**:综合评价积极,可以考虑买入
- **持有**:观望为主,已持有可继续持有
- **卖出**:风险较大,建议卖出或不买入
- **强烈卖出**:多位分析师一致看空,建议立即卖出
### 信心度(1-10分)
- **8-10分**:高度确定,分析师共识强
- **6-7分**:较为确定,可以参考
- **4-5分**:不确定,需谨慎对待
- **1-3分**:非常不确定,建议忽略
### 技术指标参考
- **RSI > 70**:超买,可能回调
- **RSI < 30**:超卖,可能反弹
- **MACD > 0**:上涨趋势
- **MACD < 0**:下跌趋势
## 📊 示例演示
### 示例:分析白酒板块
```python
输入股票代码:
600519 # 贵州茅台
000858 # 五粮液
000568 # 泸州老窖
002304 # 洋河股份
603369 # 今世缘
选择:多线程并行
结果对比表格:
| 股票代码 | 股票名称 | 当前价格 | 涨跌幅 | 市盈率 | 投资评级 | 信心度 |
|---------|---------|---------|-------|-------|---------|-------|
| 600519 | 贵州茅台 | 1688.00 | 2.5% | 38.5 | 买入 | 8 |
| 000858 | 五粮液 | 168.50 | 1.8% | 28.3 | 买入 | 7 |
| 000568 | 泸州老窖 | 188.20 | -0.5% | 32.1 | 持有 | 6 |
| 002304 | 洋河股份 | 128.60 | 0.3% | 24.7 | 买入 | 7 |
| 603369 | 今世缘 | 38.50 | -1.2% | 21.3 | 持有 | 5 |
筛选结果:
按"买入"评级筛选 → 3只股票(茅台、五粮液、洋河)
按信心度降序 → 茅台(8) > 五粮液(7) = 洋河(7)
```
## 🔧 技术细节
### 多线程实现
- 使用Python `concurrent.futures.ThreadPoolExecutor`
- 最大并发数:3(避免API限流)
- 线程安全:使用锁保护进度更新
- 异常处理:单个股票失败不影响其他
### 数据保存
- 每只股票分析完成后立即保存到数据库
- 保存内容包括:
- 股票基本信息
- 技术指标
- 各分析师报告
- 团队讨论
- 最终决策
### 性能优化
- 使用Streamlit缓存机制
- 股票数据缓存5分钟
- 避免重复获取相同数据
## 📞 问题反馈
如遇到问题或有改进建议,请联系:
- 邮箱:ws3101001@126.com
- 或在项目中提交Issue
---
**免责声明**:本系统提供的分析结果仅供参考,不构成投资建议。股市有风险,投资需谨慎。