Add modular docs with index, WeChat templates, and AI guide.

Document per-module order logic, risk rules, and WeChat message templates with a central INDEX for navigation.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-28 10:49:10 +08:00
parent 840e88daad
commit 169136dd4a
13 changed files with 1327 additions and 10 deletions
+115
View File
@@ -0,0 +1,115 @@
# 全局账户风控
本文汇总 **所有板块共用** 的风控规则。各板块下单前均会调用 `assert_can_open()` 或等价校验。
相关代码:`risk/account_risk_lib.py``position_sizing.py``product_recommend.py`
---
## 仓位上限
| 项 | 默认值 | 说明 |
|----|--------|------|
| `MAX_ACTIVE_POSITIONS` | 1 | 同时 **active** 持仓监控数量上限 |
| 环境变量 | `.env` | `MAX_ACTIVE_POSITIONS=1` |
- 达到上限后:**禁止新开仓**,但允许 **滚仓/顺势加仓**`can_roll=True`)。
- 状态标签:**仓位上限冻结**。
---
## 冷静期与日冻结
| 项 | 默认值 | 说明 |
|----|--------|------|
| `RISK_CONTROL_ENABLED` | true | 关闭后跳过冷静期逻辑 |
| `RISK_MANUAL_CLOSE_DAILY_LIMIT` | 2 | 当日 **手动平仓** 次数上限 |
| `RISK_COOLING_HOURS_MANUAL` | 4 | 超限后冷静期(小时) |
| `RISK_COOLING_HOURS_MANUAL_JOURNAL` | 1 | 填写复盘情绪日记后缩短为 1 小时 |
| `TRADING_DAY_RESET_HOUR` | 8 | 交易日重置时刻(8 点前算上一交易日) |
### 触发流程
1. 用户在下单监控 **手动平仓**,且当日手动平仓次数 ≥ 上限。
2. 进入 **4h 冻结**(或填写复盘表单中的情绪问题选项后 → **1h 冻结**)。
3. 冻结期间 `can_trade=False`,禁止一切新开仓。
### 日冻结
- 复盘表单勾选情绪问题(怕踏空、报复开仓、盈利飘了、拿不住单、扛单、重仓违规等)并提交后,可触发 **当日日冻结**
- 日冻结期间禁止新开仓,次日(按 `TRADING_DAY_RESET_HOUR`)重置。
---
## 保证金占用上限
| 项 | 配置位置 | 默认值 |
|----|----------|--------|
| 新开仓上限 | 系统设置 `max_margin_pct` | 30% |
| 滚仓上限 | 系统设置 `roll_max_margin_pct` | 单独配置 |
- 新开仓前计算:现有持仓保证金 + 拟开仓位保证金,占权益比例不得超过 `max_margin_pct`
- **滚仓/顺势加仓** 使用 `roll_max_margin_pct` 单独收紧手数(见 [STRATEGY.md](./STRATEGY.md))。
---
## 计仓与单笔手数
| 模式 | 说明 |
|------|------|
| 固定手数 | 使用系统设置 `fixed_lots` |
| 固定金额(以损定仓) | 须填止损价;手数 = 固定风险金额 ÷ 每手风险;同时受保证金上限约束 |
| 单笔上限 | `DEFAULT_MAX_ORDER_LOTS = 50` |
固定金额模式公式(简化):
```
每手风险 = |入场价 − 止损价| × 合约乘数
手数 = floor(固定风险金额 / 每手风险)
再按 max_margin_pct 收紧
```
---
## 可交易品种范围
| 条件 | 规则 |
|------|------|
| 权益 ≤ 20 万 **或** CTP 未连接 | 仅可交易:**玉米、豆粕、甲醇、螺纹钢** |
| CTP 未连接时估算 | 可开仓表按 **10 万权益** 估算最大手数 |
| 夜盘时段 | 可开仓表仅显示有夜盘品种 |
详见 [TRADING.md](./TRADING.md)、[ORDER_MONITOR.md](./ORDER_MONITOR.md)。
---
## 交易时段
- 非交易时段:**禁止报单**(开仓/平仓 API 返回 403)。
- CTP 未连接:禁止下单;连接中提示稍候。
---
## 各板块风控对照
| 板块 | 开仓前校验 | 特殊规则 |
|------|------------|----------|
| 下单监控 | 全部全局规则 + 保证金 + 品种 | 移动保本须填止损 |
| 关键位自动单 | 同上 + 交易时段 + CTP | 手数按 risk_percent 计算 |
| 策略首仓 | 同上 | 趋势回调计划单独表 |
| 滚仓/加仓 | 仓位上限冻结时仍可滚仓 | 滚仓保证金单独上限 |
| 开单计划 | **不自动下单**,仅提醒 | 无 assert_can_open |
| 关键支阻区 | 不自动下单 | 仅微信提醒 |
---
## 风险状态展示
下单监控顶栏显示当前状态:
| 状态 | 含义 |
|------|------|
| 正常 | 可新开仓 |
| 1h / 4h 冻结 | 冷静期中 |
| 日冻结 | 当日禁止新开仓 |
| 仓位上限冻结 | 已达 active 上限,可滚仓不可开新仓 |