Stochastic

Backtest trading strategies
on your laptop.

A backtesting platform that runs locally as a single binary at around 50,000 bars per second. Write your strategies in Python or Go.

brew install stochastic-sh/tap/stochastic-ctl
brew install --cask stochastic-sh/tap/stochastic
stochastic-ctl infra up

What it is

Stochastic is a self-hosted backtesting platform. One cross-platform binary runs the engine, simulator, portfolio accounting, and reporting in a single high-throughput process, working against minute bars stored in a scalable timeseries database. A native desktop app gives you the dashboard.

It's built for researchers who want a serious backtest engine without the operational overhead. Install via Homebrew, load market data from Massive.com, write a strategy in 30 lines, hit play, and watch your NLV history fill in. You iterate locally, and nothing leaves your machine.

Install

Prerequisites
  • · Docker Desktop (or OrbStack)
  • · Homebrew
  • · A Massive.com API key (Stocks Developer or above)
  1. 01 · Install the CLI and dashboard
    brew install stochastic-sh/tap/stochastic-ctl
    brew install --cask stochastic-sh/tap/stochastic
  2. 02 · Bring up local infrastructure (database schema applied automatically)
    stochastic-ctl infra up
  3. 03 · Open the dashboard
    open -a Stochastic
  4. 04 · Inside the dashboard
    Paste your Massive.com API key, type AAPL in the symbol textarea, pick a date range, and click Load. Then open the Backtest tab, pick the bundled demo strategy, and hit Play. The whole loop, from brew install to your first backtest results on screen, takes about ten minutes.

Under the hood

Engine
A single cross-platform binary. The market feed, simulator, portfolio accounting, and reporting all run in one process so there's no network hop between them, and your strategy attaches over a language-agnostic streaming boundary.
Storage
A scalable timeseries database holds bars and reporting state. The CLI applies schema migrations automatically on infra up, so you never write SQL by hand.
Bus
A high-throughput message bus moves data between components. Backtest mode is tuned for raw speed; live mode swaps in a durable variant so you can replay events after a crash.
Dashboard
A native desktop app. No browser tab to lose, no web server to host. Dark by default.
SDK
Write your strategies in Python or Go. They subscribe to bars, emit orders, and see fills. Windowed dispatch keeps end-to-end throughput at around 50,000 bars per second.
Data
Minute bars from Massive.com, either per-symbol over the API or full-universe via flat-file dumps. The loader deduplicates and replays idempotently, so it's safe to re-run.