PMリスクのシミュレーション
ポートフォリオ証拠金で説明しているすべての数値は、ご自身のアカウントについて読み出すことができ、すべての取引は送信前にプレビューできます。シミュレーターは別個のモデルではありません。注文をチェックし、清算ウォッチャーを動かしているのと同じ証拠金コードを、同じポリシーと同じエンジンスナップショット上で実行します。
アプリ内
ポートフォリオ証拠金ページ(/risk/span)では、PMアカウントについて以下を表示します。
- 資産額(エクイティ)、IM、MM、買付余力、維持証拠金バッファー
- スキャニングリスク、オプションフロア、ガンマオーバーレイ(それぞれ個別に表示)
- 各原資産のシナリオグリッド。すべてのシナリオとすべてのレッグの損益を含みます
- ポジションのシミュレーション: 仮想のレッグをポートフォリオに追加する、またはポートフォリオを置き換えることで、現在のIMおよびMMとシミュレーション後の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は1つの原資産のグリッドに関する診断値であり、原資産をまたいだ証拠金の算出には使われません。
ポートフォリオのシミュレーション
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シンボルまでで、各シンボルは1回のみ指定できます。オプションとパーペチュアルのシンボルはどちらも指定可能です。
- ポジションは現在のマークで評価されます。プレミアムは課されず、オーダーブックも参照されません。
レスポンスにはcurrent、simulated、deltaが含まれます。各サマリーでは以下を確認してください。
| フィールド | 意味 |
|---|---|
equity | 算出方法ページで定義されているエクイティ |
position_initial_margin | ポジションに対するIM:max(スキャニングリスク, フロア) + オーバーレイ |
position_maintenance_margin | MM。ポジションIMの0.85倍 |
open_orders_initial_margin | 板上に出ている注文に対する拘束額 |
total_initial_margin | ポジションIMと未約定注文IMの合計 |
initial_margin_available | エクイティから合計IMを差し引いた額。マイナスの場合、新たなリストは拒否されます |
maintenance_margin_available | エクイティからMMを差し引いた額。マイナスの場合は清算となります |
scanning_risk、option_floor、gamma_overlay | 3つの構成要素 |
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"は注文を1件だけ受け取り、指値注文として証拠金を計算します。execution_mode: "atomic"は、コンボの証拠金計算と同様に、レッグを同時に約定するパッケージとして評価します。hypothetical_open_ordersを使うと、まだ発注していない指値注文を追加できます。これらはordersより先に評価されます。
レスポンスにはadmissibleが追加され、falseの場合はrejection_reasonも含まれます。deltaブロックは、その注文が消費するIMを示します。リクエスト例は認証に記載されています。
注文シミュレーターが回答するのは証拠金に関する問いのみです。マッチング、価格バンド、RPI、ノンス、レート制限、取引停止はシミュレーションされず、実際の注文を送信するまでにエンジンの状態が変化する可能性があります。
エラー
| ステータス | error | 意味 |
|---|---|---|
400 | invalid_simulation | 不正な形式のリクエスト、不明または満期を迎えたシンボル、重複したシンボル、または50件を超える項目 |
429 | risk_simulation_saturated | シミュレーションの処理能力は共有されており上限があります。バックオフを入れて再試行してください |
503 | risk_inputs_unavailable | 入力が欠落しているか古くなっています。例えば、オプションのIVマークがない場合や、HyperCoreのスナップショットが古い場合です。実際の注文も同じ理由で拒否されます |
シミュレーションのレート制限はレート制限に記載されています。