Python Trading Bot: Einfache Schritt-für-Schritt-Anleitung für Algo-Trading (2026)

Zuletzt aktualisiert: 01. August 2026

|

11 Min

Karsten Kagels

Überprüft von

Karsten Kagels

3-Tage Trading Workshop: Nebenberuflich monatliche Einnahmen generien - kostenloses Ticket sichern >>

Empfehlung:

Python ist die Standardsprache im Algo-Trading, also dem regelbasierten, automatisierten Handel. Mit wenigen Bibliotheken, das sind fertige Code-Bausteine, und etwas Hintergrundwissen baust du einen einfachen Trading-Bot, der Marktdaten auswertet und Handelssignale nach festen Regeln erzeugt.

In dieser Anleitung zeige ich dir Schritt für Schritt, wie das geht. Du bekommst den kompletten Beispielcode einer SMA200-Strategie, testest sie am Nasdaq 100 und erfährst danach, wie du mit KI-Unterstützung und einer Broker-Anbindung weitermachst. Fortgeschrittene Programmierkenntnisse brauchst du dafür nicht.

Dieser Artikel entspricht unseren redaktionellen Richtlinien.

Python Trading Bot: das Wichtigste in 30 Sekunden

  • Mit Python programmierst du in rund 50 Zeilen Code einen einfachen Trading-Bot auf Basis der SMA200-Trendfolge. Der komplette Beispielcode steht in diesem Artikel.
  • Drei Bibliotheken reichen für den Start: yfinance für Kursdaten, pandas für die Datenverarbeitung, plotly für die Auswertung.
  • Der Beispielcode ist ein Backtest: Er prüft die Regeln an historischen Daten. Für echte Orders brauchst du zusätzlich eine Broker-API und ein Demokonto.
  • KI-Tools wie ChatGPT oder Claude beschleunigen die Entwicklung. Sie schreiben Python-Code auf Zuruf, ersetzen aber weder Backtest noch Risikomanagement.

Was ist ein Python Trading Bot?

Ein Python Trading Bot ist ein selbst programmiertes Computerprogramm, das Kursdaten nach festen Regeln auswertet und daraus Kauf- und Verkaufssignale ableitet. Die Regeln legt der Trader vorher im Code fest.

Der Unterschied zu fertigen Bot-Plattformen liegt in der Kontrolle: Bei einem gekauften Trading-Bot übernimmst du die Logik des Anbieters und siehst oft nicht, was im Inneren passiert. Beim eigenen Python-Bot kennst du jede Zeile, kannst jede Regel ändern und jede Entscheidung nachvollziehen.

Ein Bot besteht im Kern aus drei Teilen: einem Datenabruf, der aktuelle oder historische Kurse lädt, einer Handelslogik, die daraus Signale berechnet, und einer Ausführungsebene, die Orders platziert oder, wie in unserem Beispiel, die Ergebnisse als Backtest auswertet.

Warum ist Python ideal fürs Algo-Trading?

Python ist im Algo-Trading so verbreitet, weil es Einfachheit, Leistungsfähigkeit und Flexibilität verbindet. Das gilt für den ersten Einstieg genauso wie für komplexe Strategien.

Kurz gesagt: Python ist die richtige Wahl, wenn dein Trading-Bot Daten analysieren, Strategien testen und automatisiert Orders ausführen soll. Der Aufwand bleibt dabei überschaubar.

Ein komplettes Anwendungsbeispiel ist der Python-Backtest unserer DAX-Breakoutstrategie, bei dem TradingView an seine Grenzen stieß.

Diese 10 Chartmuster entscheiden über Gewinn oder Verlust

Kompakt erklärt, mit Praxisbeispielen und klaren Einstiegssignalen. kostenlos als PDF.

Diese 10 Chartmuster entscheiden über Gewinn oder Verlust

55-Candlesticks E-Book

Wir achten den Datenschutz. Austragung problemlos möglich.

Empfehlung:

FinMent Börsenwebinar

Python Trading Bot programmieren: Schritt-für-Schritt-Anleitung

