1b3a7f1bdc
Preserve trading state when CTP memory is empty, bootstrap equity/positions on page load, stabilize risk status from DB monitors, and remove app-layer manual close cooling periods. Co-authored-by: Cursor <cursoragent@cursor.com>
123 lines
5.5 KiB
Markdown
123 lines
5.5 KiB
Markdown
# 风控说明
|
||
|
||
**页面**:`/risk-guide`(顶栏「风控说明」)· 数据看板内嵌卡片同步展示摘要指标
|
||
|
||
本文说明账户 **保证金占比**、各风控指标含义、颜色规则及配置来源。全局风控逻辑详见 [RISK.md](./RISK.md)。
|
||
|
||
---
|
||
|
||
## 保证金占比(核心规则)
|
||
|
||
系统设置中有两个保证金上限,默认 **单仓 30%**、**综合 50%**(`max_margin_pct` / `roll_max_margin_pct`)。
|
||
|
||
| 模式 | 判定 | 30%(单仓上限) | 50%(综合上限) |
|
||
|------|------|-----------------|-----------------|
|
||
| **单仓模式** | `MAX_ACTIVE_POSITIONS = 1` | **单仓保证金上限**:新开仓时,拟开仓位 + 已有持仓占用保证金,占权益不得超过 30% | **滚仓保证金上限**:滚仓/顺势加仓时,总占用保证金占权益不得超过 50% |
|
||
| **多仓模式** | `MAX_ACTIVE_POSITIONS > 1` | **单仓保证金上限**:每一新开仓仍按 30% 约束该笔/该品种保证金 | **多仓保证金上限**:所有持仓合计占用保证金占权益不得超过 50% |
|
||
|
||
### 看板如何展示
|
||
|
||
| 看板指标 | 含义 | 对比上限 |
|
||
|----------|------|----------|
|
||
| **综合保证金占比** | 当前 **全部持仓** 占用保证金 ÷ 账户权益 | 斜杠后为 **50%**(单仓模式=滚仓上限,多仓模式=多仓上限) |
|
||
| **单仓保证金上限** | 新开仓单笔/单品种保证金天花板 | 固定显示 **30%**(系统设置) |
|
||
| **滚仓保证金上限** / **多仓保证金上限** | 单仓模式下为滚仓专用;多仓模式下为合计上限 | 固定显示 **50%**(系统设置) |
|
||
|
||
> **示例**:权益 10 万、占用保证金 2.55 万 → 综合保证金占比 **25.55% / 50%**(不是 30%)。新开仓仍受 30% 单仓上限约束;滚仓或多仓合计最高可到 50%。
|
||
|
||
---
|
||
|
||
## 状态行(看板卡片顶部)
|
||
|
||
顶栏一行文字为 **当前风控结论**,例如:
|
||
|
||
| 显示 | 含义 |
|
||
|------|------|
|
||
| 正常 · 可新开仓 | 未触发冻结,可新开仓 |
|
||
| 仓位上限冻结 · 已达仓位上限 1/1 | 同时 active 持仓数已达上限,禁止新开仓,**滚仓/加仓仍允许** |
|
||
| 日冻结 | 复盘勾选情绪问题、当日手动平仓超限或日限额触发,禁止新开仓 |
|
||
|
||
- **绿色**:当前可交易(`can_trade=true`)
|
||
- **红色**:当前禁止新开仓(`can_trade=false`)
|
||
|
||
---
|
||
|
||
## 指标一览
|
||
|
||
| 指标 | 说明 | 配置来源 |
|
||
|------|------|----------|
|
||
| **风控开关** | 是否启用账户风控(持仓/日限额等) | `.env` → `RISK_CONTROL_ENABLED` |
|
||
| **持仓限制** | 当前 active 持仓数 / 同时持仓上限 | `.env` → `MAX_ACTIVE_POSITIONS` |
|
||
| **日持仓限制** | 当日已开仓次数(含已平)/ 日开仓上限 | `.env` → `RISK_DAILY_POSITION_LIMIT`(默认 5) |
|
||
| **日交易风险** | 当日累计止损风险占权益 / 上限 | `.env` → `RISK_DAILY_TRADING_RISK_PCT`(默认 2%) |
|
||
| **手动平仓次数** | 当日手动平仓次数 / 上限(超限日冻结) | `.env` → `RISK_MANUAL_CLOSE_DAILY_LIMIT` |
|
||
| **综合保证金占比** | 占用保证金占权益 / **综合上限(50%)** | 实时计算 + 系统设置 `roll_max_margin_pct` |
|
||
| **单仓保证金上限** | 新开仓保证金占权益上限 | 系统设置 `max_margin_pct`(默认 30%) |
|
||
| **滚仓/多仓保证金上限** | 单仓=滚仓上限;多仓=合计上限 | 系统设置 `roll_max_margin_pct`(默认 50%) |
|
||
| **计仓模式** | 固定金额(以损定仓)或固定手数 | 系统设置 |
|
||
| **交易日切** | 统计日重置时刻 | `.env` → `TRADING_DAY_RESET_HOUR`(默认 8:00) |
|
||
|
||
---
|
||
|
||
## 颜色规则(看板 UI)
|
||
|
||
### 风控开关
|
||
|
||
| 状态 | 颜色 |
|
||
|------|------|
|
||
| 开启 | **绿色** |
|
||
| 关闭 | **红色** |
|
||
|
||
### 综合保证金占比
|
||
|
||
显示格式:`已用% / 综合上限%`(综合上限默认 **50%**)
|
||
|
||
| 已用占综合上限比例 | 已用部分颜色 |
|
||
|--------------------|--------------|
|
||
| < 85% | **绿色**(安全) |
|
||
| 85% ~ 100% | **琥珀色**(接近上限) |
|
||
| ≥ 100% | **红色**(已达或超过综合上限) |
|
||
|
||
斜杠后的 **50%** 为 **琥珀色**,与「滚仓/多仓保证金上限」一致。
|
||
|
||
### 单仓 / 综合保证金上限
|
||
|
||
| 指标 | 数值颜色 |
|
||
|------|----------|
|
||
| 单仓保证金上限(30%) | **蓝色** |
|
||
| 滚仓/多仓保证金上限(50%) | **琥珀色** |
|
||
|
||
### 持仓方向(持仓信息、平仓记录)
|
||
|
||
| 方向 | 颜色 |
|
||
|------|------|
|
||
| 做多 | **绿色** |
|
||
| 做空 | **红色** |
|
||
|
||
---
|
||
|
||
## 导航与设置
|
||
|
||
- 顶栏 **风控说明** 即本页(`/risk-guide`),内容由 `docs/风控说明.md` 同步渲染。
|
||
- 可在 **系统设置 → 导航显示** 中关闭「风控说明」入口;关闭后顶栏隐藏,直接访问 URL 将跳回下单监控。
|
||
|
||
---
|
||
|
||
## 与全局风控的关系
|
||
|
||
- 看板 **实时展示** 账户风控状态;下单前各板块仍调用 `assert_can_open()` 做相同校验。
|
||
- **日持仓限制**、**日交易风险** 与「同时持仓上限」并列生效,任一超限即禁止新开仓。
|
||
- **期货不使用本系统「手动平仓冷静期」**(交易所自有规则);手动平仓仅计入当日次数,超限触发日冻结。
|
||
- **综合保证金占比** 使用 CTP 柜台权益与占用保证金实时计算;断线时可能短暂显示 `—`。
|
||
|
||
---
|
||
|
||
## 相关文档
|
||
|
||
| 文档 | 内容 |
|
||
|------|------|
|
||
| [RISK.md](./RISK.md) | 全局账户风控规则与 env 变量 |
|
||
| [SETTINGS.md](./SETTINGS.md) | 保证金上限、计仓模式、导航开关 |
|
||
| [ORDER_MONITOR.md](./ORDER_MONITOR.md) | 下单监控顶栏风控状态 |
|
||
| [INDEX.md](./INDEX.md) | 文档总索引 |
|