Skip to main content

📖 Descrição

Endpoint que calcula pontualmente o PNL (Profit and Loss) atual de uma posição de arbitragem spot-futuro. Busca os preços de mercado mais recentes da coleção operations_future (com cache de 55 segundos) e recalcula o PNL em relação aos dados de entrada salvos.
Para monitoramento contínuo da posição, use GET /v1/calculators/stream em vez deste endpoint. O stream SSE elimina o polling e reduz a latência para ~1 segundo com menor sobrecarga no servidor.

🛠️ Requisição

Método

POST

URL

Request Body

Exemplo de Requisição


📤 Resposta

Exemplo de Resposta (200 OK)

Campos da Resposta


📝 Códigos de Resposta

200 OK: PNL calculado com sucesso.
400 Bad Request:
  • Invalid request body: JSON malformado
  • email is required
  • ticker is required
  • exchange is required
404 Not Found:
  • calculator not found: Não há posição salva para email + ticker. Salve via POST /v1/calculators primeiro.
  • market data not found: Não há dados de mercado recentes (últimos 20 min) para o par na exchange.
500 Internal Server Error: Failed to process calculator — Erro interno.

💡 Cache de Dados de Mercado

Internamente, o endpoint usa um cache de 55 segundos por ticker + exchange. Isso significa que chamadas feitas dentro desse intervalo reutilizam o mesmo dado, evitando queries repetidas ao MongoDB. A primeira chamada após o TTL faz uma nova query à coleção operations_future. Para dados mais frescos (atualização a cada 5s), use GET /v1/calculators/stream.

🔁 Fórmula do PNL