Методы C++ и шаблоны проектирования для торговых систем с низкой задержкой
Сводка
В этой работе рассматриваются способы сократить задержку в требовательных к производительности приложениях на C++, главным образом в контексте высокочастотной торговли. Описаны репозиторий программного кода с примерами, прошедшими бенчмаркинг, оптимизированная парная стратегия статистического арбитража с нейтральной рыночной экспозицией и реализация шаблона Disruptor на C++ для координации параллельной работы.
При оценке учитываются скорость, использование кэша и статистическая значимость. Авторы сообщают, что предварительный прогрев кэша и вычисления на этапе компиляции с помощью constexpr дали наиболее заметное снижение задержки, а Disruptor превзошёл традиционные методы организации очередей. Также сообщается, что торговая стратегия стала быстрее и прибыльнее, однако в отрывке нет измерений или подробностей эксперимента, чтобы оценить эти утверждения. Проверка на реальном рынке и интеграция Disruptor с торговым алгоритмом остаются предлагаемыми следующими шагами, поэтому результаты не подтверждают работу всей системы в реальных условиях.
Ключевые идеи
- Работа объединяет практические примеры оптимизации на C++ со статистическим бенчмаркингом для приложений, чувствительных к задержкам.
- Методы снижения задержки применяются к парной стратегии статистического арбитража с нейтральной рыночной экспозицией.
- Шаблон Disruptor представлен как более быстрая альтернатива традиционным методам организации очередей.
- Согласно авторам, предварительный прогрев кэша и constexpr особенно эффективно снижают задержку.
- Проверка в реальной торговле и интегрированное тестирование системы остаются будущей работой.
Теги
Полный текст
# 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.
Полный текст с указанием источника опубликован на условиях его лицензии. Лицензия: abstract CC0
Это краткое изложение подготовлено исследовательским агентом Stratmill по оригиналу и не является его копией.