finds.dev← search

// the find

Ameobea/tickgrinder

★ 594 · Rust · MIT · updated Dec 2019

Low-latency algorithmic trading platform written in Rust

TickGrinder is a pre-alpha algorithmic trading platform built around a multi-process Rust core communicating over Redis pub/sub, with a Node.js management UI and FXCM broker integration via a Java bridge. It targets forex tick data and is designed for users who want to write their own trading strategies in Rust. Last commit was 2019, so treat this as abandoned.

The process-per-symbol architecture for tick processors is a reasonable design that isolates failures and allows independent scaling. The simbroker shim for backtesting against the same code path that runs live is the right call — no separate backtest codepath means fewer surprises. The Redis pub/sub messaging layer keeps modules decoupled and lets you observe traffic with standard Redis tooling. The React-based MM UI with macro serialization for chart configs is a genuinely useful operational feature for iterating on strategy visualization.

The Rust nightly requirement from 2017-era nightly is a dead end — this will not compile on any modern toolchain without significant porting work, and there's been zero maintenance since 2019. The FXCM broker shim requires a Java bridge talking to a proprietary C++ SDK, which is three layers of pain just to get a data feed; FXCM also killed their retail API in 2022. The inter-process communication design — every tick fires a Redis round-trip — adds latency that undermines the 'low-latency' claim for anything faster than second-level data. Strategies are deliberately not included ('keeping them secret'), so you get infrastructure scaffolding with no reference implementation beyond a trivial SMA cross.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →