// the find
robaho/go-trader
financial exchange written in Go, designed for algorithmic trading tests
A simulated financial exchange in Go, built by one developer to learn Go and benchmark it for low-latency trading infrastructure. It implements an order book, FIX and gRPC client protocols, and UDP multicast market data distribution, aimed at people who want to backtest trading algos against something more realistic than a mock API or who want a non-trivial Go networking codebase to read.
It implements the actual plumbing of a real exchange rather than faking it — FIX via quickfixgo, gRPC, UDP multicast with TCP replay for dropped packets, and a real order book, not a REST CRUD stand-in. Published benchmarks (90k+ quotes/sec over FIX, 400k+ over gRPC, sub-millisecond latency) come with the exact command to reproduce them (`marketmaker -bench`), which is rare for a hobby project. It ships three different client implementations against the same backend (CLI, server-rendered Go templates, Lit SPA), which is a genuinely useful comparison if you're deciding on a client architecture. Monetary values go through the author's own `fixed` fixed-point library instead of float64, which is the detail most toy trading systems get wrong.
Single-author side project with no CONTRIBUTING file or second maintainer — if robaho stops, this stops. There's no Dockerfile or CI config in the tree, and running it means hand-editing `configs/got_settings` and starting the exchange, market maker, and client in separate terminals — not a one-command demo. The order book only handles limit and market orders with no mention of cancel-replace or stop orders, so it's a simplified teaching model, not something to stress-test real strategy logic against. Test coverage covers the order book and order list well but there's nothing for the FIX or gRPC connectors, which are exactly the parts most likely to break on a protocol-version or dependency bump.