Skip to content

osmanbowser/imperial_hft

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Low-Latency Programming Repository for High-Frequency Trading (HFT)

Table of Contents

  1. Introduction
  2. Features
  3. Installation
  4. Prerequisites
  5. Usage
  6. Benchmarking
  7. Acknowledgments

Introduction

Welcome to the Low-Latency Programming Repository, a project aimed to serve both academics and industry practitioners in the realm of High-Frequency Trading (HFT). With a focus on optimizing latency-critical code, this repository provides comprehensive insights, techniques, design patterns, and best practices that are statistically benchmarked to mitigate latency in HFT systems.

Features

  • Comprehensive guide on low-latency programming techniques such as Cache Warming, Constexpr, Loop Unrolling, Lock-Free Programming, and Short-circuiting.
  • Market-neutral statistical arbitrage pairs trading strategy optimized for low-latency.
  • Implementation of the Disruptor pattern in C++ optimized for speed and scalability.

Installation

Clone this repository to your local machine to get started.

git clone https://github.com/0burak/imperial_hft.git
cd imperial_hft

Prerequisites

  • C++ Compiler with C++11 support or higher
  • CMake version 3.10 or higher
  • Google Benchmark

Usage

After Google Benchmark has been installed and the benchmark folder if in the same directory as the mybenchmark.cc file, the user can compile the my-benchmark.cc file using the makefile provided in the repository.

g++ mybenchmark.cc -std=c++20 -isystem benchmark/include -Lbenchmark/build/src -lbenchmark -lpthread -o mybenchmark

Benchmarking

All techniques and strategies are rigorously benchmarked for latency reduction, cache efficiency, and overall performance. The benchmark/ directory contains all benchmarking scripts.

Acknowledgments

  • A special thanks to Dr Paul A. Bilokon for his evaluation and invaluable feedback.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 81.3%
  • Python 12.8%
  • Makefile 5.9%