BUILDING SIM → LOB → ALPHA

Arjun Prabhakaran — CS grad, Bengaluru

Systems tested down to the microsecond.

“software that can’t afford to lose a race condition, or an argument with the profiler.”

I build low-latency trading infrastructure and quantitative research tools — order books, kernel-bypass feed handlers, and alpha signals — and publish the real benchmark numbers, good and bad.

SEE CURRENT STATUS
Systems C · C++20 · Python
Markets HFT · alpha · data
Research quantum · runtime

Selected practice

Proof of work across performance engineering and applied research.

This is a running record, not a highlight reel: experiments that start as questions, get instrumented, and turn into benchmarks, models, parsers, and working prototypes — logged as they happen.

Current status

Where each system actually stands.

Six projects, three tiers of done. Nothing here is marked finished until it's been measured.

Shipped & benchmarked

  • Limit order book engine — loopback RTT p50 ~16.1µs, LOB itself p50 ~50ns
  • kdb+/q C API integration, isolated behind a single translation unit
  • ITCH 5.0 parser — 109.4M messages, full 3.28GB file, zero leftover bytes
  • Alt-data alpha: PLTR IC(1d) +0.352, p<0.01 across a 90-day backtest

In progress

  • XDP/eBPF feed handler — kernel-space parse path working, order book next
  • Adaptive ZNE selector for quantum error mitigation — 64.3% accuracy so far
  • Strategy layer on top of the order book — not started yet

On the bench

  • Video segmentation prototype for automation workflows
  • No-GIL execution simulator for CPython runtime questions
  • Satellite-imagery retail signal — noisier than the news pipeline so far

Current boundary: ~16µs of loopback TCP/kernel overhead is the floor without kernel bypass — DPDK or RDMA is the next thing worth measuring.

Selected findings

Small results. Real numbers.

Pulled straight from the devlogs, not cleaned up after the fact.

cpp-hft-project / rtt-split.log

Network overhead, not the order book, is the bottleneck

LOB processing alone: p50 ~50ns / p99 ~280ns
Full RTT: p50 ~16.1µs / p99 ~22.8µs
-> 16.3µs of 16.4µs median RTT is loopback TCP + kernel scheduling
cpp-hft-project / isolation-tuning.log

Isolation helped the tail, not the median

Untuned:     mean RTT 16.36µs, max 88.27µs
Full isolation: mean RTT 22.64µs, max 52.25µs
-> traded median latency for tail predictability
itch_stats / full-parse.log

Real NASDAQ ITCH feed, parsed clean on the first run

109,386,091 messages parsed
3,280,036,325 / 3,280,036,325 bytes consumed
8,909 distinct symbols identified
alt-alpha / news-pipeline.log

Strongest signal across 15 tickers, 90-day backtest

PLTR IC(1d) = +0.352, p<0.01, 64.3% hit rate
GME +0.215 (p<0.05) · NVDA +0.168 · MSFT +0.167
TSLA came back negative at -0.183

Selected work

Project index

Loading index...

Get in touch

Most of this is public. The rest is a DM away.