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

Bjarne Claussen

Aktualisiert:

Lesezeit: 6

Foto des Autors

>> Besser traden mit den besten TradingView Indikatoren >>

Python Trading Bot erstellen in 30 Sekunden erklärt

30 sekunden trading seminar
  • In diesem Artikel lernst du, wie du mit Python einen einfachen Trading-Bot programmierst – auch ohne fortgeschrittene Programmierkenntnisse.
  • Du erfährst, welche Tools und Bibliotheken du benötigst und wie du den Bot in wenigen Schritten startest.
  • Inklusive fertigem Beispielcode, den du direkt für deine ersten Trades verwenden kannst.

Python ist eine der beliebtesten Programmiersprachen, um Trading-Strategien zu automatisieren oder Finanzdaten zu analysieren. Mit nur wenigen Bibliotheken und etwas Hintergrundwissen kannst du einen einfachen Trading-Bot erstellen, der Marktdaten analysiert und Orders ausführt.

In diesem Artikel zeige ich dir Schritt für Schritt, wie du mit Python deinen eigenen Trading-Bot programmierst – auch ohne fortgeschrittene Programmierkenntnisse. Du wirst überrascht sein, wie schnell du deinen ersten Bot startklar hast.

Warum ist Python ideal fürs Algo-Trading?

Python genießt eine große Beliebtheit im Algo-Trading, weil es einen guten Mix aus Einfachheit, Leistungsfähigkeit und Flexibilität bietet – egal, ob du gerade erst anfängst oder komplexe Strategien entwickeln möchtest.

Kurz gesagt: Python ist die perfekte Wahl, wenn du einen Trading-Bot entwickeln möchtest, der Daten analysiert, Strategien testet und automatisiert Orders ausführt – alles mit minimalem Aufwand.

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

In diesem Abschnitt zeige ich dir, wie du mit Python einen einfachen Trading-Bot programmieren kannst, der auf der SMA200 Long-Only Strategie basiert. 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-Strategie visualisiert mit Ein- und Ausstiegen
Trading-Strategie visualisiert mit plotly

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

Warum der SMA200 als Indikator?

Der SMA200 ist einer der meistgenutzten gleitenden Durchschnitte im Trading. Er betrachtet die Schlusskurse der letzten 200 Tage und eignet sich deshalb ideal als Trendfilter.

Liegt der Kurs über dem SMA200, befindet sich der Markt im Aufwärtstrend. Fällt der Kurs darunter, signalisiert dies 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:

  • 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 soll kaufen, wenn der Kurs drei Tage hintereinander über dem SMA200 liegt und verkaufen, wenn der Kurs drei Tage hintereinander unter dem SMA200 liegt.

# 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()
Resultat der Python Trading Bot Strategie
Python-Trading-Bot-Stategie Resultat

In der Grafik siehst du:

  • Rote Linie: Der SMA200 als Trendfilter
  • Grüne Linie: Die Performance der Strategie

Die Grafik zeigt deutlich, dass unsere Long-Only-Strategie den Nasdaq 100 in der Performance übertrifft.

Mit dieser Strategie in Python, wollte ich dir zeigen, wie eine einfache und unkomplizierte Strategien erfolgreich eingesetzt werden können. Denke jedoch 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ärts- oder Bärenmärkten schneidet sie jedoch deutlich schlechter ab.

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 beginnen, eigene Strategien zu testen und weiterzuentwickeln.

Algo Trading ist ein spannendes und vielseitiges Thema, das dir helfen kann, deine Trading-Fähigkeiten zu erweitern und deine Trading-Entscheidungen zu automatisieren. Der erste Schritt ist oft der schwerste, aber mit Geduld und Ausdauer wirst du schnell Fortschritte machen.

Ein praktischer Tipp von mir: Wenn du beim Programmieren mal nicht weiterkommst, versuche einfach, zu googeln. Du wirst überrascht sein, wie viele Lösungen bereits online verfügbar sind. Viele Trader standen schon vor den gleichen Herausforderungen, und oft findest du hilfreiche Antworten in Foren oder Blogs der Community.

Falls du noch tiefer in das Thema Algo Trading eintauchen möchtest, dann schau dir auch unsere beiden anderen Artikel über Trading Bots und Algo Trading an.

Wenn du auf der Suche nach mehr Strategien für dein Trading bist, dann stöbere gerne in unseren anderen Artikeln zum Thema Trading. Und wenn du deine Grundlagen im Trading weiter ausbauen möchtest, könnte unsere Trading-Ausbildung genau das Richtige für dich sein!

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.

Bjarne Claussen

Daytrading Signale von Profi-Trader Peter Spiegel jetzt 14 Tage testen (DAX, S&P 500, Nasdaq) - mehr erfahren >>