261 lines
6.2 KiB
Markdown
261 lines
6.2 KiB
Markdown
# 低价擒牛选股板块 - 实现总结
|
||
|
||
## 实现日期
|
||
2024-12-12
|
||
|
||
## 功能概述
|
||
在左侧菜单栏"选股板块"下新增"低价擒牛"选股策略,支持低价高成长股票筛选和量化交易模拟。
|
||
|
||
## 核心功能
|
||
|
||
### 1. 选股策略
|
||
- ✅ 股价 < 10元
|
||
- ✅ 净利润增长率 ≥ 100%
|
||
- ✅ 非ST、非科创板、非创业板
|
||
- ✅ 深圳A股
|
||
- ✅ 按成交额由小至大排名
|
||
- ✅ 筛选前5名(可配置3-10只)
|
||
|
||
### 2. 钉钉通知
|
||
- ✅ 读取.env中的Webhook配置
|
||
- ✅ 自动发送选股结果到钉钉群
|
||
- ✅ 包含股票代码、价格、净利增长率等信息
|
||
|
||
### 3. 量化交易策略
|
||
- ✅ 初始资金:100万元
|
||
- ✅ 持股周期:5天
|
||
- ✅ 仓位控制:满仓
|
||
- ✅ 个股最大持仓:40%
|
||
- ✅ 最大持股数:4只
|
||
- ✅ 单日最大买入:2只
|
||
- ✅ 买入时机:开盘买入
|
||
- ✅ 卖出信号:MA5下穿MA20 或 持股满5天
|
||
|
||
### 4. 交易模拟
|
||
- ✅ 支持策略模拟(无需配置)
|
||
- ✅ 支持MiniQMT实盘对接(需配置)
|
||
- ✅ 显示买入信号、持仓、账户状态
|
||
|
||
## 新增文件
|
||
|
||
### Python模块
|
||
1. **low_price_bull_selector.py** (158行)
|
||
- 使用pywencai获取符合条件的股票
|
||
- 数据清洗和格式化
|
||
- 股票代码列表生成
|
||
|
||
2. **low_price_bull_strategy.py** (278行)
|
||
- 量化交易策略实现
|
||
- 买卖信号判断
|
||
- 仓位管理
|
||
- 交易历史记录
|
||
|
||
3. **low_price_bull_ui.py** (382行)
|
||
- Streamlit界面展示
|
||
- 用户交互逻辑
|
||
- 钉钉通知集成
|
||
- 策略模拟展示
|
||
|
||
### 文档
|
||
1. **docs/低价擒牛功能说明.md** (241行)
|
||
- 完整功能文档
|
||
- 策略详解
|
||
- 配置说明
|
||
- 风险提示
|
||
|
||
2. **docs/低价擒牛快速开始.md** (197行)
|
||
- 快速上手指南
|
||
- 典型使用场景
|
||
- 常见问题解答
|
||
|
||
## 修改文件
|
||
|
||
### app.py
|
||
修改位置:第293-380行(菜单导航区域)
|
||
|
||
**修改内容**:
|
||
1. 在"选股板块"下添加"🐂 低价擒牛"按钮
|
||
2. 更新所有按钮的状态清除列表,增加`show_low_price_bull`
|
||
3. 添加路由检查,显示低价擒牛界面
|
||
|
||
**代码变更**:
|
||
```python
|
||
# 添加导航按钮
|
||
if st.button("🐂 低价擒牛", width='stretch', key="nav_low_price_bull", help="低价高成长股票筛选策略"):
|
||
st.session_state.show_low_price_bull = True
|
||
# 清除其他页面标志
|
||
|
||
# 添加路由
|
||
if 'show_low_price_bull' in st.session_state and st.session_state.show_low_price_bull:
|
||
from low_price_bull_ui import display_low_price_bull
|
||
display_low_price_bull()
|
||
return
|
||
```
|
||
|
||
## 技术实现
|
||
|
||
### 数据获取
|
||
- 使用pywencai模块调用问财接口
|
||
- 查询语句:`"股价<10元,净利润增长率(净利润同比增长率)≥100%,非st,非科创板,非创业板,深圳A股,成交额由小至大排名"`
|
||
- 智能解析返回结果,兼容DataFrame/dict/list格式
|
||
|
||
### 通知集成
|
||
- 复用notification_service模块
|
||
- 支持钉钉/飞书Webhook
|
||
- 自动包含关键词"aiagents通知"
|
||
- Markdown格式消息展示
|
||
|
||
### 策略实现
|
||
- 基于面向对象设计
|
||
- 严格的仓位管理
|
||
- 清晰的买卖信号
|
||
- 完整的交易记录
|
||
|
||
### UI展示
|
||
- Streamlit expander组件展示详情
|
||
- DataFrame展示完整数据
|
||
- Metric组件展示关键指标
|
||
- CSV下载功能
|
||
|
||
## 环境变量配置
|
||
|
||
### Webhook通知(可选)
|
||
```bash
|
||
WEBHOOK_ENABLED=true
|
||
WEBHOOK_URL=your_dingtalk_webhook_url
|
||
WEBHOOK_TYPE=dingtalk
|
||
WEBHOOK_KEYWORD=aiagents通知
|
||
```
|
||
|
||
### MiniQMT实盘(可选)
|
||
```bash
|
||
MINIQMT_ENABLED=true
|
||
MINIQMT_ACCOUNT_ID=your_account_id
|
||
```
|
||
|
||
## 使用流程
|
||
|
||
1. **启动系统**
|
||
```bash
|
||
streamlit run app.py
|
||
```
|
||
|
||
2. **进入功能**
|
||
- 左侧菜单 → 🎯 选股板块 → 🐂 低价擒牛
|
||
|
||
3. **开始选股**
|
||
- 调整筛选数量
|
||
- 点击"🚀 开始低价擒牛选股"
|
||
|
||
4. **查看结果**
|
||
- 股票列表
|
||
- 统计信息
|
||
- 钉钉通知(如已配置)
|
||
|
||
5. **策略模拟**(可选)
|
||
- 点击"🎮 开始策略模拟"
|
||
- 查看买入信号和持仓
|
||
|
||
6. **实盘交易**(可选)
|
||
- 配置MiniQMT
|
||
- 点击"🔗 连接MiniQMT实盘"
|
||
|
||
## 特色亮点
|
||
|
||
### 1. 智能筛选
|
||
- 多维度条件过滤
|
||
- 成交额排序优先低热度股票
|
||
- 自动排除风险股(ST、科创板)
|
||
|
||
### 2. 完整策略
|
||
- 清晰的买卖规则
|
||
- 严格的风险控制
|
||
- 可复现的交易逻辑
|
||
|
||
### 3. 即时通知
|
||
- 自动发送钉钉消息
|
||
- 无需人工查看
|
||
- 移动端即时接收
|
||
|
||
### 4. 灵活配置
|
||
- 筛选数量可调
|
||
- 策略参数可改
|
||
- 支持模拟和实盘
|
||
|
||
## 注意事项
|
||
|
||
### 使用限制
|
||
1. ⚠️ 问财接口有频率限制,建议每次间隔30秒以上
|
||
2. ⚠️ 净利润增长率≥100%的股票可能较少
|
||
3. ⚠️ 策略模拟不包含手续费和滑点
|
||
|
||
### 风险提示
|
||
1. ⚠️ 本功能仅供学习研究使用
|
||
2. ⚠️ 不构成任何投资建议
|
||
3. ⚠️ 股市有风险,投资需谨慎
|
||
4. ⚠️ 历史业绩不代表未来收益
|
||
|
||
### 技术限制
|
||
1. ⚠️ 需要稳定的网络连接
|
||
2. ⚠️ pywencai模块需要正确安装
|
||
3. ⚠️ MiniQMT需要额外配置
|
||
|
||
## 后续优化方向
|
||
|
||
### 短期优化
|
||
- [ ] 添加历史选股记录
|
||
- [ ] 支持自定义筛选条件
|
||
- [ ] 增加更多技术指标
|
||
|
||
### 中期优化
|
||
- [ ] 回测功能
|
||
- [ ] 策略参数优化
|
||
- [ ] 多策略对比
|
||
|
||
### 长期优化
|
||
- [ ] AI选股建议
|
||
- [ ] 实时监控
|
||
- [ ] 自动化交易
|
||
|
||
## 测试建议
|
||
|
||
### 功能测试
|
||
1. ✅ 测试选股功能是否正常
|
||
2. ✅ 验证数据格式是否正确
|
||
3. ✅ 检查钉钉通知是否发送
|
||
4. ✅ 确认策略模拟逻辑
|
||
|
||
### 边界测试
|
||
1. ✅ 筛选不到股票时的处理
|
||
2. ✅ 网络异常时的错误处理
|
||
3. ✅ Webhook未配置时的提示
|
||
|
||
### 性能测试
|
||
1. ✅ 数据获取速度
|
||
2. ✅ UI渲染性能
|
||
3. ✅ 并发访问支持
|
||
|
||
## 相关文档
|
||
|
||
- [低价擒牛功能说明](./docs/低价擒牛功能说明.md)
|
||
- [低价擒牛快速开始](./docs/低价擒牛快速开始.md)
|
||
- [Webhook通知配置指南](./docs/Webhook通知配置指南.md)
|
||
- [MiniQMT集成指南](./docs/MINIQMT_INTEGRATION_GUIDE.md)
|
||
|
||
## 总结
|
||
|
||
本次实现完整地添加了"低价擒牛"选股板块,包含:
|
||
- ✅ 完整的选股策略
|
||
- ✅ 钉钉通知集成
|
||
- ✅ 量化交易策略
|
||
- ✅ 策略模拟功能
|
||
- ✅ 详细的文档说明
|
||
|
||
所有功能均已集成到现有系统中,与主力选股等其他板块保持一致的交互体验。
|
||
|
||
---
|
||
|
||
**实现完成时间**:2024-12-12
|
||
**版本**:v1.0
|
||
**状态**:✅ 已完成并可使用
|