🧪 Public LMS · Multi-broker

Pick your broker. Keep your data. Run the engine.

Six adaptateurs publics, un seul moteur Rust. Vos remplissages sont reproductibles, vos paramètres sont visibles, et chaque session peut être forkée en notebook Jupyter.

Pick your broker. Keep your data. Run the engine.

Six public adapters, one Rust engine. Your fills are reproducible, your knobs are visible, and every session can be forked as a Jupyter notebook.

Six brokers publics

Six public brokers

Aucune donnée privée n'est utilisée. Tous les flux passent par les API publiques officielles. Le scanner CI bloque toute fuite vers les modules privés.

No private data is used. All quote flows go through official public APIs. Our CI scanner blocks any leak from private modules.

HFThot smart router

hfthot_router
DEFAULT

Routes to the tightest spread across all configured public venues. Public data only.

spot prediction

Yahoo Finance

yahoo

EOD + delayed intraday for global equities and ETFs. Free, no API key.

spot eod

CCXT public

ccxt_public

Public REST snapshots from CCXT (Binance default). Tickers, order books, trades.

spot intraday

Polymarket public

polymarket_public

Prediction-market quotes via the public Gamma API. No key required.

prediction

Finnhub

finnhub

US equities + crypto. Free tier; bring your own FINNHUB_API_KEY.

spot intraday

Alpaca paper

alpaca_paper

Real paper-trading account at Alpaca's paper endpoint. Bring your keys.

spot intraday

Ce qui rend le sandbox crédible

What makes the sandbox credible

🦀 Same Rust engine as production

The PaperTradingEngine is the same orchestrator we ship for live HFT — Almgren-Chriss optimal execution, MFG impact model, HJB scheduling. No mocks.

⚙️ Knobs visible by default

Slippage (bps), latency (ms), max capital, order book depth — researchers see all parameters from the Researcher tier upward. No hidden defaults.

📓 Fork as Jupyter notebook

One click writes a reproducible notebook with your broker, knobs and last symbol pre-wired. Your sweeps stay yours.

📡 EventBus + gamification

Every paper fill emits trading.paper.fill on the internal EventBus. Your first fill unlocks the paper_trade_first_fill achievement.

🔒 Public-only data wall

A CI scanner enforces that no private module, no calibrated WP6 content, no _changes/sessions stream is ever surfaced on the LMS. Audit it on GitHub.

🧪 Bring your own broker

BrokerInterface is an ABC. Implement search_symbols / get_quote / submit_paper_order and your venue plugs in.