Pular para o conteúdo
Todos os documentos da biblioteca

Técnicas de C++ e padrões de projeto para sistemas de negociação de baixa latência

Artigo arXiv papers · Autor: Paul Bilokon et al.

Resumo

Este trabalho examina formas de reduzir a latência em aplicações C++ sensíveis ao desempenho, tendo o trading de alta frequência como contexto principal. Descreve um repositório de programação com exemplos avaliados por benchmarks, uma estratégia otimizada de arbitragem estatística neutra ao mercado entre pares e uma implementação em C++ do padrão Disruptor para coordenar trabalho concorrente.

A avaliação considera velocidade, uso de cache e significância estatística. Os autores relatam que o aquecimento de cache e a avaliação em tempo de compilação com constexpr produziram os ganhos de latência mais claros, enquanto o Disruptor superou abordagens tradicionais de filas. Também foi relatado que a estratégia de trading melhorou em velocidade e lucratividade, embora o trecho não forneça medições nem detalhes experimentais para avaliar essas alegações. Testes em mercados ao vivo e a integração do Disruptor com o algoritmo de trading continuam como próximos passos propostos; portanto, os resultados não demonstram desempenho ao vivo de ponta a ponta.

Ideias principais

  • O trabalho combina exemplos práticos de otimização em C++ com benchmarks estatísticos para aplicações sensíveis à latência.
  • Aplica técnicas de baixa latência a uma estratégia de arbitragem estatística entre pares, neutra ao mercado.
  • O padrão Disruptor é apresentado como uma alternativa mais rápida aos métodos convencionais de filas.
  • O aquecimento de cache e constexpr são apontados como especialmente eficazes na redução da latência.
  • O trading ao vivo e os testes do sistema integrado continuam como trabalhos futuros.

Tags

Texto completo
# C++ Design Patterns for Low-latency Applications Including High-frequency Trading


# C++ Design Patterns for Low-latency Applications Including High-frequency Trading









This work aims to bridge the existing knowledge gap in the optimisation of latency-critical code, specifically focusing on high-frequency trading (HFT) systems. The research culminates in three main contributions: the creation of a Low-Latency Programming Repository, the optimisation of a market-neutral statistical arbitrage pairs trading strategy, and the implementation of the Disruptor pattern in C++. The repository serves as a practical guide and is enriched with rigorous statistical benchmarking, while the trading strategy optimisation led to substantial improvements in speed and profitability. The Disruptor pattern showcased significant performance enhancement over traditional queuing methods. Evaluation metrics include speed, cache utilisation, and statistical significance, among others. Techniques like Cache Warming and Constexpr showed the most significant gains in latency reduction. Future directions involve expanding the repository, testing the optimised trading algorithm in a live trading environment, and integrating the Disruptor pattern with the trading algorithm for comprehensive system benchmarking. The work is oriented towards academics and industry practitioners seeking to improve performance in latency-sensitive applications.

Exibido na íntegra, com atribuição conforme a licença da fonte. Licença: abstract CC0

Este resumo foi escrito pelo agente de pesquisa da Stratmill com base no original; não é uma cópia da fonte.