Open Source Trading Toolkit

Algorithmic trading with guardrails.

Build heuristic strategies, backtest against real market data, and deploy to prediction markets — all from an interface designed for composability and control.

Platforms

Kalshi Polymarket

Pipeline

Source Filter Scorer Selector Executor

Live Pipeline

Watch your strategy
think in real time.

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

openmarketui / paper-trading

$ 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

Designed like a garden.

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

Foundation

MarketCandidate, TradingContext, and all pipeline traits. The types everything else builds on.

pm-garden

The Garden

Scorers and filters organized into beds by strategy family — momentum, mean reversion, volume, ensemble.

pm-engine

Engine

Risk management, position sizing, circuit breakers, and the backtesting harness.

pm-store

Root Cellar

SQLite persistence layer. Market data, trade history, backtest results — all local, all yours.

pm-server

Greenhouse

REST + WebSocket server. Real-time state streaming to watchtower and web dashboards.

pm-kalshi

Kalshi Engine

Full Kalshi integration — API client, paper trading, backtesting, and live execution.

Scorer Beds

Compose your edge.

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

momentum
0.35
mean_reversion
0.25
volume
0.20
ensemble
0.20
Name
Group
Weight
MomentumScorer
momentum
0.15
TimeDecayScorer
momentum
0.10
MTFMomentum
momentum
0.10
BollingerMeanRev
mean_reversion
0.15
MeanReversion
mean_reversion
0.10
VolumeScorer
volume
0.10
VPINScorer
volume
0.05
OrderFlowScorer
volume
0.05
WeightedScorer
ensemble
0.10
BayesianEnsemble
ensemble
0.10

Interface

Watchtower

Terminal UI built with OpenTUI. Monitor positions, engine state, scorer weights, and trade history — all from your terminal. Ships with 35+ themes.

OpenMarketUI / watchtower PAPER +$124.80 (+1.25%) │ Ctrl+P
cash $1,937.20 invested $8,062.80 equity $10,124.80 return +1.25% P&L +$124.80
1 overview  │  2 positions  │  3 trades  │  4 engine  │  5 decisions  │  6 timeline  │  7 data
scorers 8 active 8 groups 4 total weight 1.00 equity $10,124.80
strategies
namegroupstatusweightdistribution
MomentumScorer momentum active 0.15 ███░░░
TimeDecayScorer momentum active 0.10 ██░░░░
MTFMomentum momentum active 0.10 ██░░░░
BollingerMeanRev mean_reversion active 0.15 ███░░░
MeanReversion mean_reversion active 0.10 ██░░░░
VolumeScorer volume active 0.10 ██░░░░
VPINScorer volume active 0.05 ░░░░░
OrderFlowScorer volume active 0.05 ░░░░░
market pulse
equity $10,124.80 +$124.80 (+1.25%)
high $10,248.00
█░░█████░░████████░░██████████░██████████████████████
░░░░░░██░░██░░░░██░░██░░░░████░████░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
low $9,876.00
trades
pricesizetime
0.72 340 2m ago
0.68 220 8m ago
0.54 180 15m ago
0.81 400 22m ago
live pos 3 Monochrome overview 14:32:08

Get Started

Clone, build, trade.

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