Skip to main content

tradefloor

Formerly pretium. Versions through 0.4.3 were published under that name and remain installable forever; results recorded against them replay under those exact versions. The rename changed no behaviour: 0.5.0 reproduces the same known-answer digest on every platform.

determinism licence: MIT OR Apache-2.0 python 3.11+

A market simulator you can run a strategy against. Rust core, Python API.

Give it a seed and a list of companies. It runs a market forward: prices, a limit order book, fills, and an economy that moves each day. Your orders match against real depth, so your trades move the price.

Real market data cannot tell you what happens if you trade differently, or what caused a move. This can, because it computed every price.

Install

pip install tradefloor

Wheels for Linux, macOS and Windows on CPython 3.11+. No dependencies. The same engine is a Rust crate: cargo add tradefloor.

The API can still change before 1.0. A published result cannot: new coefficients ship as a new preset, so a run you cited last month replays this month.

First run

import tradefloor as tf

universe = tf.Universe.random(40, seed=111)

spec = tf.StrategySpec.momentum(lookback_days=1.0, top_k=5)
scores = tf.evaluate({"mine": spec}, seed=7, universe=universe, days=10)

scores["mine"].return_pct            # what it made
scores["mine"].impact_bps            # what its own footprint cost
scores["mine"].strategy_fingerprint  # sha256, cite this

That is one market draw. It tells you as much about the seed as about the strategy. tf.rank runs many seeds and compares them with a paired sign test.

What you get

engine.truth() why each price moved: nine factors that sum to the move, to 1e-16
counterfactual TCA the same seed with your orders and without them
tf.rank many seeds, paired sign tests
RunManifest version, preset, seed, universe, macro, scenario. reproduce() stops on a mismatch
MCP server eleven read-only tools for a coding agent
more a Gymnasium environment, Arrow output, checkpoints, SEC EDGAR data, a browser build

No historical dataset carries the labels truth() gives you. Real data shows you that a stock fell. It never shows you that 60% of the fall was order flow.

To drive it from an agent:

pip install "tradefloor[mcp]"
claude mcp add tradefloor -- tradefloor-mcp

Strategies, universes and scenarios are data, so a tool argument cannot reach code. Each result carries its own caveats. See the MCP page.

How real it is

tf.facts.measure() scores fourteen statistics against real-market bands. The default preset, pt-v14, holds all fourteen at one year and at two years. It holds all fourteen on a roster it never saw, and thirteen on new seeds.

Five of the fourteen were calibration targets, and the bands both tuned the model and graded it. So this is a stated envelope, not a test against market data that was held back.

Five limits are measured and written down:

limit what it means
horizon one year is certified. Two and five years are measured, not certified
volatility memory it decays too fast
scenario size the response has the right sign, but one run cannot size it
macro crises an inflation crisis or a policy crisis needs a scenario to drive it
roster certification used a sector-balanced roster, which no real index is

tf.envelope.check() refuses a question that falls outside a limit, and the realism envelope says what each one forbids.

Good results here do not predict real returns. The prices come from a known model, so a strategy shaped like that model looks excellent and teaches you nothing. A strategy that fails here tells you more. There is one venue, no latency, and no counterparty that adapts to you.

Same seed, same market

Each release builds five targets, runs one fixed simulation in each, and compares digests. A disagreement stops the release. The crate ships its own exp, log, sin and cos, so the platform libm cannot change a result.

pt-v14 became the default on 2026-08-28. Name your preset and your run replays exactly. Every preset from pt-v1 on is still selectable.

eng = tf.Engine(seed=42, universe=u, model="pt-v10")

Examples

Ten examples/ in reading order, run by the test suite:

00-a-year-in-one-market Start here: one company, one year, two crises, one chart
01-first-simulation Universe, engine, order book, determinism
02-evaluating-a-strategy Specs, baselines, ranking across seeds
03-why-did-the-price-move The nine factors that sum to every move
04-how-realistic-is-this The realism panel and the limits
05-training-an-agent The Gymnasium environment, and what size costs
06-execution-and-impact TCA and the counterfactual run
07-research-workflow.py A whole study in one file. It runs in about five seconds
08-claude-agent.py An LLM agent trading the market through the harness
09-a-pandemic-shaped-market A real 2020-21 macro path, and which fields transmit

