Initial commit: TradeMind – Krypto-Trading-Bot mit Lernmodus

Per Podman deploybarer Bot, der Käufe und Verkäufe simuliert ausführt und sich
aus den Ergebnissen weiter antrainiert.

Aufbau
- Einheitliche Bar-Verarbeitung für paper, backtest und live; ausgetauscht werden
  nur Datenquelle und Broker.
- Börsenanbindung über ccxt: rund 100 Börsen allein über exchange.id erreichbar.
  Zugangsdaten kommen über ENV-Platzhalter, der Live-Modus ist doppelt abgesichert.
- Paper-Broker mit Gebühren, Slippage, Börsenpräzision und Volumengrenzen.
- Online trainierte logistische Regression bewertet jedes Einstiegssignal. Sie lernt
  aus realen Trade-Ergebnissen, aus Shadow-Labels aller Kandidaten – auch der
  abgelehnten – und aus Hintergrund-Stichproben; beim Kaltstart wird sie aus der
  Kurshistorie vorgelernt.
- Risikomanagement: Positions- und Exposure-Grenzen, ATR-Stops, Cooldown sowie
  Tagesverlust- und Drawdown-Notbremsen.
- SQLite-Persistenz, HTTP-Status mit Prometheus-Metriken und Dashboard, Webhooks.

Deployment
- Containerfile (zweistufig, non-root UID 10001), podman-compose, systemd-Quadlet.
- Modell und Datenbank liegen im Volume /data und überleben Neustarts.

128 Tests, ruff sauber. Verifiziert gegen echte Marktdaten sowie im gebauten
Container inklusive Healthcheck und Zustandswiederherstellung.
This commit is contained in:
Tobias Zimmermann
2026-08-22 08:53:04 +02:00
commit 65ed73977e
40 changed files with 7033 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# Geheimnisse und Laufzeitschalter für TradeMind.
# Kopieren nach config/trademind.env und NIEMALS committen (.gitignore deckt das ab).
#
# podman run --env-file config/trademind.env ...
# podman-compose --env-file config/trademind.env up
# paper | backtest | live
TRADEMIND_MODE=paper
# Börse (ccxt-ID): binance, kraken, coinbase, bybit, okx, kucoin, bitget, gate, mexc, ...
TRADEMIND_EXCHANGE=binance
# true = Testnet/Sandbox der Börse verwenden
TRADEMIND_SANDBOX=true
# API-Zugangsdaten. Im Paper-Modus nicht nötig dort werden nur öffentliche Kurse gelesen.
# Für Live: Schlüssel ausschließlich mit Handelsrecht anlegen, Auszahlungen NICHT erlauben,
# und wenn möglich die IP des Servers hinterlegen.
TRADEMIND_API_KEY=
TRADEMIND_API_SECRET=
# Passphrase nur bei OKX, KuCoin, Coinbase Advanced, Bitget
TRADEMIND_API_PASSWORD=
# Muss für den Live-Modus wörtlich auf I_UNDERSTAND_THE_RISK stehen.
TRADEMIND_LIVE_CONFIRMATION=
# Optionaler Slack-/Discord-Webhook für Trade-Meldungen
TRADEMIND_WEBHOOK_URL=
TRADEMIND_LOG_LEVEL=INFO
# Punktuelle Overrides ohne Änderung der YAML-Datei (Muster: TRADEMIND__<ABSCHNITT>__<SCHLUESSEL>)
# TRADEMIND__RISK__MAX_OPEN_POSITIONS=5
# TRADEMIND__MARKET__SYMBOLS=BTC/USDT,ETH/USDT,SOL/USDT
# TRADEMIND__STRATEGY__LEARNER__ENTRY_THRESHOLD=0.6