# 低价擒牛功能说明

## 功能概述

**低价擒牛**是一个专注于筛选低价高成长股票的选股策略板块，结合量化交易策略，帮助投资者发现潜在的价值洼地。

## 选股策略

### 筛选条件

| 条件 | 说明 |
|------|------|
| 股价 | < 10元 |
| 净利润增长率 | ≥ 100%（净利润同比增长率） |
| 市场板块 | 深圳A股 |
| 排除项 | ST股票、科创板、创业板 |
| 排序方式 | 按成交额由小至大排名 |

### 策略理念

1. **低价优势**：股价低于10元，易于散户参与，具有更大的上涨空间
2. **高成长性**：净利润增长率≥100%，说明公司业绩高速增长
3. **流动性考虑**：优先选择成交额较小的股票，避免过度热门
4. **风险控制**：排除ST、科创板、创业板，降低风险

## 量化交易策略

### 资金与仓位管理

| 参数 | 配置 | 说明 |
|------|------|------|
| 初始资金 | 100万元 | 策略启动资金 |
| 持股周期 | 5天 | 单只股票最长持有时间 |
| 交易仓位 | 满仓 | 使用所有可用资金 |
| 个股最大持仓 | 40% | 单只股票最多占用40%资金 |
| 账户最大持股数 | 4只 | 同时最多持有4只股票 |
| 单日最大买入数 | 2只 | 每天最多买入2只新股票 |

### 买卖择时规则

#### 买入时机
- **时间点**：开盘买入
- **优先级**：按成交额由小到大排序
- **执行条件**：
  - 未达到最大持股数（4只）
  - 当日买入数量未达上限（2只）
  - 有足够的可用资金

#### 卖出时机
满足以下**任一**条件即卖出：
1. **技术信号**：MA5日线下穿MA20日线
2. **时间到期**：持股满5天

### 策略优势

1. ✅ **严格的仓位控制**：避免单一股票风险过大
2. ✅ **轮动机制**：卖出后释放资金，继续买入新标的
3. ✅ **纪律性强**：明确的买卖规则，避免情绪化交易
4. ✅ **风险分散**：最多持有4只股票，分散风险

## 使用步骤

### 1. 进入功能
在左侧菜单栏点击：**🎯 选股板块** → **🐂 低价擒牛**

### 2. 设置参数
- **筛选数量**：选择展示的股票数量（默认5只）

### 3. 开始选股
点击 **🚀 开始低价擒牛选股** 按钮

系统将：
- 调用问财接口获取符合条件的股票
- 按成交额排序
- 展示前N只股票

### 4. 查看结果

#### 股票列表
- 展示每只股票的基本信息
- 包含股价、净利润增长率、成交额等关键指标
- 可下载完整数据CSV文件

#### 钉钉通知
如果配置了Webhook，系统会自动发送钉钉消息，包含：
- 筛选策略说明
- 精选股票列表
- 关键财务指标

### 5. 量化交易模拟

#### 策略模拟
点击 **🎮 开始策略模拟** 可以查看：
- 模拟买入信号
- 当前持仓情况
- 账户资金状态

#### 实盘交易（可选）
如需使用MiniQMT进行实盘交易：
1. 配置环境变量（详见环境配置）
2. 点击 **🔗 连接MiniQMT实盘**
3. 系统将自动执行买卖操作

## 配置说明

### Webhook通知配置

在 `.env` 文件中配置：

```bash
# Webhook通知配置
WEBHOOK_ENABLED=true
WEBHOOK_URL=your_dingtalk_webhook_url
WEBHOOK_TYPE=dingtalk
WEBHOOK_KEYWORD=aiagents通知
```

### MiniQMT交易配置

在 `.env` 文件中配置：

```bash
# MiniQMT配置
MINIQMT_ENABLED=true
MINIQMT_ACCOUNT_ID=your_account_id
```

## 风险提示

⚠️ **重要提醒**：

1. **历史业绩不代表未来收益**
   - 净利润高增长可能不可持续
   - 低价股波动性较大

2. **交易成本**
   - 实际交易存在滑点
   - 需要考虑手续费和印花税

3. **市场风险**
   - 深圳A股市场波动较大
   - 小盘股流动性风险

4. **技术风险**
   - MA均线信号可能滞后
   - 5天持股周期可能错过更好的卖点

5. **策略局限**
   - 本策略为机械化交易策略
   - 无法应对突发事件（如重大利空）

## 策略改进建议

### 可优化方向

1. **动态仓位管理**
   - 根据市场情绪调整仓位
   - 引入风险评分机制

2. **止损机制**
   - 添加固定比例止损（如-5%）
   - 避免单只股票亏损过大

3. **择时优化**
   - 结合更多技术指标（MACD、RSI等）
   - 考虑大盘走势

4. **基本面过滤**
   - 添加财务指标筛选
   - 排除财务造假风险股

## 常见问题

### Q1: 为什么只选深圳A股？
A: 深圳A股集中了大量中小盘股票，符合"低价高成长"的特征。上海主板以大盘蓝筹为主，不太符合本策略定位。

### Q2: 成交额排序的意义是什么？
A: 成交额小的股票往往还未被市场充分发现，具有更大的潜在空间。但也要注意流动性风险。

### Q3: 持股5天的依据是什么？
A: 5天是一个交易周（一周）的时间，可以让股票有足够的时间展现其趋势，同时避免长期持有的风险。

### Q4: 能否调整策略参数？
A: 当前版本参数固定，未来版本将支持自定义参数配置。

### Q5: 模拟交易和实盘有什么区别？
A: 模拟交易不考虑滑点、手续费等实际成本，仅供策略验证。实盘交易需要接入MiniQMT，会有实际的资金变动。

## 技术实现

### 核心模块

1. **low_price_bull_selector.py**
   - 使用pywencai获取数据
   - 数据清洗和格式化

2. **low_price_bull_strategy.py**
   - 量化交易策略实现
   - 仓位管理和买卖信号

3. **low_price_bull_ui.py**
   - Streamlit界面展示
   - 用户交互逻辑

### 数据流程

```
用户输入参数
    ↓
调用pywencai接口
    ↓
获取符合条件的股票
    ↓
按成交额排序
    ↓
展示股票列表
    ↓
发送钉钉通知（可选）
    ↓
执行量化策略（可选）
```

## 更新日志

### v1.0 (2024-12-12)
- ✅ 初始版本发布
- ✅ 实现基础选股功能
- ✅ 集成钉钉通知
- ✅ 量化策略模拟
- ✅ MiniQMT接口支持

## 联系与反馈

如有问题或建议，请通过以下方式反馈：
- GitHub Issues
- 系统内置反馈功能

---

**免责声明**：本功能仅供学习和研究使用，不构成任何投资建议。股市有风险，投资需谨慎。