In diesem Abschnitt zeige ich dir, wie du mit Python einen einfachen Trading-Bot programmierst, der auf der SMA200 Long-Only-Strategie basiert. Long-Only heißt: Der Bot kauft nur und verkauft nie leer. Wir gehen den Code Schritt für Schritt durch, damit du ihn verstehst und direkt selbst umsetzen kannst.

Was macht der Code?

Dieser Bot folgt einer Trendfolge-Strategie mit dem SMA200 (Simple Moving Average). Die Idee ist, langfristige Aufwärtstrends im Markt zu nutzen und klare Regeln für Käufe und Verkäufe festzulegen:

Eine Long-Position wird eröffnet, wenn der Schlusskurs an drei aufeinanderfolgenden Tagen über dem SMA200 liegt.

Verkaufe, wenn der Schlusskurs an drei aufeinanderfolgenden Tagen unter den SMA200 fällt.

Python Trading Bot Strategie: Ein- und Ausstiege der SMA200-Strategie im Chart visualisiert
Trading-Strategie visualisiert mit plotly

Der Fokus liegt auf einem sehr einfachen Regelwerk, das sich leicht nachvollziehen lässt. Genau richtig für den Einstieg ins Algo-Trading.

Warum der SMA200 als Indikator?

Der SMA200 ist der einfache gleitende Durchschnitt der letzten 200 Schlusskurse. Er gilt als wichtigster Trendfilter für die langfristige Marktrichtung.

Der SMA200 ist einer der meistgenutzten gleitenden Durchschnitte im Trading. Liegt der Kurs über dem SMA200, befindet sich der Markt im Aufwärtstrend. Fällt der Kurs darunter, signalisiert das potenzielle Schwäche.

Schritt 1: Bibliotheken importieren und Daten abrufen

Zuerst importieren wir die benötigten Python-Bibliotheken und laden die historischen Kursdaten für den Nasdaq 100 aus Yahoo Finance.

import yfinance as yf
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import pandas as pd

# Name des Index
ticker = "^NDX"

# Historische Daten der letzten 31 Jahre abrufen

start_date = (pd.to_datetime("today") - pd.DateOffset(years=31)).strftime('%Y-%m-%d')
end_date = pd.to_datetime("today").strftime('%Y-%m-%d')
nasdaq = yf.Ticker(ticker)
hist = nasdaq.history(start=start_date, end=end_date, interval='1d')

Erklärung:

yfinance: Zum Abrufen von Marktdaten

plotly: Für die Visualisierung der Daten

pandas: Zur Datenverarbeitung

Der Code lädt tägliche Kursdaten für den Nasdaq 100 Index der letzten 31 Jahre.

Schritt 2: Berechnung des SMA200

Der SMA200 wird berechnet, indem der Durchschnitt der letzten 200 Schlusskurse gebildet wird.

# SMA200 berechnen
hist['SMA200'] = hist['Close'].rolling(window=200).mean()

Schritt 3: Kauf- und Verkaufsregeln definieren

Jetzt definieren wir die Regeln der Strategie. Der Bot kauft, wenn der Kurs drei Tage hintereinander über dem SMA200 liegt. Er verkauft, wenn der Kurs drei Tage hintereinander darunter schließt. Die Drei-Tage-Bestätigung filtert Fehlsignale an einzelnen Ausreißer-Tagen heraus.

# Variablen für die Trading-Strategie
initial_investment = 500
investment_value_strategy = initial_investment
position_opened = False
consecutive_days_above = 0
consecutive_days_below = 0
values_strategy = [initial_investment]

# Trading-Logik
for i in range(1, len(hist)):
    close_price = hist['Close'].iloc[i]
    sma200 = hist['SMA200'].iloc[i]

    # Bedingungen prüfen
    if close_price > sma200:
        consecutive_days_above += 1
        consecutive_days_below = 0
    else:
        consecutive_days_below += 1
        consecutive_days_above = 0

    # Kaufregel
    if consecutive_days_above >= 3 and not position_opened:
        position_opened = True
        entry_price = close_price

    # Verkaufsregel
    elif consecutive_days_below >= 3 and position_opened:
        position_opened = False

    # Investment aktualisieren, wenn Position offen
    if position_opened:
        daily_return = (close_price / hist['Close'].iloc[i-1]) - 1
        investment_value_strategy *= (1 + daily_return)

    # Wert speichern
    values_strategy.append(investment_value_strategy)

