Open Source Trading Toolkit
Build heuristic strategies, backtest against real market data, and deploy to prediction markets — all from an interface designed for composability and control.
Platforms
Pipeline
Source → Filter → Scorer → Selector → Executor
Live Pipeline
Every market candidate flows through your filters and scorers. The pipeline shows you exactly why a trade was taken — or rejected.
Trait-based pipeline — swap any stage without touching the rest
Ensemble scorers combine signals with configurable weights
Circuit breakers halt trading when drawdown limits are hit
$ cargo run --release -p pm-kalshi -- paper --config config.toml
init pipeline ready · 8 scorers · 4 groups · $10,000 equity
source KXBTC-26FEB25 0.72 → 0.68 vol: 12,400
filter LiquidityFilter pass depth: $24.2k
filter SpreadFilter pass spread: 0.02
filter TimeToCloseFilter pass 4h 22m remaining
scorer MomentumScorer 0.81
scorer BollingerMeanRev 0.34
scorer VolumeScorer 0.67
scorer OrderFlowScorer 0.72
ensemble WeightedScorer composite: 0.71
signal → LONG @ 0.68 · size: $340 · risk: 3.4%
Architecture
Strategies are specimens. Scorers grow in beds. Trades are harvests. The whole system is built on composable traits — swap any piece without uprooting the rest.
pm-core
MarketCandidate, TradingContext, and all pipeline traits. The types everything else builds on.
pm-garden
Scorers and filters organized into beds by strategy family — momentum, mean reversion, volume, ensemble.
pm-engine
Risk management, position sizing, circuit breakers, and the backtesting harness.
pm-store
SQLite persistence layer. Market data, trade history, backtest results — all local, all yours.
pm-server
REST + WebSocket server. Real-time state streaming to watchtower and web dashboards.
pm-kalshi
Full Kalshi integration — API client, paper trading, backtesting, and live execution.
Scorer Beds
Mix and weight scorers from different strategy families. Each scorer writes to the candidate's score map — the ensemble combines them into a final signal.
Weight Distribution
Interface
Terminal UI built with OpenTUI. Monitor positions, engine state, scorer weights, and trade history — all from your terminal. Ships with 35+ themes.
Get Started
OpenMarketUI is a Rust workspace. One clone gets you the full pipeline, backtesting engine, and terminal UI.
git clone https://github.com/SignetAI/openmarketui cargo build && cargo test just kalshi-backtest