Skip to main content

TraderBot

PyPI version Python 3.12 License: MIT

Autonomous prediction market investment toolkit for Kalshi.

TraderBot provides the data pipeline, statistical analysis, risk enforcement, simulation, and execution layer that an AI agent needs to trade prediction markets.

Core Principle

Dumb pipe with smart guards. The toolkit handles the how (API calls, data normalization, risk limits, execution) but never the why (what to trade, when, how much). The agent decides strategy; the toolkit ensures execution is safe, correct, and auditable.

This separation is deliberate: it eliminates emotional bias from the execution layer. Even if the agent's LLM "decides" to go all-in on a hunch, hard-coded risk guards reject the order before it reaches the exchange.

Install

pip install traderbot

From source

git clone https://github.com/JsonDaRula69/TraderBot.git
cd TraderBot
uv sync  # or: pip install -e .

One-Liner Install (Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/JsonDaRula69/TraderBot/main/install/traderbot-installer.sh | bash

One-Liner Install (Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/JsonDaRula69/TraderBot/main/install/traderbot-installer.sh | bash

Or install directly from PyPI on any platform:

pip install traderbot

Requires Python 3.12 and Kalshi API credentials (sign up at kalshi.com and generate an API key + RSA key pair).

Quick Start

# Store Kalshi credentials in your OS keyring
traderbot auth set-kalshi

# Scan available weather markets
traderbot scan --category weather

# Analyze a specific market
traderbot analyze KXHIGHNY-26JUN02-T72

# Paper trade with a strategy
traderbot paper momentum

# View your positions
traderbot positions

# Check for updates
traderbot update --check

Using with OpenClaw AI Agents

TraderBot integrates with OpenClaw for autonomous agent operation:

# Create a profile for your agent
traderbot profile create --name weather-agent --category weather

# Assign the profile token
traderbot profile assign --agent weather-agent --token $(traderbot profile token weather-agent)

The agent runs three autonomous loops: decision (every 5 min), heartbeat (every 30 min), and news/sentiment (event-driven). See docs/architecture.md for details.

CLI Overview

| Command | Description | |---|---|---| | traderbot scan | List open markets across categories | | traderbot analyze TICKER | Orderbook depth + implied probability | | traderbot signals | Active trading signals | | traderbot trade | Place an order through risk checks | | traderbot positions | View open positions | | traderbot audit | Decision history with filters | | traderbot performance | P&L and win-rate metrics | | traderbot paper | Run a paper trading session | | traderbot backtest | Run backtests against historical data | | traderbot compare | Compare profiles across strategies | | traderbot halt | Circuit breaker status check | | traderbot resume | Clear circuit breaker halt state | | traderbot heartbeat | Self-review cycle | | traderbot learnings | List and promote learned patterns | | traderbot check-settlements | Check for recently settled markets | | traderbot reconcile | Sync local positions with Kalshi API | | traderbot cache warm | Pre-populate event category cache | | traderbot data forecasts | Weather forecasts with NWS + GFS/ECMWF/GEM ensemble | | traderbot data signals | Trading signals by category | | traderbot data bias CITY | Historical forecast bias for a city | | traderbot news-context | News context for a category | | traderbot news-ingest | Fetch, classify, embed news to ChromaDB | | traderbot data-points | Query ChromaDB for structured data readings | | traderbot backfill | One-time or recurring historical data backfill | | traderbot sentiment TICKER | Analyze market sentiment from news | | traderbot auth | Credential management (set-kalshi, check, migrate, rotate) | | traderbot profile | Multi-agent profile management (create, list, assign, revoke) | | traderbot cron | Register heartbeat cron jobs with OpenClaw | | traderbot bootstrap | One-time environment setup wizard | | traderbot experiment | A/B test harness (populate, verify, run, results) | | traderbot update | Check for and apply updates | | traderbot uninstall | Remove TraderBot and all artifacts |

Project Structure

src/traderbot/
├── kalshi/           # Kalshi exchange adapter (client, models, signing, trading, websocket)
├── analysis/         # Statistical computation (indicators, odds, signals, registry)
├── risk/             # Immutable risk enforcement (limits, sizing, circuit breaker)
├── simulation/       # Backtesting engine & paper trading
├── news/             # News & sentiment pipeline (sources, classifier, embeddings, impact)
├── data/             # Data providers (weather NWS/Open-Meteo, base provider/signal ABCs)
├── db/               # SQLite persistence (positions, decisions, learnings, vectors, WAL)
├── profiles/         # Multi-agent profile system (models, runtime, injection, token)
├── cli/              # Typer CLI entry point and sub-commands (9 modules)
├── experiment/       # Experiment design, harness, and evaluation (treatments, results, registry)
├── sandbox.py        # Application-level filesystem sandbox (macOS sandbox-exec + chmod)
├── auth.py           # Credential management (keyring, .env, master password)
├── paper.py          # Paper balance computation
├── learning.py       # Learning log manager
├── heartbeat.py      # Self-review cycle
├── updater.py        # Version management (check, install mode detection, auto-update)
├── wal.py            # Write-ahead log for crash-safe trade execution
└── paths.py          # Data directory resolution

Documentation

Document Scope
docs/architecture.md Three-loop system, components, data flow
docs/kalshi.md Kalshi API reference
docs/risk.md Risk guards, circuit breakers, position sizing
docs/simulation.md Backtest engine, paper trading
docs/profiles.md Profile system, tokens, multi-agent
docs/deployment.md Production deployment
docs/api.md Full CLI reference

License

MIT

Metadata

Release files for traderbot 0.15.52

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

Source distribution (sdist)

Source distribution for traderbot 0.15.52
File Size Uploaded Provenance Actions
traderbot-0.15.52.tar.gz 2.6 MB Without provenance Details for traderbot-0.15.52.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for traderbot 0.15.52
File Interpreter ABI Platform Actions
traderbot-0.15.52-py3-none-any.whl Python 3 none any Details for traderbot-0.15.52-py3-none-any.whl

Total release size: 3.0 MB

Release files / traderbot-0.15.52.tar.gz

Download URL traderbot-0.15.52.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
82d9d268f6abcfb09df3b52ea7e31c93e3864a095579ba97097540fc46790aa4
BLAKE2b-256 checksum
How to use checksums
8e67c216076f98118acbb3977a3efc1f5e07e4b434af7272ac6bec1b8d21aab2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / traderbot-0.15.52-py3-none-any.whl

Download URL traderbot-0.15.52-py3-none-any.whl
Size 331.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f6f9f952fdce2c05de02d56d27c2172d0be9598e525d7db7b411cb978665d14b
BLAKE2b-256 checksum
How to use checksums
eb156a2c078164527161f8dc8e2b0ba2e93937a51e4dc1af999c58b52c3aeb8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for traderbot 0.15.52

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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