Schritt 4: Ergebnisvisualisierung mit Plotly

Um die Performance der Strategie sichtbar zu machen, verwenden wir die Bibliothek plotly für eine anschauliche Grafik.

# Daten in den DataFrame einfügen
hist['StrategyValue'] = values_strategy

# Visualisierung der Strategie
fig = make_subplots(specs=[[{"secondary_y": False}]])

# Candlestick-Chart für den Nasdaq 100
fig.add_trace(go.Candlestick(
    x=hist.index,
    open=hist['Open'],
    high=hist['High'],
    low=hist['Low'],
    close=hist['Close'],
    name='Nasdaq 100 (Candlestick)'
))

# SMA200 Linie
fig.add_trace(go.Scatter(
    x=hist.index,
    y=hist['SMA200'],
    marker_color='red',
    name='SMA200',
    line=dict(width=2)
))

# Strategie-Performance
fig.add_trace(go.Scatter(
    x=hist.index,
    y=hist['StrategyValue'],
    marker_color='green',
    name='Investment Strategy Value',
    line=dict(width=2)
))

# Layout anpassen
fig.update_layout(
    title={'text': 'Nasdaq 100, SMA200 Long-Only Strategie (3 Schlusskerzen)', 'x': 0.5},
    plot_bgcolor='white',
    paper_bgcolor='white',
    font=dict(color='black'),
    xaxis_rangeslider_visible=True
)

# X- und Y-Achsen anpassen
fig.update_xaxes(
    showgrid=True,
    color='black',
    rangebreaks=[dict(bounds=["sat", "mon"])]  # Wochenenden ausblenden
)
fig.update_yaxes(
    showgrid=True,
    color='black',
    title_text="Wert (USD)"
)

# Plot anzeigen
fig.show()
Python Trading Bot Backtest: Ergebnis der SMA200-Strategie im Nasdaq 100 mit Candlestick-Chart
Backtest-Ergebnis der SMA200-Strategie, erstellt mit plotly

In der Grafik siehst du:

Candlestick-Chart des Nasdaq 100

Rote Linie: Der SMA200 als Trendfilter

Grüne Linie: Die Performance der Strategie

Die Grafik zeigt deutlich: Die Long-Only-Strategie übertrifft den Nasdaq 100 im Backtest. Mit diesem Beispiel wollte ich dir zeigen, dass auch ein einfaches Regelwerk funktionieren kann. Denk aber daran: Vergangene Performance ist kein Indikator für zukünftige Ergebnisse.

Die Strategie funktioniert besonders gut in Bullenmärkten, in denen der Aufwärtstrend stark ist. In Seitwärtsphasen oder Bärenmärkten schneidet sie deutlich schlechter ab.

Lesetipp: Mehr über Grid Trading erfahren

forex signale karsten mb

Trading Bot mit KI erstellen: ChatGPT und Claude als Coding-Hilfe

KI-Sprachmodelle haben die Einstiegshürde fürs Bot-Programmieren drastisch gesenkt. ChatGPT, Claude und ähnliche Tools schreiben dir ein komplettes Code-Gerüst, wenn du deine Strategie präzise beschreibst. Für unseren Artikel über KI Trading habe ich mit einem einzigen Prompt einen kompletten DAX-Backtest von Claude erstellen lassen.

Ein brauchbarer Prompt für den Einstieg sieht so aus. Je konkreter du Regeln, Markt und Zeitraum benennst, desto besser wird der Code:

Schreibe mir ein Python-Skript, das mit yfinance die Tageskurse des
Nasdaq 100 der letzten 20 Jahre lädt, den SMA200 berechnet und eine
Long-Only-Strategie backtestet: Kauf nach 3 Schlusskursen über dem
SMA200, Verkauf nach 3 Schlusskursen darunter.
Visualisiere Kurs, SMA200 und Strategie-Performance mit plotly.

Verlass dich trotzdem nie blind auf den generierten Code. KI-Modelle verwenden gelegentlich veraltete Bibliotheks-Syntax oder bauen stille Logikfehler ein, etwa bei der Reihenfolge von Signal und Ausführung. Lies jeden Vorschlag gegen, lass dir unklare Zeilen erklären und prüfe das Ergebnis immer mit einem eigenen Backtest. Die KI beschleunigt das Tippen, das Denken bleibt bei dir.

