Gauss World Trader logo

Algorithmic trading powered by
the latest ML and AI agents

An open-source Python 3.12+ trading platform that pairs a committee of LLM analyst agents with quantitative strategies, vectorbt backtesting and live execution on Alpaca.

Named after Carl Friedrich Gauss, who revolutionized statistics and probability theory β€” the foundations of modern quantitative finance.

12Built-in strategies
5Analyst agents
4Data sources
MITOpen source
What's inside

A full trading stack, not just a backtester

Research, decide and execute in one codebase β€” from indicator math and LLM committees through to multi-leg option orders and fill notifications.

πŸ€–

Multi-Agent Analysis

Committee-style stock analysis with technical, fundamental, sentiment, risk and decision agents β€” in deterministic fast or full llm mode.

πŸš€

Modern Async Core

Built for Python 3.12+ with async/await throughout, so data feeds and live engines share one event loop instead of blocking threads.

πŸ§ͺ

Vectorbt Backtests

Stock and crypto strategies run through vectorbt with walk-forward splits; options fall back to a bar-by-bar event loop.

🧩

Options Multi-Leg

Submit MLEG orders with explicit position intent, plus IV- and greeks-filtered bull/bear call and put vertical spreads.

πŸ“ˆ

Live Dashboard

An interactive Streamlit interface for market data, positions, orders, watchlists, backtests and agent analysis.

πŸ”Œ

Multi-Source Data

Alpaca market data and news, Finnhub fundamentals and sentiment, and FRED macro series behind one provider layer.

πŸ’Ό

Portfolio & Risk

Position tracking, performance metrics and per-trade risk sizing applied before any order reaches the broker.

πŸ””

Fill Notifications

A trade-update stream pushes submitted and filled events straight to email or Slack while strategies keep running.

⚑

CLI First

Every workflow β€” strategies, backtests, account info, live streaming β€” is a single Typer command you can script or schedule.

AI agents

A committee that argues before it trades

The multi_agent strategy fans out to specialist analysts, runs an optional bull/bear debate, sizes the risk, and only then commits to a decision β€” with per-run cost tracking on every LLM call.

Market data β†’ Parallel analysts Technical Fundamental Sentiment β†’ Bull / Bear debate β†’ Risk manager β†’ Decision β†’ ActionPlan
πŸ“Š

Technical Analyst

Reads trend, momentum and volatility indicators to argue the chart-based case.

πŸ“š

Fundamental Analyst

Weighs company financials, valuation and macro context from Finnhub and FRED.

πŸ“°

Sentiment Analyst

Digests market news and insider sentiment into a directional read.

πŸ›‘οΈ

Risk Manager

Pure math, no LLM: turns the committee's conviction into position limits.

βš–οΈ

Decision Maker

Reconciles every report into one action, confidence score and rationale.

πŸ’Έ

Cost Guard

Semaphore-limited fan-out with a hard per-run spend ceiling on LLM usage.

fast  Deterministic mode

Skips LLM calls entirely and uses weighted voting over deterministic signals β€” safe and free for backtests, dashboard runs and paper testing.

llm  Reasoning mode

Routes agent reports and the final decision through your configured LLM provider, surfacing debate positions and usage data in the dashboard.

OpenAI Claude DeepSeek Moonshot Bring your own key
Architecture

Strategy β†’ Plan β†’ Execution

Strategies never talk to a broker. They emit an abstract plan, and one execution layer decides size, order type and routing β€” which keeps research honest and live trading auditable.

01 / STRATEGY

Signals and intent

Indicators and signals are built in get_signal(), then mapped to an abstract ActionPlan β€” target price, stop loss, take profit, intent.

02 / PLAN

Broker-neutral output

Plans carry no quantities and no SDK objects, so the same strategy code runs identically in a backtest and in live paper trading.

03 / EXECUTION

Sizing and orders

The execution engine applies risk limits and account state, picks the order type, and submits β€” including bracket and multi-leg option orders.

Strategies

Twelve strategies, ready to run

Signal strategies work across stocks and crypto and are wired into the dashboard; options strategies run from the CLI and live engines.

StrategyCategoryDashboard
πŸ€– Multi-AgentSignalβœ“
πŸ“‰ Mean ReversionSignalβœ“
🌍 Macro FactorSignalβœ“
πŸ“ˆ MomentumSignalβœ“
πŸͺ™ Crypto MomentumSignalβœ“
β‚Ώ BTC Volatility BreakoutSignalβœ“
πŸ’° ValueSignalβœ“
πŸ“‰ Trend FollowingSignalβœ“
⚑ ScalpingSignalβœ“
πŸ“ Statistical ArbitrageSignalβœ“
🎑 WheelOptionsCLI only
🧩 Vertical SpreadOptionsCLI only
Interfaces

Dashboard and terminal

Watch the same account from an interactive dashboard or straight from your shell.

The Streamlit dashboard showing market data and analysis
Streamlit dashboard β€” market overview, positions, analysis and backtests.
The live trading terminal interface
Live trading terminal β€” interactive engine control with rich output.
Quick start

Running in four commands

Python 3.12+ and an Alpaca paper-trading key are all you need to get going.

# 1. Clone and install
git clone https://github.com/Magica-Chen/GaussWorldTrader.git
cd GaussWorldTrader
pip install -r requirements.txt

# 2. Add your keys
cp .env.example .env
# edit ALPACA_API_KEY / ALPACA_SECRET_KEY

# 3. Launch the dashboard
python dashboard.py

# 4. …or drive it from the CLI
python main_cli.py list-strategies
python main_cli.py backtest --strategy momentum AAPL --days 365

Paper trading by default

ALPACA_BASE_URL decides whether every client, engine and notification stream talks to paper or live. It ships pointing at paper β€” change it deliberately.

Optional keys. Finnhub and FRED unlock fundamentals and macro data; an LLM provider key switches the agent committee from fast into llm mode. Everything else runs without them.