Files
aiagents-stock/docs/量化交易快速指南.md
T

238 lines
6.4 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.
# 🤖 量化交易功能快速指南
## 简介
本系统已为监测板块增加MiniQMT量化交易预留接口,实现监测价格触发后自动执行交易的功能。
## 核心功能
### ✅ 已实现功能
1. **自动交易执行** - 价格触发后自动下单
2. **仓位管理** - 智能控制交易仓位
3. **风险控制** - 自动止损止盈
4. **订单管理** - 完整的订单生命周期管理
5. **持仓监控** - 实时查看持仓和盈亏
6. **多种订单类型** - 支持市价单、限价单、止损单
### 🔧 新增模块
- `miniqmt_interface.py` - MiniQMT接口核心模块
- `MINIQMT_INTEGRATION_GUIDE.md` - 详细集成指南
### 📝 更新模块
- `monitor_db.py` - 增加量化配置字段(quant_enabled, quant_config
- `monitor_service.py` - 集成量化交易执行逻辑
- `monitor_manager.py` - 添加量化配置界面
- `config.py` - 添加MiniQMT配置选项
- `README.md` - 更新功能说明和文档
## 快速开始
### 1. 配置环境变量
编辑 `.env` 文件,添加以下配置:
```bash
# 启用MiniQMT量化交易
MINIQMT_ENABLED=true
MINIQMT_ACCOUNT_ID=your_account_id
MINIQMT_HOST=127.0.0.1
MINIQMT_PORT=58610
```
### 2. 启动MiniQMT客户端
1. 启动MiniQMT客户端程序
2. 登录你的交易账户
3. 确保API服务已开启
### 3. 在系统中启用量化
1. 运行系统:`python run.py`
2. 进入"📊 实时监测"板块
3. 在"🤖 MiniQMT量化交易"区域点击"连接MiniQMT"
4. 看到"✅ 已连接"提示即可
### 4. 添加量化监测
#### 添加新股票:
1. 点击"添加股票监测"
2. 填写股票代码和关键位置
3. 勾选"启用量化自动交易"
4. 设置量化参数:
- 最大仓位比例:建议0.220%
- 自动止损:建议勾选
- 自动止盈:建议勾选
5. 点击"添加监测"
#### 编辑现有股票:
1. 找到目标股票卡片
2. 点击"编辑"
3. 勾选"启用量化自动交易"
4. 配置参数后保存
## 交易逻辑
### 自动交易触发条件
#### 1. 进场买入
- **触发**:价格进入设定的进场区间
- **动作**:按配置的仓位比例自动买入
- **订单类型**:限价单
#### 2. 止盈卖出
- **触发**:价格达到止盈位
- **动作**:卖出全部持仓
- **订单类型**:限价单
#### 3. 止损卖出
- **触发**:价格达到止损位
- **动作**:紧急卖出全部持仓
- **订单类型**:市价单(快速成交)
## 安全建议
### ⚠️ 风险提示
1. 自动交易涉及真实资金,请谨慎使用
2. 建议先用测试账户测试功能
3. 设置合理的仓位限制(建议单股不超过20%)
4. 必须设置止损位(建议5-10%
5. 保持人工监控,不要完全依赖自动化
### ✅ 最佳实践
1. **小仓位测试** - 先用小额资金测试
2. **严格止损** - 必须设置止损保护
3. **合理仓位** - 单股不超过20%,总仓位不超过80%
4. **定期检查** - 定期查看持仓和订单状态
5. **及时调整** - 根据市场变化及时调整策略
## 界面功能
### 监测状态栏
- **🟢 运行中** / **🔴 已停止** - 监测服务状态
- **监测股票** - 当前监测股票数量
- **待处理通知** - 待处理的通知数量
- **🤖 QMT在线** / **🤖 QMT离线** - MiniQMT连接状态
### MiniQMT状态面板
- **连接状态** - 显示是否已连接到MiniQMT
- **账户ID** - 当前交易账户
- **量化统计** - 启用量化的股票数量
- **量化监测列表** - 显示所有启用量化的股票
### 股票卡片
每个监测股票卡片会显示:
- **基本信息** - 代码、名称、当前价格
- **关键位置** - 进场区间、止盈位、止损位
- **监测状态** - 监测间隔、最后检查时间、通知状态
- **量化状态** - 🟢 启用 / 🔴 禁用
## 预留接口说明
### MiniQMTInterface 类
系统提供了完整的MiniQMT接口类,支持以下功能:
```python
# 连接管理
miniqmt.connect(account_id) # 连接到MiniQMT
miniqmt.disconnect() # 断开连接
miniqmt.is_connected() # 检查连接状态
# 账户信息
miniqmt.get_account_info() # 获取账户信息
miniqmt.get_positions() # 获取所有持仓
miniqmt.get_position(symbol) # 获取单个持仓
# 交易下单
miniqmt.place_order( # 下单
symbol, action, quantity,
price, order_type
)
miniqmt.cancel_order(order_id) # 撤单
miniqmt.get_order_status(order_id) # 查询订单状态
# 策略执行
miniqmt.execute_strategy_signal( # 执行策略信号
stock_id, symbol, signal,
position_size
)
# 风险管理
miniqmt.calculate_position_size() # 计算仓位大小
miniqmt.get_risk_metrics() # 获取风险指标
miniqmt.validate_trade() # 验证交易可行性
```
### 对接真实交易
当前接口为预留接口,要对接真实交易,需要:
1. 安装MiniQMT Python SDK
```bash
pip install xtquant
```
2.`miniqmt_interface.py` 中取消注释相关代码:
```python
# 例如在 connect() 方法中
from xtquant import xtdata
xtdata.connect()
# 在 place_order() 方法中
from xtquant import xttrader
order_id = xttrader.order_stock(...)
```
3. 参考MiniQMT官方文档完成具体对接
## 常见问题
### Q1: MiniQMT连接失败?
A: 检查以下几点:
- MiniQMT客户端是否启动
- 账户是否已登录
- 账户ID是否正确
- 网络连接是否正常
### Q2: 量化交易没有执行?
A: 检查以下几点:
- 量化功能是否已启用
- MiniQMT是否已连接
- 监测服务是否在运行
- 是否在交易时间内
- 查看通知记录中的错误信息
### Q3: 如何测试量化功能?
A: 建议步骤:
1. 使用测试账户
2. 设置小额交易金额
3. 设置宽松的触发条件
4. 观察订单执行情况
5. 确认逻辑无误后再使用实盘
### Q4: 仓位如何控制?
A: 系统提供多层仓位控制:
- 单股最大仓位比例(配置时设置)
- 最小交易金额(默认5000元)
- A股100股为一手的限制
- 可用资金检查
## 技术支持
### 详细文档
- 完整集成指南:`MINIQMT_INTEGRATION_GUIDE.md`
- 系统说明:`README.md`
- 快速启动:`QUICK_START.md`
### 问题反馈
如遇到问题,请:
1. 查看终端日志输出
2. 查看MiniQMT客户端日志
3. 查看通知记录中的详细信息
4. 参考详细集成指南
---
**免责声明**:本系统仅供学习研究使用,量化交易涉及真实资金风险,请谨慎使用并自行承担投资风险。