Vom Backtest zum echten Bot: Paper Trading und Broker-API

Wichtig für die Einordnung: Der Beispielcode oben ist ein reiner Backtest. Er handelt nicht selbst, sondern rechnet die Strategie an historischen Daten durch. Ein echter Bot braucht zwei Dinge zusätzlich: eine Testphase ohne echtes Geld und eine Anbindung an einen Broker.

Ein Backtest prüft eine Handelsstrategie an historischen Kursdaten. Er zeigt, wie sich die Regeln in der Vergangenheit geschlagen hätten, garantiert aber keine künftigen Ergebnisse.

Der sinnvolle Weg in den Live-Betrieb führt über drei Stufen:

  • Backtest verfeinern: Teste die Strategie über verschiedene Zeiträume und Märkte, nicht nur über den einen Chart, der gut aussieht.
  • Paper Trading: Lass den Bot auf einem Demokonto unter echten Marktbedingungen laufen. Fehler kosten hier nichts.
  • Broker-API anbinden: Erst wenn der Bot wochenlang stabil läuft, kommt echtes Geld ins Spiel, und zwar mit kleiner Positionsgröße.

Eine Broker-API ist eine Programmierschnittstelle, über die ein Programm Kurse abruft und Orders direkt an den Broker sendet.

Für Aktien und Futures ist die API von Interactive Brokers der verbreitetste Weg, inklusive Paper-Konto zum Testen. Im Krypto-Bereich verbindet die Open-Source-Bibliothek ccxt deinen Python-Code mit zahlreichen Börsen über eine einheitliche Schnittstelle.

Ehrlicherweise gehört dazu: Ein Live-Bot ist kein Selbstläufer. Du musst den Code warten, die Positionen überwachen und bei API-Änderungen nachbessern. Wer keine Lust auf laufende Pflege hat, fährt mit regelbasiertem manuellem Trading oft besser.

Das sind die wichtigsten Daytrading Regeln!

Hole dir jetzt das kostenlose E-Book und lerne, worauf es wirklich ankommt.

53-Daytrading E-Book

Wir achten den Datenschutz. Austragung problemlos möglich.

Das sind die wichtigsten Daytrading Regeln!

53-Daytrading E-Book

Wir achten den Datenschutz. Austragung problemlos möglich.

Grenzen und Risiken: Was der einfache Bot nicht kann

Der gezeigte Backtest rechnet ohne Gebühren, Steuern und Slippage. Die reale Performance fällt dadurch praktisch immer schlechter aus als die grüne Linie im Chart.

Slippage ist die Differenz zwischen dem erwarteten und dem tatsächlich ausgeführten Kurs einer Order. Sie entsteht vor allem in schnellen Märkten und bei geringer Liquidität.

Die zweite große Falle ist die Überanpassung. Wer die Parameter so lange dreht, bis der Backtest perfekt aussieht, optimiert die Strategie auf die Vergangenheit statt auf die Zukunft.

Overfitting bedeutet, dass eine Handelsstrategie zu stark an historische Kursdaten angepasst wurde. Im Live-Handel versagt sie dann häufig.

Dazu kommt das Marktrisiko: Die SMA200-Strategie lebt von stabilen Trends. In langen Seitwärtsphasen produziert sie Fehlsignale am laufenden Band. Ein Bot ersetzt deshalb kein Risikomanagement: Positionsgröße, maximaler Verlust pro Trade und ein Notfallplan für Technikausfälle gehören zu jedem Live-Betrieb.

Rechtlich gilt in Deutschland: Für den Handel auf eigene Rechnung darfst du Bots frei einsetzen. Sobald du damit Geld Dritter verwaltest oder Handelssignale gewerblich anbietest, brauchst du eine BaFin-Erlaubnis.

Eine Abkürzung sind kommerzielle Systeme wie die Handelssysteme von Algo-Camp. Allerdings gibst du damit die Kontrolle über die Strategielogik aus der Hand.

Persönliches Fazit: Starte jetzt mit deinem ersten Python Trading Bot

