Skip to content
All projects

Published

TradePilot

A trading bot built the careful way: simulation and backtesting first, then an exchange testnet end to end, with arming guards that keep the live executor locked until an operator explicitly turns it on.

  • Python
  • pytest
  • PostgreSQL
  • Docker

Overview

The interesting problem in a trading bot is not the strategy — it is making sure the code that touches real money has earned the right to. TradePilot is structured as a series of gates: a simulator with backtesting, then the same pipeline against an exchange's testnet, and only then a live executor that stays disarmed by default.

How it is built

  • Simulation first — strategies run against historical and synthetic data in a simulator that shares the order and position model with the real executor, so what is tested is what would run.
  • Sandbox end to end — the full loop (signals, orders, fills, reconciliation) runs against the exchange testnet, with the same configuration surface as live.
  • Arming guards — the live executor cannot place an order unless several explicit, operator-controlled conditions are met; the "money decisions" are deliberately human.
  • Tests as the safety net — several hundred pytest cases cover the state machine, risk limits and the reconciliation logic.
  • Self-hosted — runs on a small always-on machine with scripted database dumps and restores.

Status

Simulation, backtesting groundwork and the sandbox loop are done and tested; live trading is intentionally still gated.

Status
Published
Published
Sep 12, 2026
Stack
Python · pytest · PostgreSQL · Docker