模拟 PM 风险
组合保证金中描述的每一个数值,您都可以针对自己的账户读取出来,每一笔交易也都可以在发送之前预览。模拟器并不是一个独立的模型:它运行的是同一套保证金代码,使用同一套策略和同一个引擎快照,与检查您订单、运行强制平仓监控的完全一致。
在应用中
组合保证金页面(/risk/span)为 PM 账户显示:
- 权益、IM、MM、购买力和维持保证金缓冲
- 分别列出扫描风险、期权下限和 Gamma 附加项
- 每个标的资产的情景网格,包含每个情景和每条腿的盈亏
- **模拟持仓:**向您的持仓添加假设的腿,或替换整个持仓,并对比当前与模拟的 IM 和 MM。模拟永远不会下单,也不会改变账户状态。
该页面每 5 秒刷新一次。
端点
| 端点 | 回答的问题 | 认证 |
|---|---|---|
GET /portfolio?wallet= | 当前权益、IM、MM 和持仓 | 无 |
GET /risk/grid?wallet= | 当前扫描风险、下限、附加项,以及按标的资产划分的情景矩阵 | 无 |
POST /risk/simulate/portfolio | 如果您的持仓不同,IM 和 MM 会是多少 | 无 |
POST /risk/simulate/orders | 一笔订单或组合订单能否通过保证金检查,以及其 IM 成本 | 无 |
GET /liquidation/status?wallet= | 强制平仓状态和缺口 | 无 |
所有端点都以您的管理钱包作为 wallet 参数;Hypercall 会将其解析为您的 PM 账户。GET /risk/grid 仅对 PM 账户返回结果。
风险网格
GET /risk/grid 返回账户当前的保证金要求,并按标的资产返回该标的资产所评估的情景(即其自身的网格,包括任何额外情景),内容包括:
scenarios[]:id、spot_shock_pct、vol_shock_pct、pnl_weight、is_tail,以及该标的资产在此情景下的total_pnlextended_risk_matrix.instruments[]:每条腿的scenario_pnls,与scenarios一一对应
顶层的 scanning_risk 是实际收取的数值:每个标的资产的最差加权亏损之和。矩阵中的 worst_scenario_index 仅是针对单个标的资产网格的诊断信息,不决定跨标的资产的保证金。
组合模拟
curl -X POST https://api.hypercall.xyz/risk/simulate/portfolio \
-H 'Content-Type: application/json' \
-d '{
"wallet": "0xYourManagerWallet",
"add_positions": true,
"positions": [
{"symbol": "BTC-20261231-100000-C", "quantity": "-1"},
{"symbol": "BTC-20261231-110000-C", "quantity": "1"},
{"symbol": "BTC-PERP", "quantity": "0.25"}
]
}'
add_positions: true(默认值)将每个带符号的数量加到您当前的持仓上。false则用该列表完全替换您的持仓。- 最多 50 个合约代码,每个只能出现一次。期权和永续合约代码均可接受。
- 持仓按当前标记价格估值。不收取权利金,也不参考订单簿。
响应包含 current、simulated 和 delta。在每个摘要中,请读取:
| 字段 | 含义 |
|---|---|
equity | 权益,定义见方法论页面 |
position_initial_margin | 持仓 IM:max(扫描风险, 下限) + 附加项 |
position_maintenance_margin | MM,即 0.85 × 持仓 IM |
open_orders_initial_margin | 为您当前挂单预留的保证金 |
total_initial_margin | 持仓 IM 加上挂单 IM |
initial_margin_available | 权益减去总 IM。为负表示新增风险将被拒绝 |
maintenance_margin_available | 权益减去 MM。为负表示触发强制平仓 |
scanning_risk、option_floor、gamma_overlay | 三个组成部分 |
underlyings[] | 按标的资产划分的情景矩阵,与 GET /risk/grid 相同 |
venue_liquidation | 当您持有 Hyperliquid 永续合约时出现:每个 Hyperliquid 分区能否通过网格测试(hedge_survives)、将会损失的抵押品,以及考虑交易场所的 IM 和 MM |
metadata 标识了模拟所基于的引擎快照(l2_seq、evaluated_at_ms)。
订单模拟
POST /risk/simulate/orders 运行订单准入中的财务部分,但不会实际下单:
execution_mode: "resting"只接受一笔订单,并按挂单计算保证金。execution_mode: "atomic"将各条腿作为一起成交的组合订单进行评估,与组合单的保证金计算方式相同。hypothetical_open_orders允许您添加尚未提交的挂单,这些挂单会在orders之前评估。
响应中会增加 admissible,当其为 false 时还会包含 rejection_reason。delta 块显示该订单将占用的 IM。请求示例见认证。
订单模拟器只回答保证金问题。撮合、价格区间、RPI、nonce、速率限制和交易暂停均不在模拟范围内,并且在您发送真实订单之前,引擎状态可能已经发生变化。
错误
| 状态码 | error | 含义 |
|---|---|---|
400 | invalid_simulation | 请求格式错误、合约代码未知或已到期、合约代码重复,或超过 50 项 |
429 | risk_simulation_saturated | 模拟容量为共享且有限;请采用退避策略重试 |
503 | risk_inputs_unavailable | 某项输入缺失或过期,例如某个期权没有 IV 标记,或 HyperCore 快照过期。真实订单也会因同样原因被拒绝 |
模拟的速率限制列于速率限制。