rust-finance on GitHub is a pure Rust stack the README brands as RustForge: a terminal-first research and execution environment that multiplexes market feeds, routes them through an AI analysis lane, and optionally stress-tests narratives with a large parallel agent swarm before anything touches a risk gate or a paper-style executor. It is aimed at people who want one desk where streaming books, model-driven commentary, and simulation outputs share the same event bus instead of three browser tabs and a spreadsheet.

What this is: An MIT-licensed, educational / research-oriented codebase (the README ships a blunt capital-loss warning) that combines a multi-screen Ratatui dashboard, a Claude-connected analyst path (“Dexter” in the docs), quant and microstructure tooling, and a swarm simulator the project describes at 100K-agent Rayon parallelism — not a substitute for compliance, prime brokers, or your own data vetting.
Screenshot-style view of the Rust terminal TUI with market panels and status readouts from the rust-finance repository assets.
Asset from the rust-finance repository’s assets/ folder — illustrative of the Ratatui-forward layout described in the README, not a live endorsement of any venue or strategy.

Why a terminal instead of another static dashboard

Most “AI finance” demos stop at a chart and a chat bubble. The RustForge pitch is different: treat the session as a time-ordered research station where ticks, news-derived sentiment, AI memos, and simulator shocks all land on the same bus with nanosecond-resolution timestamps in the README’s marketing table — useful when you are debugging ordering and latency, not just pretty aggregates.

Rust is doing the heavy lifting here on purpose: the authors emphasise low-latency ingestion, strict crate boundaries, and parallel simulation — the sort of workload where ownership and Rayon-style fan-out beat glueing the same graph together in a GC language when you are already fighting the clock.

Two lanes: AI analyst vs swarm simulation

Lane one — analyst-shaped AI. The architecture diagram in the README places an AI engine (Dexter / Mirofish naming in the diagram) on the event bus next to quantitative features, with Anthropic Claude shown as the external LLM feed. Practically, that is the “financial analyst” fantasy done honestly: language models summarise, flag, and route; they do not magically become exchange-grade compliance officers.

Lane two — swarm stress. The same diagram routes microstructure features into a swarm simulator backed by swarm_sim in the crate map, with the README advertising on the order of 100,000 agents in parallel — far beyond “a few personas in a Jupyter cell,” and closer to Monte-Carlo-style crowd behaviour experiments where you care about tail shapes, not a single headline scenario.

Between those lanes sits a knowledge graph / RAG layer (petgraph in the docs) so structured relationships can feed back into the AI path — another hint that the authors are thinking about traceable retrieval, not one-shot prompts pasted into a sidebar.

What the README actually lists

Feature tables drift, so treat this as a orientation map — then diff against the repository if you are picking crates for a fork:

  • TUI — six-screen Ratatui dashboard wired over a TCP event bus to the daemon.
  • Market plumbing — multi-source ingestion (README names Alpaca, Binance, Finnhub, Polymarket, mock paths), smart routing language, and execution algos described in Bloomberg-adjacent vocabulary (TWAP, VWAP, iceberg-style slicing).
  • Risk language — GARCH-flavoured volatility talk, VaR framing, kill switches, interceptor chains — i.e. the boring parts professionals expect before anyone says “YOLO.”
  • Simulation depth — walk-forward and Monte Carlo modules in the quant subgraph, plus the swarm lane above.
  • Developer ergonomicsUSE_MOCK=1 quick start so you can compile and explore without broker keys, then promote to keyed profiles when you accept operational risk.

If you want a Python-first analogue that leans entirely into LLM committee roles rather than Rust microstructure, our walk-through of TradingAgents as a multi-agent market research framework is a useful contrast — same curiosity about agent separation, different runtime contract.

TradingAgents terminal dashboard: agent team progress, tool and reasoning log, SPY news analysis report.
Python-side reference: TradingAgents CLI layout (progress grid, tool/reasoning stream, rolling report) — same “terminal as mission control” fantasy, different language and graph stack.

Sources

Anthropic Claude logo on warm peach diagonal band with circuit-line pattern, Claude Code course branding.
Udemy

Claude Code — The Practical Guide

Available at Udemy — video-led path for agent-style coding workflows alongside terminal-first research tools. Title, price, and ratings on Udemy change; confirm on the merchant page before you buy.

View course on Udemy

Frequently asked questions

Is this production trading software?

The README explicitly labels the project educational and research and warns you not to blame the authors for autonomous losses on live capital. Treat every integration as your compliance and operational problem.

Do I need paid market data APIs on day one?

No. The documented quick start runs the daemon in mock mode with USE_MOCK=1 so you can explore the bus and TUI before you paste brokerage keys into an .env file.

Why Rust instead of Python for this shape of project?

The authors lean on Rust for predictable memory behaviour, crate isolation, and parallel simulation — priorities when ingestion, risk checks, and UI updates compete for the same milliseconds. You still pay a compile-time tax versus a notebook.

Does the swarm prove anything about real markets?

It produces scenario stress under explicit model assumptions — useful intuition and regression fodder, not a certificate that tomorrow’s tape will match run n. Keep calibration notebooks and out-of-sample tests humbler than the marketing table sounds.

Fork for learning, paper, or sim first. If you would not hand a stranger your exchange API keys, do not hand them to an unmaintained branch you have not read.