Esta página foi traduzida automaticamente. O original em inglês é a versão canônica. Ler em inglês →
Pular para o conteúdo principal

Simulação de risco PM

Todos os números descritos em Margem de portfólio podem ser consultados para a sua conta, e toda operação pode ser simulada antes do envio. O simulador não é um modelo à parte. Ele roda o mesmo código de margem, com a mesma política e o mesmo snapshot do motor, que valida suas ordens e executa o monitor de liquidação.

No app​

A página Portfolio margin (/risk/span) mostra, para uma conta PM:

  • equity, IM, MM, poder de compra e folga de manutenção
  • scanning risk, piso de opções e overlay de gama, cada um separado
  • a grade de cenários de cada ativo subjacente, com o P&L de cada cenário e de cada perna
  • Simular posições: adicione pernas hipotéticas ao seu livro, ou substitua-o, e compare o IM e o MM atuais com os simulados. Uma simulação nunca envia ordens nem altera o estado da conta.

A página é atualizada a cada 5 segundos.

Endpoints​

EndpointO que respondeAutenticação
GET /portfolio?wallet=Equity, IM, MM e posições atuaisNenhuma
GET /risk/grid?wallet=Scanning risk, piso, overlay atuais e a matriz de cenários por ativo subjacenteNenhuma
POST /risk/simulate/portfolioIM e MM caso suas posições fossem diferentesNenhuma
POST /risk/simulate/ordersSe uma ordem ou pacote passaria na verificação de margem, e o custo em IMNenhuma
GET /liquidation/status?wallet=Estado de liquidação e déficitNenhuma

Todos recebem a sua carteira manager como wallet. A Hypercall resolve essa carteira para a sua conta PM. GET /risk/grid responde apenas para contas PM.

Grade de risco​

GET /risk/grid retorna o requisito atual da conta e, para cada ativo subjacente, os cenários usados na avaliação desse ativo (sua própria grade, incluindo cenários extras), com:

  • scenarios[]: id, spot_shock_pct, vol_shock_pct, pnl_weight, is_tail e o total_pnl do ativo subjacente naquele cenário
  • extended_risk_matrix.instruments[]: scenario_pnls por perna, alinhados com scenarios

O scanning_risk no nível superior é o valor efetivamente cobrado: a pior perda ponderada de cada ativo subjacente, somada. O worst_scenario_index da matriz é um diagnóstico da grade de um único ativo subjacente e não determina a margem entre ativos subjacentes.

Simulação de portfólio​

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 (o padrão) soma cada quantidade com sinal à sua posição atual. false substitui o seu livro exatamente pela lista.
  • Até 50 símbolos, cada um listado uma única vez. Símbolos de opções e de perpétuos são aceitos.
  • As posições são avaliadas pelas marcações atuais. Nenhum prêmio é cobrado e nenhum livro de ofertas é consultado.

A resposta traz current, simulated e delta. Em cada resumo, leia:

CampoSignificado
equityEquity conforme definido na página de metodologia
position_initial_marginIM das posições: max(scanning risk, piso) + overlay
position_maintenance_marginMM, 0,85 × IM das posições
open_orders_initial_marginReserva para as suas ordens abertas no livro
total_initial_marginIM das posições mais IM das ordens abertas
initial_margin_availableEquity menos IM total. Valor negativo significa que novo risco é recusado
maintenance_margin_availableEquity menos MM. Valor negativo significa liquidação
scanning_risk, option_floor, gamma_overlayOs três componentes
underlyings[]A matriz de cenários por ativo subjacente, como em GET /risk/grid
venue_liquidationPresente quando você tem perpétuos na Hyperliquid: se cada compartimento da Hyperliquid sobrevive à grade (hedge_survives), o colateral que seria perdido e o IM e MM considerando a venue

metadata identifica o snapshot do motor usado na simulação (l2_seq, evaluated_at_ms).

Simulação de ordens​

POST /risk/simulate/orders executa a parte financeira da admissão de ordens sem enviar nada:

  • execution_mode: "resting" recebe exatamente uma ordem e a cobra como ordem passiva no livro.
  • execution_mode: "atomic" avalia as pernas como um pacote executado em conjunto, da mesma forma que um combo é margeado.
  • hypothetical_open_orders permite adicionar ordens passivas que você ainda não enviou, avaliadas antes de orders.

A resposta acrescenta admissible e, quando falso, um rejection_reason. O bloco delta mostra o IM que a ordem consumiria. Exemplos de requisição estão em Autenticação.

O simulador de ordens responde apenas à questão da margem. Matching, bandas de preço, RPI, nonces, limites de requisição e suspensões de negociação não são simulados, e o estado do motor pode mudar antes de você enviar a ordem real.

Erros​

StatuserrorO que significa
400invalid_simulationRequisição malformada, símbolo desconhecido ou vencido, símbolo duplicado ou mais de 50 itens
429risk_simulation_saturatedA capacidade de simulação é compartilhada e limitada. Tente novamente com backoff
503risk_inputs_unavailableUm insumo está ausente ou desatualizado, por exemplo sem marcação de IV para uma opção, ou um snapshot da HyperCore desatualizado. A ordem real seria recusada pelo mesmo motivo

Os limites de requisição para simulações estão em Limites de requisição.

Relacionados​