# 低价擒牛选股板块 - 实现总结 ## 实现日期 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 **状态**:✅ 已完成并可使用