Cette page a été traduite automatiquement. La version anglaise fait référence. Lire en anglais →
Aller au contenu principal

Simuler le risque PM

Chaque chiffre décrit dans Marge de portefeuille peut être consulté pour votre compte, et chaque transaction peut être prévisualisée avant son envoi. Le simulateur n'est pas un modèle distinct : il exécute le même code de marge, avec la même politique et le même snapshot du moteur, que celui qui contrôle vos ordres et fait tourner le surveillant de liquidation.

Dans l'application​

La page Portfolio margin (/risk/span) affiche, pour un compte PM :

  • les fonds propres, l'IM, la MM, le pouvoir d’achat et la réserve de maintenance
  • le risque de scanning, le plancher options et la surcharge gamma, chacun séparément
  • la grille de scénarios pour chaque actif sous-jacent, avec le P&L de chaque scénario et de chaque jambe
  • Simulate positions : ajoutez des jambes hypothétiques à votre portefeuille, ou remplacez-le, et comparez l'IM et la MM actuelles aux valeurs simulées. Une simulation ne place jamais d'ordre et ne modifie jamais l'état du compte.

La page se rafraîchit toutes les 5 secondes.

Endpoints​

EndpointCe qu'il renvoieAuthentification
GET /portfolio?wallet=Fonds propres, IM, MM et positions actuelsAucune
GET /risk/grid?wallet=Risque de scanning, plancher, surcharge actuels, et la matrice de scénarios par sous-jacentAucune
POST /risk/simulate/portfolioL'IM et la MM si vos positions étaient différentesAucune
POST /risk/simulate/ordersSi un ordre ou un package passerait le contrôle de marge, et son coût en IMAucune
GET /liquidation/status?wallet=État de liquidation et déficitAucune

Tous prennent votre portefeuille manager comme wallet ; Hypercall le résout vers votre compte PM. GET /risk/grid ne répond que pour les comptes PM.

Grille de risque​

GET /risk/grid renvoie l'exigence de marge actuelle du compte et, pour chaque sous-jacent, les scénarios sur lesquels ce sous-jacent est évalué (sa propre grille, y compris les éventuels scénarios supplémentaires) avec :

  • scenarios[] : id, spot_shock_pct, vol_shock_pct, pnl_weight, is_tail et le total_pnl du sous-jacent dans ce scénario
  • extended_risk_matrix.instruments[] : les scenario_pnls par jambe, alignés sur scenarios

Le scanning_risk au niveau supérieur est le montant facturé : la pire perte pondérée de chaque sous-jacent, additionnée. Le worst_scenario_index de la matrice est un diagnostic propre à la grille d'un seul sous-jacent et ne détermine pas la marge entre sous-jacents.

Simulation de portefeuille​

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 (valeur par défaut) ajoute chaque quantité signée à votre position actuelle. false remplace votre portefeuille par exactement cette liste.
  • Jusqu'à 50 symboles, chacun listé une seule fois. Les symboles d'options et de contrats perpétuels sont tous deux acceptés.
  • Les positions sont valorisées aux marks actuels. Aucune prime n'est facturée et aucun carnet d'ordres n'est consulté.

La réponse contient current, simulated et delta. Dans chaque résumé, lisez :

ChampSignification
equityFonds propres tels que définis sur la page de méthodologie
position_initial_marginIM sur les positions : max(risque de scanning, plancher) + surcharge
position_maintenance_marginMM, 0,85 × IM des positions
open_orders_initial_marginRéservation pour vos ordres actifs en attente dans le carnet
total_initial_marginIM des positions plus IM des ordres ouverts
initial_margin_availableFonds propres moins IM totale. Une valeur négative signifie que tout nouveau risque est refusé
maintenance_margin_availableFonds propres moins MM. Une valeur négative signifie la liquidation
scanning_risk, option_floor, gamma_overlayLes trois composantes
underlyings[]La matrice de scénarios par sous-jacent, comme dans GET /risk/grid
venue_liquidationPrésent lorsque vous détenez des contrats perpétuels Hyperliquid : si chaque compartiment Hyperliquid résiste à la grille (hedge_survives), le collatéral qui serait perdu, et l'IM et la MM tenant compte de la plateforme

metadata identifie le snapshot du moteur sur lequel la simulation a été exécutée (l2_seq, evaluated_at_ms).

Simulation d'ordres​

POST /risk/simulate/orders exécute la partie financière de l'admission d'un ordre sans rien placer :

  • execution_mode: "resting" prend exactement un ordre et le facture comme un ordre en attente dans le carnet.
  • execution_mode: "atomic" évalue les jambes comme un package exécuté en une seule fois, de la même manière qu'un combo est margé.
  • hypothetical_open_orders vous permet d'ajouter des ordres en attente que vous n'avez pas encore placés, évalués avant orders.

La réponse ajoute admissible et, lorsqu'il vaut false, un rejection_reason. Le bloc delta indique l'IM que l'ordre consommerait. Des exemples de requêtes figurent dans Authentification.

Le simulateur d'ordres répond uniquement à la question de la marge. Le matching, les bandes de prix, le RPI, les nonces, les limites de débit et les suspensions de trading ne sont pas simulés, et l'état du moteur peut évoluer avant que vous n'envoyiez l'ordre réel.

Erreurs​

StatuterrorSignification
400invalid_simulationRequête mal formée, symbole inconnu ou expiré, symbole en double, ou plus de 50 éléments
429risk_simulation_saturatedLa capacité de simulation est partagée et limitée ; réessayez avec un backoff
503risk_inputs_unavailableUne donnée d'entrée est manquante ou obsolète, par exemple aucun mark d'IV pour une option, ou un snapshot HyperCore obsolète. L'ordre réel serait refusé pour la même raison

Les limites de débit des simulations sont indiquées dans Limites de débit.

Voir aussi​