Back to the projects

Own projects · Work in progress · simulation only

DealBot – a trading system for learning

My own project since 2026: a system that tests trading strategies and machine learning models on real market data and runs them as paper trading bots – with simulated money only. It is about learning: data pipelines, clean backtests, comparing models fairly and building an application end to end.

  • Python
  • FastAPI
  • React
  • TypeScript
  • Docker
DealBot mockup: dashboard with paper bots, equity curve against a world ETF and candle chart with trades (example data)DealBot mockup: bot detail with positions, chart, trades and decision log (example data)DealBot mockup: model tournament – models compared, ranked by risk-adjusted score (example data)DealBot mockup: scanner with candidates, reasoning and news mood (example data)

Design mockup with invented example numbers – not real results.

Building blocks

  • Data pipeline: prices, news, index lists (e.g. S&P 500 members at any point in time) and exchange rates from several sources, with cross-checks
  • Backtester with realistic trading costs
  • Paper trading bots: signal + risk profile + protective stops + capital
  • A scanner that suggests new candidates – the decision stays with a human
  • Web dashboard with bots, charts, decision log and inbox

The model tournament

  • Rule-based strategies (e.g. trend following, mean reversion, dual momentum) and ML models (e.g. LightGBM with and without news, LSTM) compete on the same data
  • Walk-forward: always train on the past and test on the period after – after costs
  • Ranked by risk-adjusted performance, not by profit alone; a model that allows too large losses is out
  • “With / without news” pairs show whether the news mood really helps

Safety first

  • Everything runs as a simulation (paper trading); real trading is locked
  • Kill switch for all bots
  • Access keys are write-only and never shown again

Tech

  • Python, FastAPI, pandas, LightGBM, PyTorch
  • React and TypeScript for the dashboard
  • Docker on my own server; heavy training on my own graphics card