统一保证金概述
统一保证金(Portfolio Margin)是一种可选的账户模式,同一用户的所有开仓共享一个保证金池。 对冲头寸(如 BTC 多 + ETH 空)会互相抵消保证金需求,大幅提升资金利用率。
用户同一时刻只处于一种模式。模式切换需要显式调用且有硬性前置条件,见 切换保证金模式。
| 逐仓(默认) | 统一 | |
|---|---|---|
| 保证金归属 | 每个仓位独立 | 账户级共享池 |
| 风控指标 | 单仓位维持保证金率 | 账户级 uniMMR |
| 清算 | 逐个仓位独立 | 跨仓位瀑布式 |
| 适合场景 | 单边方向性交易 | 对冲 / 多腿策略 |
关键概念
uniMMR(统一维持保证金率)
描述统一账户健康度的单一指标:
uniMMR = total_equity / total_maintenance_margin
total_equity = wallet_balance + Σ position_collateral + Σ unrealized_pnl − Σ accumulated_feestotal_maintenance_margin = Σ 各仓位 MM
开仓时保证金会从钱包余额划转到仓位的 collateral 中,因此公式里要把
Σ position_collateral 加回来,使权益反映用户在平台上的全部资金 —
而不仅仅是未占用的现金。
账户无开仓时 uniMMR 为 null,视为安全状态。
状态机
风控 Worker 每 2 秒重新计算每个 unified 账户,按以下阶梯进行状态转换:
| 区间 | 状态 | 副作用 |
|---|---|---|
uniMMR > 2.00 或无仓位 | normal | — |
uniMMR ≤ 2.00 | warning_1 | 风险预警 WS 推送 |
uniMMR ≤ 1.50 | warning_2 | 二次预警 |
uniMMR ≤ 1.20 | reduce_only | 自动撤销全部挂单;新开仓订单被拒 |
uniMMR ≤ 1.05 | liquidating | 触发强平引擎 — 每 tick 平一个亏损最大的仓位 |
uniMMR 回升到阈值之上时自动恢复(正在执行的 tick 内已触发的清算除外)。
独立于 uniMMR 之外:只要任一持仓的 symbol 缺少标记价格,账户就会被强制置为
reduce_only(风险保守闸门 — 在价格恢复之前交易保持受限)。已处于 liquidating
的账户不会被该规则降级。
梯度维持保证金
每个仓位的 MM 按 symbol 的分层表计算。每层包含 notional 上限、MMR 与累计扣减额, 跨层保持连续:
MM_position = notional × maint_margin_rate − cum_amount
默认梯度(当某 symbol 未配置专属梯度时生效):
| 层 | 名义上限 (USD) | MMR | 最大杠杆 |
|---|---|---|---|
| 1 | 50,000 | 0.40% | 125× |
| 2 | 250,000 | 0.50% | 100× |
| 3 | 1,000,000 | 1.00% | 50× |
| 4 | 5,000,000 | 2.50% | 20× |
| 5 | 20,000,000 | 5.00% | 10× |
| 6 | 50,000,000 | 10.00% | 5× |
| 7 | 100,000,000 | 12.50% | 4× |
| 8 | 200,000,000 | 15.00% | 2× |
下单校验
unified 模式下用户下新开仓订单时,后端会模拟成交后的 uniMMR。满足以下任一条件订单被拒绝:
- 账户状态为
reduce_only或liquidating;或 available_balance − new_initial_margin < 0;或simulated_uniMMR < 1.10。
减仓 / 平仓订单不受此校验影响。
接口一览
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /api/v1/account/margin-mode | 切换模式 |
GET | /api/v1/unified/account | 账户快照 |
POST | /api/v1/unified/risk/simulate | 下单预览 |
GET | /api/v1/unified/liquidations | 清算历史 |
WS | 频道 unified_account | 实时推送 |
GET | /api/v1/admin/margin-tiers | 列出全部保证金梯度行 |
POST | /api/v1/admin/margin-tiers | 按 (symbol, tier) upsert 一条梯度行 |
DELETE | /api/v1/admin/margin-tiers | 按 (symbol, tier) 删除一条梯度行 |
POST | /api/v1/admin/margin-tiers/reload | 从数据库热加载内存中的梯度表 |
所有面向用户的接口托管在 https://api.prex.world,使用与 /api/v1/* 其他接口相同的
HMAC-SHA256 / JWT 鉴权。
/admin/margin-tiers 系列接口仅供运营人员使用,通过 X-API-Key 保护(与其他
/api/v1/admin/* 路由一致),用于管理按 symbol 划分的维持保证金梯度表;编辑梯度后调用
POST /admin/margin-tiers/reload — 新梯度对后续所有风控计算立即生效,无需重启。