Argus
Explainable market data, reproducible state.
Offline run on macOS x86_64 with Rust 1.95.0. The total aggregates tests and doctests; it is not coverage, throughput or trading performance.
The problem: data before decisions
Argus investigates the technical foundations of a market-analysis platform: receiving events, representing an order book, preserving data provenance and reproducing state later. Its central question is how to trust a data sequence before building visualizations or decisions on top of it.
The reviewed implementation concentrates on the early architecture phases. It demonstrates market-data engineering and low-level structures; the complete trading platform remains a development direction.
Workspace and responsibility boundaries
The Rust workspace separates types, time, decimal precision, schemas, connectors, IPC, order books, storage, replay, risk and observability into crates. Shared contracts prevent each component from inventing its own price or event representation.
The planned topology distinguishes Terminal, Data Plane, Risk Daemon and Research to isolate failures and credentials. Current code delivers foundation components, rather than four complete applications operating together.
Precision and event identity
Prices, quantities and money have explicit units: ticks, lots and minor monetary units represented with i128 integers. Tick and lot sizes are part of the contract, reducing accidental unit mixing and indiscriminate floating-point use.
Canonical events carry identifiers, venue, instrument, sequence and exchange, receipt and processing timestamps. Distinguishing those times allows investigation of where a delay occurred instead of assigning all latency to one stage.
Pipeline and deterministic connectors
The Data Plane connects the connector interface, canonical events, order book, quality tracking and publication. A fixture connector produces controlled inputs to exercise the pipeline without a real exchange connection.
Snapshots replace book state; deltas update levels and undergo sequence checks. Trade events and errors feed counters. The inspected pipeline is synchronous; migration to real asynchronous feeds belongs to subsequent stages.
L2 order book and invariants
The L2 book maintains bid and ask sides, best prices and aggregate levels. It uses a slab arena and supports snapshots, deltas and resynchronization state. Invalid sequences must not be mistaken for valid market continuity.
Property-based tests compare this structure against a reference implementation across generated operation sequences. The focus is state equivalence and book invariants, rather than unmeasured latency claims.
SPSC, backpressure and shared-memory boundaries
The SPSC ring has one producer and one consumer, slots with atomic sequence numbers and explicit overflow policies. WaitProducer provides backpressure; other policies permit dropping events on suitable channels. Counters record dropped data.
The reviewed component uses Arc and process-allocated memory. It is a foundation concurrency primitive; its SHM name alone does not demonstrate mapped-memory transport between independent processes. This distinction preserves the implementation’s actual scope.
Storage, checkpoints and replay
Storage separates an in-memory tier and a JSONL tier with segment indexes and checkpoints. Replay sessions read persisted events, control a time cursor and support advancing and seeking, enabling session reconstruction from recorded inputs.
Branches store overlays of decisions and simulated orders without duplicating the entire market dataset. BLAKE3 verification compares the serialized sequence with an expected hash. Deterministic replay must be verified against known fixtures and versions, rather than assumed for arbitrary external feeds.
Risk, audit and provenance
The risk module contains an envelope and state machine distinguishing operating conditions and intent acceptance. These are early contracts; complete order validation and venue interaction have not been demonstrated as an operational daemon.
An append-only log chains entries using BLAKE3 hashes and references to the preceding entry. Provenance and quality accompany the data. These mechanisms support investigation of changes and decisions but do not replace access control, retention and operational review.
Observability and verification strategy
The project includes a metrics registry, Prometheus exporter, JSON logs and tracing primitives. A Sensitive wrapper organizes sensitive-value representation in diagnostics. Event, gap and quality metrics help explain pipeline behavior.
The suite contains unit tests, Proptest properties and Criterion benchmark structures. The local suite passed 176 tests and doctests. This review did not execute a load benchmark or measure throughput, availability or financial results.
Demonstrated skills and next steps
Argus connects domain modeling, numerical precision, data structures, concurrency, persistence and event reproduction. Economics and Data Science provide context for the questions; Rust makes their contracts and invariants inspectable.
Next steps include real-feed integration, completing process boundaries and validating the risk path. The repository is public, with documentation and a noncommercial license. The local suite passed 176 tests; no trading results were measured.