← All projects

TradeBot Companion

Live

Trading platform combining automation, market data, and AI-assisted decision support.

Role
Solo build (backend, ML, dashboard, AI companion)
Timeframe
May 2026 to present
66.4%
ML accuracy
15
ML features
64
ML trades
29
Volatility trades
RandomForest
Model
R10,000 (ZAR)
Paper account

Objective

Paper-trade crypto on Luno (ZAR) with two cooperating strategies: a volatility bot and an ML trader. Give myself a single real-time cockpit to monitor, journal, and coach every decision the system makes.

Outcome

A live, auto-refreshing cockpit running both strategies against a R10,000 paper account, with an ML model trained on engineered features, hard risk/budget guards, and an AI companion that answers plain-English questions over live trade data. Proves end-to-end ownership: data pipeline → ML → execution logic → real-time UI → conversational layer.

A look inside

Live Watch: bot status, heartbeat monitor, open positions, and activity feed.
Mission Control: account journey, paper account, risk guard, and price charts.
Performance: cumulative PnL, per-symbol results, and session stats.
ML model: accuracy, precision/recall, and feature-importance view.
System health: heartbeat, data freshness, and operational checks.

How it works

01

Real-time multi-bot cockpit

Auto-refreshing dashboard with a heartbeat monitor, combined order/fill activity feed, live log console, and a human-readable decision journal. Built to spot stalls early and explain why the bot did (or did not) act.

02

ML trader on engineered features

A RandomForestClassifier (100 trees, max depth 12) trained on 15 features with a feature-importance view (sma_slow, volatility, ATR, returns). Ships accuracy / precision / recall tracking and per-symbol PnL analytics.

03

Volatility strategy with hard guards

TP/SL brackets per position, a risk guard enforcing daily budget and exposure limits, and live open-position tracking with unrealized PnL.

04

AI companion chat

A conversational layer that answers natural-language questions over live trade data ("how are we doing?", "is the model okay?", "what are we holding?") plus a coach mode that summarises the session.

05

Live exchange + paper account

Pulls live balances and the order/fill timeline from the Luno API, tracks the paper account's journey from a R10,000 start, and renders OHLCV price charts and cumulative PnL history.

What it is

TradeBot Companion is a local trading cockpit I built to run two cooperating crypto strategies against a paper account and watch them in real time. The point wasn’t a single clever model. It was owning the whole loop: pulling market data, engineering features, training and serving an ML classifier, executing against risk/budget guards, and surfacing all of it in a dashboard I can actually reason about (and talk to).

How it works

  • Data + features. Market candles (OHLCV) are stored locally in SQLite per symbol/timeframe and turned into engineered features (moving averages, volatility, ATR, and multi-window returns) that feed the model.
  • ML trader. A RandomForestClassifier (100 trees, depth 12, 15 features) predicts trade direction; the dashboard tracks accuracy, precision/recall, and feature importance from the live pickle, with per-symbol realized PnL.
  • Volatility bot. A rules strategy that opens positions with explicit TP/SL brackets, gated by a risk guard that enforces a daily budget and exposure caps.
  • Execution. Orders/fills run through the Luno exchange API in a paper account that starts at R10,000; the cockpit tracks the account’s journey, spend, and realized/unrealized PnL.
  • Companion. A conversational layer answers plain-English questions over the live data and produces a coach-style session summary.

Why it matters

It’s a compact demonstration of the full data-to-decision pipeline I care about: applied ML on engineered time-series features, real-time systems design, robust guardrails around automated money decisions, and an interface (visual and conversational) that makes the system legible.

Next: a self-contained replay demo of the cockpit (canned data, no live infra) so this case study becomes interactive right here on the site.

Skills used

Python Machine Learning scikit-learn Feature Engineering Time-Series Analysis SQLite Exchange APIs (Luno) Real-Time Systems Dashboard UX Data Visualisation LLM / Agent Integration Risk-Management Logic

Tech stack

Python scikit-learn (RandomForest) SQLite Luno Exchange API Real-time web dashboard LLM companion chat