A feature engine that keeps only the latest value can erase information. Jane Street’s account of Flex Model uses repeated trades to show why a history of events matters even when a quoted number is unchanged.

Flex separates the event handler, which updates state, from the evaluation that produces a requested value. A startup planner orders the prerequisites for each event type; the graph remains fixed during execution.

The migration is instructive too. Work began in 2019, narrowed to one strategy in one market, and reached production in early 2022. Replacing the most important remaining instances took roughly another year. The engineering lesson is about making state, evaluation and migration scope explicit.

Follow the reporting

Jane Street engineering ↗