PM-Risiko simulieren
Jede in Portfolio Margin beschriebene Kennzahl lässt sich für Ihr Konto abrufen, und jeder Trade lässt sich vorab simulieren, bevor Sie ihn absenden. Der Simulator ist kein separates Modell: Er führt denselben Margin-Code mit derselben Policy und demselben Engine-Snapshot aus, der Ihre Orders prüft und den Liquidations-Watcher betreibt.
In der App
Die Seite Portfolio margin (/risk/span) zeigt für ein PM-Konto:
- Equity, IM, MM, Kaufkraft und Maintenance-Puffer
- Scanning Risk, Options-Floor und Gamma-Overlay getrennt
- das Szenarioraster für jeden Basiswert, mit der GuV jedes Szenarios und jedes Legs
- Simulate positions: Fügen Sie Ihrem Buch hypothetische Legs hinzu oder ersetzen Sie es, und vergleichen Sie aktuelle mit simulierter IM und MM. Eine Simulation platziert niemals eine Order und ändert keinen Kontostatus.
Die Seite aktualisiert sich alle 5 Sekunden.
Endpunkte
| Endpunkt | Was er beantwortet | Auth |
|---|---|---|
GET /portfolio?wallet= | Aktuelle Equity, IM, MM und Positionen | Keine |
GET /risk/grid?wallet= | Aktuelles Scanning Risk, Floor, Overlay und die Szenariomatrix pro Basiswert | Keine |
POST /risk/simulate/portfolio | IM und MM, wenn Ihre Positionen anders wären | Keine |
POST /risk/simulate/orders | Ob eine Order oder ein Paket die Margin-Prüfung bestehen würde, und ihre IM-Kosten | Keine |
GET /liquidation/status?wallet= | Liquidationsstatus und Fehlbetrag | Keine |
Alle erwarten Ihre Manager-Wallet als wallet; Hypercall löst sie zu Ihrem PM-Konto auf. GET /risk/grid antwortet nur für PM-Konten.
Risikoraster
GET /risk/grid liefert die aktuelle Anforderung des Kontos und pro Basiswert die Szenarien, nach denen dieser Basiswert bewertet wird (sein eigenes Raster, einschließlich etwaiger Zusatzszenarien), mit:
scenarios[]:id,spot_shock_pct,vol_shock_pct,pnl_weight,is_tailund demtotal_pnldes Basiswerts in diesem Szenarioextended_risk_matrix.instruments[]:scenario_pnlspro Leg, ausgerichtet anscenarios
scanning_risk auf oberster Ebene ist der belastete Wert: der schlechteste gewichtete Verlust jedes Basiswerts, summiert. Der worst_scenario_index der Matrix ist eine Diagnose für das Raster eines einzelnen Basiswerts und bestimmt die Margin über Basiswerte hinweg nicht.
Portfoliosimulation
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(Standard) addiert jede vorzeichenbehaftete Menge zu Ihrer aktuellen Position.falseersetzt Ihr Buch exakt durch die Liste.- Bis zu 50 Symbole, jedes nur einmal aufgeführt. Options- und Perp-Symbole werden beide akzeptiert.
- Positionen werden zu aktuellen Marks bewertet. Es wird keine Prämie berechnet und kein Orderbuch herangezogen.
Die Antwort enthält current, simulated und delta. Lesen Sie in jeder Zusammenfassung:
| Feld | Bedeutung |
|---|---|
equity | Equity wie auf der Methodikseite definiert |
position_initial_margin | IM auf Positionen: max(Scanning Risk, Floor) + Overlay |
position_maintenance_margin | MM, 0,85 × Positions-IM |
open_orders_initial_margin | Reservierung für Ihre aktiven ruhenden Orders |
total_initial_margin | Positions-IM plus IM offener Orders |
initial_margin_available | Equity minus gesamte IM. Negativ bedeutet, dass neues Risiko abgelehnt wird |
maintenance_margin_available | Equity minus MM. Negativ bedeutet Liquidation |
scanning_risk, option_floor, gamma_overlay | Die drei Komponenten |
underlyings[] | Die Szenariomatrix pro Basiswert, wie in GET /risk/grid |
venue_liquidation | Vorhanden, wenn Sie Hyperliquid-Perps halten: ob jedes Hyperliquid-Compartment das Raster übersteht (hedge_survives), die Sicherheiten, die verloren gingen, sowie die venue-bezogene IM und MM |
metadata identifiziert den Engine-Snapshot, auf dem die Simulation lief (l2_seq, evaluated_at_ms).
Ordersimulation
POST /risk/simulate/orders führt den finanziellen Teil der Orderzulassung aus, ohne etwas zu platzieren:
execution_mode: "resting"nimmt genau eine Order und belastet sie als ruhende Order.execution_mode: "atomic"bewertet die Legs als Paket, das gemeinsam ausgeführt wird, so wie eine Kombination gemargint wird.hypothetical_open_ordersermöglicht es Ihnen, ruhende Orders hinzuzufügen, die Sie noch nicht platziert haben; sie werden vorordersausgewertet.
Die Antwort ergänzt admissible und, falls false, einen rejection_reason. Der Block delta zeigt die IM, die die Order verbrauchen würde. Anfragebeispiele finden Sie unter Authentifizierung.
Der Ordersimulator beantwortet nur die Margin-Frage. Matching, Preisbänder, RPI, Nonces, Rate Limits und Handelsstopps werden nicht simuliert, und der Engine-Zustand kann sich ändern, bevor Sie die echte Order senden.
Fehler
| Status | error | Bedeutung |
|---|---|---|
400 | invalid_simulation | Fehlerhafte Anfrage, unbekanntes oder verfallenes Symbol, doppeltes Symbol oder mehr als 50 Einträge |
429 | risk_simulation_saturated | Die Simulationskapazität ist geteilt und begrenzt; wiederholen Sie mit Backoff |
503 | risk_inputs_unavailable | Ein Input fehlt oder ist veraltet, zum Beispiel kein IV-Mark für eine Option oder ein veralteter HyperCore-Snapshot. Die echte Order würde aus demselben Grund abgelehnt |
Rate Limits für Simulationen sind unter Rate Limits aufgeführt.