Market Bot - Algorithmischer Trading-Bot in Rust
- Rust 100%
| backtest | ||
| bin | ||
| core | ||
| data | ||
| engine | ||
| execution | ||
| monitor | ||
| strategies | ||
| .env.example | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| config.example.toml | ||
| PLAN.md | ||
| README.md | ||
| SPECS.md | ||
Market Bot
Algorithmischer Trading-Bot in Rust (Edition 2024). Multi-Strategie, Multi-Asset (Aktien, ETFs, Crypto), Regime-adaptives Ensemble. Paper Trading via Alpaca, reale Marktdaten via Alpha Vantage + Yahoo Fallback.
Status
Phase 1 Core läuft in Produktion auf market.kuhsaft.eu:
- 2 aktive Strategien (Dual Momentum, Volatility Breakout)
- 12 Symbole (8 Aktien/ETFs, 2 Crypto)
- 1h Tick, Paper Trading ($100k virtuell)
- Graceful Degradation bei API-Fehlern
Quickstart
# Config validieren
cargo run -- --validate --config config.toml
# Bot starten (headless, 1h-Tick)
RUST_LOG=info cargo run -- --config config.toml
# Backtest laufen lassen
cargo run -- --backtest --config config.toml
# Release Build
cargo build --release
./target/release/market --config config.toml
Projektstruktur (8 Crates)
market/
├── core/ # Typen, Traits, Config-Parser, Error-Types
├── data/ # DataProvider (AlphaVantage, Yahoo), Indikatoren, CandleCache, InfluxDB
├── strategies/ # Dual Momentum, Volatility Breakout, RSI, Bollinger, LLM Signal, Regime
├── execution/ # Paper Broker, Alpaca Broker, Tradier Broker, Order-Management
├── engine/ # Scheduler, Ensemble Voting, Portfolio/Risk Management
├── backtest/ # Historische Simulation + Metriken
├── monitor/ # ratatui TUI + Telegram-Benachrichtigungen
└── bin/ # CLI Entrypoint (clap)
Die Architektur im Detail: ARCHITECTURE.md
Konfiguration
cp .env.example .env
# .env mit API-Keys befüllen:
# ALPHA_VANTAGE_KEY, ALPACA_API_KEY, ALPACA_SECRET_KEY
# INFLUXDB_URL, INFLUXDB_TOKEN (optional, für Metrik-Logging)
cp config.example.toml config.toml
# config.toml anpassen: Symbole, Strategien, Risk-Parameter
Wichtige Config-Parameter
| Parameter | Default | Beschreibung |
|---|---|---|
tick_interval_seconds |
3600 | Bot-Loop (1h) |
execution.type |
"paper" | "paper" oder "alpaca" |
risk.max_drawdown_pct |
25.0 | Maximaler Drawdown |
risk.kelly_fraction |
0.25 | Kelly-Faktor für Positions-Sizing |
strategies.*.enabled |
varies | Strategie aktivieren/deaktivieren |
Deployment
Betrieb auf market.kuhsaft.eu (AlmaLinux 10) als systemd-Service.
Siehe market-bot-operations Skill für Deployment-Schritte, SSH-Kommandos und Troubleshooting.
Tests
cargo test # 33 Tests (config parsing, indicators, strategies, execution)
cargo check # 0 Errors, 0 Warnings
Abhängigkeiten
- Rust Edition 2024, stabil auf VM via Rust 1.88 (dnf-Paket)
- API-Keys: Alpha Vantage (Daten), Alpaca (Paper Execution), optional InfluxDB
- KEIN lokales Ollama/LLM — LLM-Signal-Strategie nutzt api.ollama.com
Lizenz
MIT