Here’s a powerful, no-fluff project list to impress HFT / trading firms — designed to hit all 3 pillars: C++, systems, and trading logic.
Each of these projects should live in its own GitHub repo, with:
- 🔹 A well-written README (overview, usage, benchmarks)
- 🔹 Optimized C++17/20 code
- 🔹
MakefileorCMakeLists.txt - 🔹 (Optional)
perforvalgrindoutput logs to show profiling
- ✅ Multiple producer/consumer support
- ✅ Based on circular buffer + atomic CAS
- ✅ Compare against
std::queue + mutexin benchmark
- ✅ Fixed-size allocator using
mallocslabs - ✅ Compare speed vs
new/delete - ✅ Optional: allocator reuse for object pool
- ✅ Use AVX2 or SSE to speed up substring search
- ✅ Compare vs
std::strstrorstd::string::find - ✅ Print time taken for large inputs (1GB+)
- ✅ Use
unordered_map+ doubly linked list - ✅ O(1) access + eviction
- ✅ Add performance graph for different workloads
- ✅ Simulate limit/market orders
- ✅ Maintain bid/ask books
- ✅ FIFO matching engine
- ✅ Optional: Add latency stats or multithreading
- ✅ Simulate real-time feed using
stdinor file - ✅ Parse data in fixed-format binary or CSV
- ✅ Track best bid/ask and top-of-book stats
- ✅ Measure round-trip time of TCP vs UDP packets
- ✅ Plot latency histogram
- ✅ Compare local vs remote IP
-
✅ Pre-filled
main.cppwith fast I/O, DSU, graph classes, etc. -
✅ Header-only snippets for:
- Segment Tree
- Binary Lifting
- Trie
- Bitmask DP
-
✅ Add benchmarks (e.g. Segment Tree: 100K queries in X ms)
- ✅ CLI tool: Parse problem links + log verdict/time
- ✅ Store problem type (e.g. Graph, DP)
- ✅ Export Markdown summary or leaderboard
- ✅ Load historical trades (e.g. CSV)
- ✅ Replay ticks with accurate timing
- ✅ Show PnL or execution stats
- ✅ Simple + Scalable versions
- ✅ Compare false positive rate vs hash count
- ✅ Compare vs
unordered_set
| Section | Example |
|---|---|
| Overview | “High-performance lock-free queue using ring buffer and atomic ops” |
| Build | make / g++ -O3 -std=c++20 |
| Benchmark | “10M enqueues: Lock-free = 12ms, std::queue = 63ms” |
| References | Papers, blog posts, STL source links |
g++ -O3 -std=c++20,clang++for strict checkingvalgrind,perf,gprof,timefor benchmarksGoogle BenchmarkorCatch2for unit testingDoxygenfor documenting advanced repos (optional)
- Event scheduling with O(1) time complexity
- Outperforms
std::priority_queuefor timer events - Use for scheduling order expiration or delayed actions
- Lock-free circular buffer for log writes
- Background thread flushes to disk every N ms
- Supports
log(level, msg)from multiple threads at 10M+ QPS
- Create
Column<T>types with SIMD scan/filter support - Benchmark queries like:
select avg(price) where qty > 50 - Use cache-aligned memory blocks
- Multithreaded engine with read/write locks
- Match incoming orders against top-of-book
- Use atomic queues for order ingestion
-
Given historical prices, compute:
- Realized volatility
- GARCH model prediction (optional Python/C++ hybrid)
-
Plot results using
matplotlib-cppor export to CSV
- C++ implementation of Black-Scholes
- Add binary and European call/put options
- CLI inputs:
price,volatility,expiry
- Use flat array layout to minimize pointer chasing
- Add benchmarks against classic segment tree
- Optional: Add SIMD speedup for range queries
- Memory-efficient structure for millions of strings
- Compare against
unordered_set<string>for speed and size - Application: fast ticker/ISIN search
- Approximate frequency counter for streams
- Use for estimating most traded stocks
- Constant memory, logarithmic accuracy guarantees
- In-memory KV store with pub/sub
- Multi-client TCP support using
epoll/select - Add optional LRU eviction
- Design a messaging system with
mmap/shared_memory - No serialization; direct memory buffers
- Use for IPC between trading components
- Simulate N data feeds
- One aggregator merges & sorts ticks with timestamp alignment
- Benchmark latency across data sources
📁 cpp-hft-projects/
├── README.md (index of all projects)
├── order-book-sim/
├── fast-lru-cache/
├── latency-benchmark/
├── black-scholes-pricer/
├── cp-templates/
├── zero-copy-messaging/
└── volatility-estimator/
| Project | Why It’s Impressive |
|---|---|
| Trading Log Replayer | Understands market tick structure and replay logic |
| Real-Time Strategy Backtester | Shows simulation skill and finance intuition |
| Cache-Aware Data Structures | Shows CPU-level memory optimization |
| Concurrency-Safe Order Engine | Demonstrates real-world production logic |
| Latency Analyzer CLI Tool | Shows OS-level timing and benchmarking understanding |