Ich hoffe, dieser Artikel hat dir den Einstieg in den automatisierten Handel mit Python erleichtert. Wenn du die Grundlagen verstanden hast, kannst du eigene Strategien testen und weiterentwickeln.

Algo-Trading ist ein vielseitiges Feld, das deine Trading-Fähigkeiten erweitert und Entscheidungen von Emotionen entkoppelt. Der erste Schritt ist der schwerste. Mit Geduld machst du schnell Fortschritte.

Ein praktischer Tipp: Wenn du beim Programmieren nicht weiterkommst, google die Fehlermeldung oder frag eine KI danach. Viele Trader standen vor denselben Problemen, die Lösungen stehen längst in Foren und Blogs.

Falls du tiefer einsteigen willst, schau dir unseren Überblick über Algo-Trading-Kurse an. Mehr Strategien findest du in unserer Rubrik Trading-Strategien. Und wenn du deine Grundlagen systematisch ausbauen möchtest, ist unsere Trading-Ausbildung der richtige Ort dafür.

FAQ zu Trading mit Python

Was ist Python?

Python ist eine leicht zu erlernende Programmiersprache, die besonders für Datenanalyse und automatisierten Handel beliebt ist. Sie bietet eine klare Syntax und viele nützliche Bibliotheken.

Was ist ein Trading Bot?

Ein Trading Bot ist ein automatisiertes Programm, das auf Basis festgelegter Regeln Kauf- und Verkaufsentscheidungen trifft. Er analysiert Marktdaten, führt Trades aus und kann rund um die Uhr arbeiten, ohne emotionale Entscheidungen.

Welche Voraussetzungen muss ich erfüllen, um meinen ersten Trading-Bot mit Python zu programmieren?

Du brauchst grundlegende Python-Kenntnisse, eine stabile Internetverbindung und Zugang zu Marktdaten, z.B. über yfinance. Zudem solltest du Grundwissen über Trading-Strategien und Risikomanagement mitbringen.

Welche Fehler sollte ich vermeiden, wenn ich einen Trading-Bot programmiere?

Ein häufiger Fehler ist es, den Bot zu kompliziert zu gestalten. Halte die Strategie einfach, wie die SMA200-Trendfolge, und teste sie gründlich, bevor du echtes Kapital einsetzt. Märkte verändern sich. Überprüfe regelmäßig, ob die Strategie noch funktioniert.

Sind Trading Bots in Deutschland legal?

Ja, für den Handel auf eigene Rechnung sind Trading Bots in Deutschland legal. Eine BaFin-Erlaubnis brauchst du erst, wenn du mit dem Bot Geld Dritter verwaltest oder Handelssignale gewerblich anbietest. Beachte außerdem die Regeln deines Brokers: Manche Anbieter schränken automatisierten Handel in ihren AGB ein.

Welche Programmiersprache eignet sich am besten für Trading Bots?

Python ist für Einsteiger die beste Wahl: einfache Syntax, riesige Auswahl an Bibliotheken und die größte Community. C++ und Java sind schneller in der Ausführung, lohnen sich aber erst im Hochfrequenzbereich. Wer nur auf TradingView arbeitet, kommt auch mit Pine Script weit.

Über den Autor: Bjarne Claussen

Bjarne Claussen ist seit 2018 im Trading aktiv und schreibt als Autor für Kagels Trading zu den Schwerpunkten Prop Trading, KI- und Algo-Trading, Kryptowährungen, Makroökonomie und Fundamentalanalyse.

Als Algo-Trader handelt er selbst primär Rohöl und den S&P 500. Sein Fokus auf systematische, datengetriebene Handelsansätze ergänzt die diskretionäre Trading-Perspektive bei Kagels Trading und bildet die Grundlage seiner kritischen Bewertungen von Trading-Software und KI-gestützten Tools.

Für diesen Artikel hat er den kompletten SMA200-Beispielcode selbst entwickelt, den Backtest am Nasdaq 100 gerechnet und die Arbeitsschritte dokumentiert, mit denen aus einem Backtest ein Live-Bot mit Broker-Anbindung wird.

Dieser Artikel wurde von Karsten Kagels final geprüft.

Empfehlung:

FinMent Börsenwebinar