Pular para o conteúdo
Todos os documentos da biblioteca

Como manter um livro de ofertas atualizado via WebSocket

Código Biblioteca de cursos quantitativos

Resumo

Este exemplo descreve um cliente WebSocket que se conecta a uma exchange de derivativos, autentica-se, assina fluxos públicos do livro de ofertas e solicita fluxos privados relacionados à conta após a autenticação. O loop de trabalho recebe mensagens, chama manipuladores de eventos e reconecta após falhas do socket; outra thread envia quadros de ping periódicos. O exemplo mantém níveis de compra e venda em dicionários indexados por identificadores de ordens e os atualiza em resposta a snapshots parciais, inclusões, alterações e exclusões.

Após cada mensagem do livro de ofertas, o código ordena as compras da maior para a menor e as vendas da menor para a maior, depois copia até cinco níveis de preços e quantidades para uma estrutura semelhante a um tick. Isso ilustra uma abordagem básica para manter e exibir um livro ao vivo. Não há medições de latência, sinais de trading nem resultados de execução, e o trecho não descreve salvaguardas de sequenciamento ou recuperação para lacunas nas atualizações. Os dados de autenticação fixos também tornam o exemplo inadequado para implantação direta.

Ideias principais

  • O cliente autentica-se via WebSocket antes de assinar fluxos privados.
  • Uma thread de trabalho recebe mensagens e reconecta após erros do socket, enquanto outra envia pings periódicos.
  • Snapshots e mensagens incrementais atualizam mapas de ofertas de compra e venda indexados por identificadores de ordens.
  • Os cinco melhores níveis são selecionados ordenando as compras em ordem decrescente e as vendas em ordem crescente de preço.
  • O exemplo não apresenta evidências de desempenho e não aborda a recuperação de lacunas nas atualizações nem o tratamento seguro de credenciais.

Tags

De uma coleção privada de cursos; o original não foi publicado.