full-stack rust · daily bars · rate-limited

Ask a backtest in plain English. Answered in Rust.

Describe a strategy idea the way you would say it out loud. A bounded interpreter maps it to one of six transparent strategies, validates every parameter, and runs the result over real daily sector data in native Rust.

Use 8 to 1200 characters. A bounded interpreter maps the paragraph to one reproducible Rust strategy.0 / 1200

reading live data ...

Run a strategy

Pick a symbol and a strategy. The backtest runs in native Rust over the full daily history, with returns lagged one bar so the result cannot peek at tomorrow.

The universe

The eleven select sectors and the index, on the same daily history the AI Gamma desktop tool uses. Single names are out of scope on purpose: this is about how the sectors move together.

Why this exists

The backend is the point

This is a study in backend dataset structure: lookahead-safe queries, multiple-testing correction, and reproducible findings. The frontend stays thin.

Pure Rust, top to bottom

Leptos on axum, read-only PostgREST, a Polars event shard, and the backtest core compiled native. After typed interpretation, execution is deterministic.

Honest by construction

Daily bars only, generous beta limits, and a backend that refuses a question it cannot answer rather than inventing one.