More

Full docs: simoncoombes.github.io/tradefloor.

To contribute, see CONTRIBUTING.md and RELEASING.md. One rule shapes the rest: a change to the simulated trajectory is a breaking change, whatever its size.

To cite the software, see CITATION.cff. To cite a result, use its RunManifest.

Licence: MIT OR Apache-2.0, at your option. See LICENSE-MIT and LICENSE-APACHE.

Metadata

Release files for tradefloor 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tradefloor 0.5.0
File Size Uploaded
tradefloor-0.5.0.tar.gz 764.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for tradefloor 0.5.0
File
tradefloor-0.5.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
tradefloor-0.5.0-cp311-abi3-manylinux_2_34_x86_64.whl CPython 3.11 abi3 Linux glibc 2.34+ x86-64 Details
tradefloor-0.5.0-cp311-abi3-manylinux_2_34_aarch64.whl CPython 3.11 abi3 Linux glibc 2.34+ ARM64 Details
tradefloor-0.5.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details
tradefloor-0.5.0-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details

Total release size: 5.9 MB

Release files / tradefloor-0.5.0.tar.gz

Download URL tradefloor-0.5.0.tar.gz
Size 764.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7aedc92945e0c036c033cfc2d400f9ba1b02165db6e34f26f1551d1ab9663b42
BLAKE2b-256 checksum
How to use checksums
0f6fbcd738dffb3d264b2c8e06518a8e9f8e942a0a3d4de7157ac8a371c6b56a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Release files / tradefloor-0.5.0-cp311-abi3-win_amd64.whl

Download URL tradefloor-0.5.0-cp311-abi3-win_amd64.whl
Size 953.3 kB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
f38bc2e0992b5692d9e9f7259ef3308a85bfde10404e804ef9ec4960c6f69dc0
BLAKE2b-256 checksum
How to use checksums
94b75e493b7fb13fde703b926503adfae847d42a4aacb57d8edb1a4bdb5b3680
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Release files / tradefloor-0.5.0-cp311-abi3-manylinux_2_34_x86_64.whl

Download URL tradefloor-0.5.0-cp311-abi3-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
066b2ac98d06f1351aad59e7496253ec44c8207fba81230344d22207954d1bf4
BLAKE2b-256 checksum
How to use checksums
e4a9ffcb3de2bb2a33e06a07634e89fefcdc08af57c7965245c4b54bcabbaf18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Release files / tradefloor-0.5.0-cp311-abi3-manylinux_2_34_aarch64.whl

Download URL tradefloor-0.5.0-cp311-abi3-manylinux_2_34_aarch64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
10cd66204899afff765027121516f91a5f69f9aac81758483788f05f458c81da
BLAKE2b-256 checksum
How to use checksums
1da118b63bbb2ee67358d258e0dd8f576e31643a5ddd31a4ed94ffd06b9ebeb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Release files / tradefloor-0.5.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL tradefloor-0.5.0-cp311-abi3-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
348b82cdad3a252aa0cfd516ce4f2228db9df177a4a34b3380322ef431cfd70c
BLAKE2b-256 checksum
How to use checksums
0091f53f85c8092ef72fb6a794621036d5416892690f16f637198348ce3cb449
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Release files / tradefloor-0.5.0-cp311-abi3-macosx_10_12_x86_64.whl

Download URL tradefloor-0.5.0-cp311-abi3-macosx_10_12_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
66a1d4d7dc8fef1408d20322a3b48b25943c89d6fc103cd3ac2c2b8c8bb78812
BLAKE2b-256 checksum
How to use checksums
243c9f8add1d257a2d5a875d0424be75e43c46066894189a8117322a2d0a66a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.1

6 release files

0.9.0

6 release files

0.8.8

6 release files

0.8.7

6 release files

0.8.6

6 release files

0.8.5

6 release files

0.8.1

6 release files

0.8.0

6 release files

0.7.1

6 release files

0.7.0

6 release files

0.6.2

6 release files

0.6.1

6 release files

0.6.0

6 release files

This release

0.5.0 This release

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page