PLUTUS · ENGINE ROOM // PAPER ONLY · NO LIVE CAPITAL
ENGINEERED BY LEOPARD DATA

A trading system that journals its refusals.

Plutus is a private, automated trading engine built on Azure and .NET. It computes the world once, freezes it, lets the same compiled code decide in three hosts, and grades every opinion it has ever held. This site is how it is engineered — with the real numbers, including the ones that failed first.

Gate 2 · the backtester has to match SPY before anyone believes it · 2026-09-03
strategy spy-hold range 1993-02-01 → 2026-09-02 days 8,455 FRICTIONLESS ours ×31.53 CAGR 10.8226 % FMP total-return SPY ×31.76 CAGR 10.8440 % ΔCAGR −0.0214 pp (tolerance ±0.10) multiple −0.73 % (tolerance ±3 %) PASS rerun tear sheet 01c27917… daily state d75dab58… IDENTICAL first attempt FAIL the benchmark was truncated at 5,000 rows and a trial number had leaked into the result

The −0.73 % is the honest residual: FMP reinvests dividends on the ex-date, Plutus credits them on the pay date. The first attempt failing is on the ledger because that is what a ledger is for. How the gate works.

Three ideas hold it together

Every row points back to its cause

A closed trade points to its order, the order to its decision, the decision to the gauntlet it passed, the gauntlet to the line that crossed, and that to the frozen world. Foreign keys, not log correlation.

The reason chain
The world is computed once, then frozen

Strategies never fetch. They receive a MarketState and return weights — synchronous, pure. The identical bytes run in the backtester, the paper daemon, and live, so a backtest is evidence about live behavior, not about a lookalike.

One brain, three bodies
Every opinion has its own scorecard

A resolver says which way; a probability says how likely; a decision says what to do. Three claims, three outcome tables, three ways of being wrong. Nothing is trusted without a track record.

Resolvers & probabilities

About Plutus

What is Plutus

A private system that runs alongside Grade My Investments, uses GMI's instruments and data, and trades paper accounts in a tournament — with nothing marketed as GMI output.

What it is
The build log

Twenty-nine design documents came before the first line of engine code. Then a news archiver, a decided Phase 0, a validated schema, and a backtester — each behind a gate, each recorded with what it got wrong first.

Read the log
What is this site

The Engine Room is the sister of GMI's Technology Observatory: the same discipline of publishing how a thing is built, for a system that is private by design.

About this site
Meet the solutions architect

Allan Edwards designed GMI and Plutus. On Plutus he directs construction and reads the code as it lands — the design calls are his; the keyboard, mostly, is not.

Meet Allan
The whole algorithm
Stimulus to trade — the whole algorithm end to end
From a world event to an executed trade, through the resolver and probability engines and the entry gauntlet.
Where it stands
Phase 0Decisions
schema, calendar, cadence, backtest rows
decided
Phase 1News archiver
364 days, 627,754 items, zero gaps
gate passed
Phase 1.5GMI ingest
waits on three endpoints and an export
gated
Phase 2Backtester
spy-hold 1993→2026 within tolerance
gate passed
Phase 3Entity layer
the C# side of 124 tables
next
Phase 4The daemon
paper only; the cloud moment
later
By the numbers
Design documents before code29
Tables in the schema124
JSON columns, before → after review39 → 10
News items archived627,754
Trading days replayed8,455
Special closures named in the calendar11
Contract tests12 / 12
Live capital0
The posture

Paper only. Nothing places a live order, and nothing will until it has passed a backtest gate, a paper-track gate, and a human. The system's main product is refusals, journaled as carefully as trades.

Nothing here is investment advice. Plutus is a private engineering project.