Setup Wizard

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

Paper Trading by Default

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.

ML Signal Ensemble

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

25+ Data Sources

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)

Multi-Layer Risk Controls

No single risk check is enough. slmaj uses five independent layers of protection, each configurable in your config file:

  • Position limits: Maximum dollar amount and number of shares per position
  • Daily loss caps: Bot stops trading if daily losses exceed your threshold
  • Kelly Criterion sizing: Mathematically optimal position sizing based on signal confidence
  • Circuit breakers: Automatic pause if multiple stop losses trigger in sequence
  • Kill switch: Emergency stop that closes all positions and halts the bot

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

Web Dashboard & Trade Journal

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  ✓

Stocks, Forex, Crypto, Commodities

Trade across multiple asset classes through your Interactive Brokers account, all from a single bot instance:

  • US Stocks: AAPL, GOOGL, MSFT, TSLA, NVDA, AMZN, META, SPY, QQQ
  • Forex: EUR/USD, GBP/USD, USD/JPY, USD/CHF, AUD/USD, USD/CAD
  • Crypto: BTC-USD, ETH-USD, ADA-USD, DOT-USD
  • Commodities: Gold, Silver, Oil futures

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

Ready to Start?

Paper trade free with real market data. Go live when you're ready.