slmaj combines machine learning signals, 25+ real-time data sources, and multi-layer risk controls into a single trading bot for Interactive Brokers. Paper trade by default, go live when ready.
Run python setup_wizard.py and answer a few questions about your experience level, risk tolerance, and preferred asset classes. The wizard writes your complete config file automatically.
Choose from three starter presets — Conservative, Balanced, or Aggressive — each a complete, runnable configuration with safe defaults. No code editing required. Change any setting later in your config file.
$ python setup_wizard.py
Welcome to slmaj Trading Bot Setup
? Experience level: Beginner
? Risk tolerance: Conservative
? Asset classes: Stocks, Forex
? Trading mode: Paper (simulated)
✓ Config written to config.yaml
✓ Ready to start paper trading
Every new installation starts in paper mode — simulated trades using real market data with no money at risk. This is not optional; it is the default. You must explicitly change a single config value to enable live trading.
Paper mode logs every signal, every trade decision, and every risk check exactly as live mode would. Review the trade journal, study the signals, and build confidence before risking real money.
trading:
mode: paper # Change to "live" when ready
port: 7497 # 7497=paper, 7496=live
# Paper mode uses real market data
# but executes simulated trades.
# All risk controls remain active.
Three machine learning models — XGBoost, Random Forest, and Gradient Boosting — independently analyze market conditions and vote on every trading signal. A signal only fires when multiple models agree.
Walk-forward validation prevents overfitting: models are trained on historical data and tested on unseen future data, mimicking real trading conditions. Features include technical indicators, sentiment scores, economic data, and cross-asset correlations.
Available in both tiers. The Max tier includes the full ensemble with all feature inputs; Basic uses a streamlined model set.
Signal: BUY NVDA
XGBoost: 0.78 confidence
RandomForest: 0.82 confidence
GradientBoost: 0.71 confidence
─────────────────────────
Ensemble: 0.77 (3/3 agree)
Status: APPROVED
Sources: RSI, Sentiment, Flow
The bot aggregates signals from over 25 data sources spanning news, social sentiment, market data, government filings, and alternative data. Many sources work without API keys.
Free sources: RSS news (Reuters, CNBC, AP), StockTwits, economic calendars, Yahoo Finance, analyst ratings, options flow, CoinGecko, SEC EDGAR filings, congressional trades, Treasury yields, DeFi Llama, Polymarket predictions.
API-key sources: Reddit, Twitter/X, Alpha Vantage, FRED, News API, Finnhub, Polygon.io, Google Trends.
See the full list on the data sources reference page.
Data Sources Active: 18/25+
✓ RSS News ✓ StockTwits
✓ Yahoo Finance ✓ Options Flow
✓ SEC EDGAR ✓ Congress
✓ Treasury Yields ✓ CoinGecko
✓ DeFi Llama ✓ Polymarket
✓ Analyst Ratings ✓ Econ Calendar
○ Reddit (needs key)
○ Twitter (needs key)
No single risk check is enough. slmaj uses five independent layers of protection, each configurable in your config file:
Read more in the risk controls documentation.
risk:
max_position_size: 10000 # $10k max
max_positions: 5
daily_loss_limit: 2000 # $2k/day
stop_loss_pct: 0.02 # 2%
take_profit_pct: 0.04 # 4%
use_kelly: true
circuit_breaker:
max_consecutive_losses: 3
cooldown_minutes: 60
A local web dashboard runs at localhost:5555 showing live portfolio status, open positions, P&L, and recent signals. No cloud service required — it runs on your machine.
The trade journal logs every decision the bot makes: signal source, confidence score, position size calculation, entry/exit prices, and risk check results. Review your bot's performance and understand exactly why each trade was taken.
Dashboard: http://localhost:5555
┌──────────┬──────────┬──────────┐
│ Portfolio│ Day P&L │ Positions│
│ $12,847 │ +$284 │ 5 open │
└──────────┴──────────┴──────────┘
Recent Signals:
14:32 BUY NVDA conf=0.78 ✓
14:15 SELL TSLA conf=0.62 ✗
13:58 BUY SOFI conf=0.81 ✓
Trade across multiple asset classes through your Interactive Brokers account, all from a single bot instance:
Select which asset classes to trade in your config. The bot handles symbol conversion and market hours automatically.
assets:
stocks:
- AAPL
- NVDA
- TSLA
forex:
- EURUSD
- GBPUSD
crypto:
- BTC-USD
- ETH-USD
commodities:
- GC=F # Gold
- CL=F # Oil