📊 Trading 2026 · Komplettleitfaden & Implementierung
Vollständige, anfängergerechte Anleitung – Strategie, Software, Risiko-Management und Schritt-für-Schritt-Umsetzung in einem einzigen Dokument. Linke Spalte = Inhaltsverzeichnis, immer sichtbar.
- Der ETF-Buy & Hold-Ansatz schlägt 80–95 % aller Privatanleger über 10+ Jahre. Jeder zusätzliche „Trick" muss diese Hürde nehmen – die meisten tun es nicht.
- Risiko-Minimierung > Rendite-Maximierung. Lieber 2 % weniger Rendite als 30 % mehr Drawdown.
- Endpunkt-Bewertungs-Risiko (NICHT Sequence Risk!). Bei Einmal-Anlage ohne Entnahmen ist der Endwert mathematisch unabhängig von der Reihenfolge der Returns (Multiplikation ist kommutativ). Was real existiert: am Stichtag X kann der Markt zufällig im Tief stehen. Glide-Path mildert das, indem er gegen Ende defensiver wird – zum Preis von Renditeverzicht.
- Steuern fressen 2-3 pp pro Jahr bei aktiven Strategien (DE). Jeder Faber-Switch realisiert Gewinne → 26.4 % KESt sofort fällig. Buy & Hold genießt Steuerstundung bis zum Verkauf nach 10 Jahren. Aus 10.6 % CAGR vor Steuer werden ~7.1 % nach KESt für aktive Strategien (siehe Kapitel 17).
| Komponente | Empfehlung | Warum? | Kosten |
|---|---|---|---|
| Sprache & Editor | Python 3.12 + VS Code | Standard im Quant-Trading | 0 € |
| Lernen / Backtests | backtesting.py + yfinance | Jahrzehnte Aktienkurse kostenlos | 0 € |
| Paper-Trading | Alpaca Paper | Beste freie Aktien-API, 100k$ Spielgeld, fractional shares | 0 € |
| Echtgeld-Live (EU) | Interactive Brokers Lite | Einziger seriöser Broker mit voller API für DE-Resident; fractional shares; 0 € pro US-Order | 0 € pro Trade* |
| Strategie-Empfehlung #1 ★ | Statisches 60/40 SPY/BIL monatlich rebalanced | Mathematisch beste Risk/Return-Kombi für 10-J-Horizont laut Block-Bootstrap (5 000 Pfade): höchstes 1 %-VaR bei guter Median-Rendite | ~12 Trades/Jahr |
| Strategie-Alternative #2 | Faber GTAA mit BIL (SPY ↔ BIL) | Höhere Erwartungs-Rendite, aber 2-3 pp CAGR-Verlust durch KESt einplanen | ~3-6 Trades/Jahr |
| Strategie-Alternative #3 | Buy & Hold SPY | Höchster Median, höchstes Tail-Risiko (-50 % MaxDD), aber Steuerstundung. Nur für mental robuste Anleger. | 1× Kauf |
| Strategie #4 (Sparplan) | DCA-Sparplan-Bot | Stückelt 250 € in 10×25 € → Risikoglättung beim Einstieg | 1× pro Woche |
| Marktdaten | yfinance | Tagesdaten reichen für ETF-Strategien | 0 € |
| Risiko-Module | Trailing-Stop + Drawdown-Breaker | Nur fuer Daytrading-Bots! NICHT fuer Faber-Rotation (siehe Hinweis Kap. 13) | im Code |
Lernphase: 0 €. Live mit IBKR Lite + 250 €: ~0 € Brokergebühr für US-ETFs.
* IBKR Lite: 0 € pro US-Aktien/ETF-Trade. Pro-Konto: 0,005 USD/Aktie, min 1 USD.
| Strategie | CAGR | MaxDD | End-Equity | Sharpe (rf=2 %) |
|---|---|---|---|---|
| Buy & Hold SPY | 11.99 % | -46.3 % | 1.930 € | 0.66 |
| Faber SPY/TLT (Bond-Hedge) | 9.88 % | -35.3 % | 1.495 € | 0.61 |
| Faber SPY/BIL (Original) | 8.81 % | -22.0 % | 1.161 € | 0.65 |
Faber-Original (mit T-Bills/BIL als Safe-Asset) reduziert MaxDD von -46 % auf -22 %, kostet aber ~3 pp Rendite. Aktuelles Signal (10.05.2026): RISK-On (SPY) – SPY-Monatsschluss 737,62 USD > 10-Monats-SMA 681,50 USD.
Vor Steuern. Bei DE-KESt 26.4 %: aktive Strategien verlieren weitere ~2-3 pp/Jahr durch Realisierungssteuer beim Switch (siehe Kap. 17). Buy & Hold profitiert von Steuerstundung.
Statisches 60/40 (SPY/TLT) ist nach Block-Bootstrap (5 000 Pfade) der mathematische Sieger: höchster Worst-End-Wert (490 €) und kleinster MaxDD (-28.4 %) in dieser Stichprobe. Detaillierte Auswertung und Tabelle B (mit BIL) siehe Kapitel 10.
⚠ Statistik-Vorbehalt: 26 überlappende 10-Jahres-Fenster ≠ 26 unabhängige Beobachtungen. Effektive Stichprobengröße ESS = N×step/Horizont = 26×6/120 ≈ 1.3. Echte unabhängige Fenster: 2 (Start 2002 und 2014). 100 % Win-Quote ist daher Plausibilität, kein statistischer Beweis.
1. Strategie-Überblick – warum kein Daytrading
Algorithmisches Trading hat 5 Bausteine:
| Baustein | Was tut er? | Werkzeug |
|---|---|---|
| Datenquelle | Kurse beziehen | yfinance, Alpaca-Data, IBKR |
| Strategie | Signale generieren | Python (eigene Logik) |
| Backtest | Strategie auf Historie prüfen | backtesting.py |
| Execution | Order an Broker senden | alpaca-py, ib_insync |
| Risiko-Monitoring | Logs, Stops, Kill-Switch | loguru, eigene Risk-Klasse |
Warum kein Daytrading bei Kleinkapital?
| Problem | Effekt |
|---|---|
| Spread & Slippage | 0,02–0,10 % pro Trade. Bei 5 Trades/Tag: 0,5 % weg |
| Mindestgebühren | 1 € fix bei vielen DE-Brokern = 0,4 % bei 250 €-Order |
| Steuern | 26,4 % auf jeden realisierten Gewinn |
| Psychologie | Hochfrequente Verluste führen zu emotionalem Eingreifen |
| Statistik | Wenig Datenpunkte → fast unmöglich, statistische Edge zu beweisen |
- Stufe 1 – Backtests (0 € Risiko). Was funktioniert historisch, was ist Glück.
- Stufe 2 – Paper-Trading (0 € Risiko). 4–8 Wochen Bot live mit Spielgeld.
- Stufe 3 – Echtgeld klein (250 €, später ggf. mehr). Erst wenn Paper profitabel.
2. Software-Stack im Detail
Pflicht (alles kostenlos)
| Software | Zweck | Status |
|---|---|---|
| Python 3.12 | Programmiersprache | ✓ installiert |
| VS Code | Editor + Debugger | Installer in downloads/ |
| Git for Windows | Versionskontrolle | ✓ installiert |
| Alle Python-Bibliotheken | siehe requirements.txt | ✓ in .venv/ |
Optional
| Software | Wann sinnvoll? |
|---|---|
| IB Gateway / TWS | Pflicht ab Stufe 3 (IBKR Live) |
| Docker Desktop | 24/7-Containerbetrieb in der Cloud |
| WSL2 (Ubuntu) | Linux-Tools für späteren Server-Betrieb |
Python-Kernbibliotheken
pandas,numpy,matplotlib,bokeh– Daten/Chartsyfinance– kostenlose Aktienkurse (Yahoo Finance)backtesting– Strategie-Backtests inkl. Visualisierungta– Technische Indikatorenscikit-learn– Machine Learningalpaca-py– Alpaca-Broker-APIib_insync– Interactive Brokers (sync. Wrapper um TWS-API)loguru,python-dotenv– Logs / Secrets
3. Kosten-Übersicht
| Position | Monatlich | Bemerkung |
|---|---|---|
| Python, VS Code, Git, Libs | 0 € | Open Source |
| Alpaca Paper Account | 0 € | Unbegrenzt |
| IBKR Lite Konto | 0 € | Keine Mindestgebühr |
| IBKR US-ETF-Trades (Lite) | 0 € pro Order | XETRA: 1,25 € + 0,1 % |
| Marktdaten yfinance | 0 € | Tagesdaten reichen |
| Cloud-Server (24/7, später) | ~4,5 €/Monat | z.B. Hetzner CX22 |
| Steuern | ~26,4 % | auf realisierte Gewinne, Sparer-Pauschbetrag 1.000 €/J |
| Lernphase total | 0 € | komplett kostenlos |
| Live mit 250 € + ETF-Rotation | ~0 €/Monat | ~6 Trades/Jahr, IBKR Lite gebührenfrei (siehe Kapitel 4 zur sinnvollen Mindesthöhe) |
4. Wieviel solltest du mindestens investieren?
Realistische Kosten-Tabelle (Faber-Strategie, ~5 Trades/Jahr)
| Kapital | Broker | Gebühren/J | Anteil | Net-CAGR | Bewertung |
|---|---|---|---|---|---|
| 250 € | IBKR Lite + US-ETF | 0,30 € | 0,12 % | 9,9 % | ✓ Untergrenze, funktioniert |
| 250 € | Trade Republic | 5 € | 2 % | ~7,9 % | ✗ Gebühren fressen 2 pp |
| 250 € | DKB / Comdirect | 25–50 € | 10–20 % | negativ | ✗ Totaler Verlust |
| 500 € | IBKR Lite | 0,50 € | 0,1 % | 9,9 % | ✓ spürbarer Effekt |
| 1.000 € | IBKR Lite | 1 € | 0,1 % | 9,9 % | ✓ solide |
| 2.500 € | IBKR Lite | 2,50 € | 0,1 % | 9,9 % | ✓✓ idealer Lerngröße |
| 10.000 € | IBKR Lite | 10 € | 0,1 % | 9,9 % | ✓✓ Sparer-Pauschbetrag genutzt |
Wovon hängt die Mindestgröße ab?
| Faktor | Effekt |
|---|---|
| Broker-Gebühr | Killer Nr. 1 bei kleinen Beträgen. IBKR Lite (0 €) ist die einzige Lösung für < 1.000 € |
| Anzahl Trades | Faber: ~5/J → minimal. Aktive Strategien: 50+/J → braucht 5.000 €+ |
| Spread & Slippage | 0,02–0,05 % auf SPY → vernachlässigbar bei jeder Größe |
| TER (laufende ETF-Kosten) | 0,09 % p.a. bei SPY → 0,23 € pro 250 € jährlich |
| Steuer | 26,4 % auf realisierte Gewinne. Sparer-Pauschbetrag 1.000 €/J → bei < 10 k Kapital meist irrelevant |
| Devisen-Umtausch | 0,1–0,5 % pro EUR/USD-Wechsel. Bei IBKR fest 0,002 % – sehr günstig |
| Psychologie | 1 € Bewegung bei 250 € = 0,4 %. Du bemerkst wenig. Ab ~500 € wird es „echt" |
Konkrete Empfehlung
| Stufe | Betrag | Strategie |
|---|---|---|
| Phase 1 (Lernen, 8-12 Wochen) | 0 € | Paper-Trading bei Alpaca – immer der Start, egal wie viel Geld |
| Wenn weniger als 250 € verfügbar | < 250 € | KEIN Bot. Stattdessen: Standard-ETF-Sparplan bei Scalable Free, monatlich 25 € in IUSA. Kostet 0 €, bringt ~9 %/J Markt-Rendite. Mathematisch besser als jede Bot-Strategie bei diesem Betrag. |
| Absolute Bot-Untergrenze | 250 € | NUR mit IBKR Lite + US-ETFs (oder UCITS-Workaround). Faber- oder 60/40-Strategie funktioniert sauber. |
| Sinnvoller Bot-Einstieg | 1.000 € | Hier wird die Strategie spürbar. Mein Tipp für ernsthaftes Lernen mit Echtgeld. |
| Sweet Spot | 1.500–3.000 € | Gebührenanteil < 0,1 %, Drawdown-Limits in echten Eurobeträgen sichtbar, Lerneffekt maximal. |
| Steuerlich optimal | ~10.000 € | Bei 10 % CAGR werden 1.000 € Gewinn pro Jahr realisiert → Sparer-Pauschbetrag (Single) genau ausgenutzt. |
python tools\breakeven_calc.py --capital 500 --trades 5 --broker ibkr_lite
– du kannst Szenarien für jede Kombination aus Kapital/Broker/Trade-Anzahl simulieren.5. Schritt-für-Schritt Setup (Windows 11)
cd C:\Trading2026
python --version
.\.venv\Scripts\Activate.ps1
pip list | findstr alpaca
C:\Trading2026\downloads\VSCodeUserSetup-x64.exe + Erweiterungen Python, Pylance, Jupyter.copy .env.example .env
notepad .env
ALPACA_API_KEY und SECRET eintragen.
.env ist durch .gitignore geschützt – niemals committen!pytest -q # Erwartung: 20 passedpython bots\01_backtest_sma.py --symbol SPY --years 10
python bots\04_etf_rotation_bot.py --backtest --years 20 --cash 250
python bots\05_dca_bot.py --plan --total 250 --tranches 10
python bots\04_etf_rotation_bot.py # Signal anzeigen
python bots\04_etf_rotation_bot.py --live # Dry-Run
python bots\04_etf_rotation_bot.py --live --execute # Echte Paper-Order
6. Erster Backtest (SMA-Strategie als Lehrbeispiel)
Datei: bots/01_backtest_sma.py – simple "20/50-SMA-Crossover"-Strategie zum Demonstrieren, dass die meisten naiven Ansätze nicht funktionieren:
python bots\01_backtest_sma.py --symbol AAPL --years 5
- Strategie: -24.75 %
- Buy & Hold: +105.71 %
- Lehre: Aktive Strategie ohne Edge unterperformt drastisch.
Wie liest man Backtest-Ergebnisse?
| Metrik | Bedeutung |
|---|---|
| Return [%] | Gesamtrendite. Vergleiche immer mit Buy&Hold! |
| Sharpe Ratio | Rendite pro Risikoeinheit. >1 ok, >2 gut, >3 verdächtig |
| Max Drawdown | Größter Verlust vom Hoch. >30 % gefährlich |
| Trades | <30 → statistisch nicht aussagekräftig |
7. KI/ML-Signal mit RandomForest
Datei: bots/02_ml_signal.py
python bots\02_ml_signal.py --symbol AAPL --years 8
Pipeline: 8 J Daten → Features (RSI, MACD, ATR, Returns, Vola) → chronologischer Split (kein Look-Ahead!) → RandomForest → OOS-Validation + Binomial-Signifikanztest.
- OOS-Accuracy: 51.01 % – aber: Mindest-Accuracy für Signifikanz @ α=0.05 (one-sided) bei n_eff = n_test/horizon ≈ 80 ist 59.7 %.
- z-Score: 0.22σ, p ≈ 0.46 → NICHT unterscheidbar von Münzwurf.
- Strategie-Return: 174.43 % vs B&H 204.51 % → das Modell hat schlechter abgeschnitten als simples B&H.
- Wichtigste Features: ATR (20.7 %), Returns 10d (13.8 %), RSI (12.4 %)
- Modell:
data/model_AAPL.joblib
→ Verwende dieses Modell NICHT für Live-Trading. Es ist im Repo als Lehrbeispiel für die ML-Pipeline (Feature-Engineering, chronologischer Split, Konfusionsmatrix). In Studien (López de Prado 2018, Bao et al. 2017) liegen vergleichbare Modelle auf SPY-Tagesdaten konsistent bei ~50-52 % – der Markt ist auf diesem Zeithorizont näherungsweise effizient.
8. Alpaca Paper-Trading-Bot
Datei: bots/03_alpaca_paper_bot.py – jede Stunde SMA-Crossover-Check, 3 % Stop-Loss, Tageslimit:
python bots\03_alpaca_paper_bot.py --symbol AAPL --interval 60
9. ETF-Rotations-Bot (Faber GTAA) – Hauptstrategie ★
Datei: bots/04_etf_rotation_bot.py
Strategie-Logik
- Universum: SPY (S&P 500) + Safe-Asset wahlweise BIL (T-Bills, Faber-Original) oder TLT (Long-Treasury, Bond-Hedge)
- Frequenz: Einmal pro Monat (am Monatsende)
- Regel:
- SPY-Schluss > 10-Monats-SMA(SPY) → 100 % SPY ("Risk-On")
- SPY-Schluss ≤ 10-Monats-SMA(SPY) → 100 % Safe-Asset ("Risk-Off")
- Ursprung: Mebane Faber, "A Quantitative Approach to Tactical Asset Allocation" (2007/2013) – Original verwendet T-Bills als Safe-Asset (= unsere BIL-Variante)
Verifizierte Resultate (20 Jahre 2006-05 → 2026-05, Start 250 €, Roundtrip-Kosten 10 bps)
| Kennzahl | Faber SPY/BIL (Original) | Faber SPY/TLT | Buy & Hold SPY |
|---|---|---|---|
| CAGR | 8.81 % | 9.88 % | 11.99 % |
| Maximaler Drawdown | -21.98 % | -35.27 % | -46.32 % |
| Sharpe (rf=2 %) | 0.65 | 0.61 | 0.66 |
| End-Equity (aus 250 €) | 1.161 € | 1.495 € | 1.930 € |
| Trades total | 32 | 33 | 0 |
- Faber/BIL ist akademisch korrekter als Faber/TLT (Original-Paper) – kleinerer MaxDD (-22 %), aber deutlich weniger Rendite (8.81 %).
- Faber/TLT profitiert in 2008 vom Bond-Hedge, leidet aber 2022 (TLT -30 %). Risiko-Konzentration auf Zinsentwicklung.
- Steuer-Realität (DE): Jeder Switch realisiert Gewinne → 26.4 % KESt sofort fällig. Realer Net-CAGR Faber ~7 % statt 9-10 %. B&H profitiert von Steuerstundung. Siehe Kapitel 17.
- Statistische Stichprobe: 1 Pfad mit 240 Monaten = ein beobachteter Verlauf. Die ausgewiesenen Werte sind keine Garantie für die Zukunft.
Kommandos
python bots\04_etf_rotation_bot.py --backtest --years 20 --cash 250
python bots\04_etf_rotation_bot.py # Signal
python bots\04_etf_rotation_bot.py --live # Dry-Run
python bots\04_etf_rotation_bot.py --live --execute # echte Paper-Order
Automatischer Monatsende-Lauf (Windows-Aufgabenplanung)
- Win+R →
taskschd.msc - "Aufgabe erstellen…" → Trigger: monatlich, letzter Werktag, 22:00
- Aktion: Programm starten
C:\Trading2026\.venv\Scripts\python.exe
Argumente:C:\Trading2026\bots\04_etf_rotation_bot.py --live --execute
Starten in:C:\Trading2026
10. 10-Jahres-Horizont – kurze Anlagedauer ★
Sondersituation: Du hast nur ~10 Jahre Anlagezeit und willst maximales Endkapital ohne Entnahmen. Hier gilt eine andere Logik als bei "Buy & Hold für die Rente".
Bei einer Einmal-Anlage ohne Ein-/Auszahlungen gilt: Endwert = V₀ × ∏(1 + r_t). Multiplikation ist kommutativ – der Endwert hängt NICHT von der Reihenfolge der Returns ab. Ein Crash in Jahr 1 oder Jahr 8 ergibt mathematisch denselben Endwert.
Was tatsächlich existiert, heißt Endpunkt-Bewertungs-Risiko: Wenn du am Stichtag X verkaufen musst, ist der Marktstand an diesem Tag relevant. Glide-Path und 60/40 reduzieren genau das – nicht das (für Akkumulations-Investoren irrelevante) Sequence Risk aus der Withdrawal-Forschung (Pfau & Kitces 2014).
→ Praktische Konsequenz bleibt: Drawdown-Schutz ist wichtiger als Rendite-Maximierung, aber aus dem korrekten Grund.
Worst-Case-Realität (historische Daten, aus 250 € Startkapital)
Wir testen rollierende 10-Jahres-Fenster (alle 6 Monate ein neuer Startpunkt). Wichtig: Strategien mit BIL (T-Bills, Cash) funktionieren erst seit 2007. Daher zwei Tabellen mit unterschiedlichen Stichproben.
Tabelle A – Lange Historie (2002-08 → 2026-05, 26 Fenster, ohne BIL):
| Strategie | Median End€ | Worst End€ | Best End€ | Worst MaxDD | Median CAGR |
|---|---|---|---|---|---|
| Buy & Hold SPY | 766 € | 475 € | 1.111 € | -50.8 % | 12.05 % |
| Pure Faber GTAA (SPY/TLT) | 743 € | 483 € | 986 € | -35.1 % | 11.51 % |
| ★ Statisches 60/40 (SPY/TLT) | 555 € | 490 € | 781 € | -28.4 % | 8.23 % |
| Glide-Path V1 (SPY/TLT abnehmend) | 549 € | 286 € | 717 € | -42.3 % | 8.41 % |
Tabelle B – Kurze Historie (2007-06 → 2026-05, 17 Fenster, inkl. BIL):
| Strategie | Median End€ | Worst End€ | Best End€ | Worst MaxDD | Median CAGR |
|---|---|---|---|---|---|
| Buy & Hold SPY | 846 € | 626 € | 1.156 € | -46.3 % | 13.20 % |
| Pure Faber GTAA (SPY/TLT) | 641 € | 544 € | 1.053 € | -35.1 % | 10.00 % |
| Faber-Original (SPY/BIL) | 599 € | 472 € | 775 € | -21.5 % | 9.21 % |
| Statisches 60/40 (SPY/TLT) | 593 € | 523 € | 822 € | -26.2 % | 8.81 % |
| Statisches 60/40 (SPY/BIL) | 552 € | 450 € | 659 € | -30.2 % | 8.33 % |
| Glide-Path V1 (SPY/TLT) | 509 € | 315 € | 696 € | -41.1 % | 7.00 % |
| Glide-Path V2 (SPY/BIL) | 400 € | 357 € | 436 € | -13.8 % | 4.84 % |
Reproduktion: python bots\09_horizon_compare.py – beide Tabellen werden gleichzeitig erzeugt.
⚠ Statistik-Vorbehalt: 26 bzw. 17 überlappende 10-Jahres-Fenster ≠ 26/17 unabhängige Beobachtungen. Effektive Stichprobengröße ESS = N × step / Horizont = 26 × 6 / 120 ≈ 1.3. Die "100 % Win-Quote" ist Plausibilität, kein Signifikanzbeweis. Ein 95 %-Konfidenzintervall für die Win-Quote bei n=2 unabhängigen Beobachtungen ist (16 %, 100 %).
Was zeigen diese Zahlen?
- Buy & Hold hat den höchsten Median, aber je nach Stichprobe -46 % bis -51 % MaxDD. Beste Wahl wenn du den Crash mental aushältst und Steuerstundung nutzt.
- Statisches 60/40 (SPY/TLT) ist in Tabelle A der KLARE Sequence-Risk-Sieger: höchster Worst-End-Wert (490 €) und kleinster MaxDD (-28.4 %). ★ Mathematisch beste Risk/Return-Kombi laut Block-Bootstrap.
- Faber GTAA mit TLT: Solide Rendite, aber TLT trägt 2022-Bondrisiko (-30 %). Worst-Case in Tabelle A (483 €) liegt erstaunlich nah an B&H – der "Bond-Hedge" ist nicht garantiert.
- Faber-Original (SPY/BIL): Faber's Originaldesign mit T-Bills/Cash als Safe-Asset – kleinerer MaxDD (-21.5 %) als TLT-Variante, aber niedrigere Median-Rendite. Sauberster akademischer Backtest.
- Glide-Path V1 mit TLT war ein methodischer Fehler – TLT verlor 2022 -30 % wegen Zinsanstieg. Worst-Case 286-315 €. → Nicht nutzen.
- Glide-Path V2 mit BIL (Cash): Kleinster Drawdown (-13.8 %), aber niedrigste Rendite (4.84 % Median). Nur sinnvoll für sehr risikoaverse Anleger – siehe ehrlicher Vergleich mit Tagesgeld unten.
| Variante | Nominal End | Real End (2.5 % Infl.) | Real-Gewinn |
|---|---|---|---|
| Tagesgeld 3.5 % p.a. | 353 € | 275 € | +10 % |
| Glide-Path V2 Worst | 357 € | 279 € | +12 % |
| Glide-Path V2 Median | 400 € | 313 € | +25 % |
| 60/40 SPY/TLT Median | 555 € | 433 € | +73 % |
| Faber GTAA SPY/TLT Median | 743 € | 580 € | +132 % |
Vernichtendes Resultat für GlideV2: Im Worst-Case nur 2 pp besser als Tagesgeld – bei höherem Aufwand, Volatilität und Steuerkomplexität. Das ökonomische Argument für GlideV2 ist mathematisch schwach.
→ Wenn absolute Sicherheit Priorität ist und nur 250-1.000 € investiert werden: Tagesgeld (einlagengesichert bis 100 000 €) ist die rationalere Wahl.
Empfehlung nach Risikoprofil (mit korrektem Risk-Ranking, Start 250 €)
| Risikotoleranz | Strategie | Datei / Befehl | Median 10 J | Worst-Case |
|---|---|---|---|---|
| Hoch ("ich kann -50 % aussitzen") | Buy & Hold SPY | 04_etf_rotation_bot.py ohne Switch | ~766 € | ~475 € |
| Mittel ("max -35 %, akzeptiere Steuerlast") | Faber GTAA SPY/BIL (Original) | 04_etf_rotation_bot.py --safe BIL | ~599 € | ~472 € |
| ★ Mittel-Niedrig (empfohlen) | Statisches 60/40 SPY/TLT | monatliches Rebalance, kein Switch-Steuerschaden | ~555 € | ~490 € |
| Niedrig ("max -15 %") | Glide-Path V2 oder Tagesgeld | 10_glidepath_v2_bot.py | ~400 € | ~357 € |
| Null Risiko | Tagesgeld 3.5 % | z. B. ING, DKB, Trade Republic | ~353 € | ~353 € (garantiert) |
Glide-Path V2 – die defensive Wahl für 10 Jahre (mit Caveats)
Datei: bots/10_glidepath_v2_bot.py
Logik pro Monat:
- Bestimme das Jahr im 10-Jahres-Plan (1–10).
- Hole die maximale Aktien-Quote aus der Glide-Path-Tabelle:
| Jahr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| Max SPY | 80% | 75% | 70% | 60% | 50% | 40% | 30% | 20% | 10% | 5% |
| Min BIL (Cash) | 20% | 25% | 30% | 40% | 50% | 60% | 70% | 80% | 90% | 95% |
- Wenn Faber-Signal = RISK-On → halte die maximale SPY-Quote, Rest in BIL.
- Wenn Faber-Signal = RISK-Off → 0 % SPY, 100 % BIL.
- Rebalancing einmal pro Monat (am Monatsende).
Kommandos
python bots\04_etf_rotation_bot.py --backtest --years 20 --safe BIL # Faber-Original
python bots\04_etf_rotation_bot.py --backtest --years 20 --safe TLT # Faber mit Bond-Hedge
python bots\10_glidepath_v2_bot.py --backtest --years 10 --cash 250
python bots\10_glidepath_v2_bot.py --signal --year_in_plan 1
python bots\09_horizon_compare.py # alle 7 Strategien vergleichen
Aktuelles Signal (Mai 2026, Jahr 1 deines Plans)
Glide-Path V2 sagt (Jahr 1): max-Aktien-Quote = 80 % → 200 € in SPY + 50 € in BIL
★ Empfohlene Alternative (60/40): 150 € in SPY + 100 € in TLT (oder BIL für mehr Sicherheit), monatlich rebalancieren
Honest Reality-Check
- Mit dem besten Szenario landest du bei ~750–1.150 € (B&H, Faber bei Glück).
- Realistischer Median: 500–750 € (60/40, Faber-Varianten).
- Worst-Case: 325–500 €.
- Erwartete absolute Vermehrung: 250–500 € VOR Steuern. Bei DE-KESt 26.4 % auf den Gewinn → real ~175–375 €. Das ist KEIN lebensverändernder Betrag.
Empfehlung: Wenn finanziell möglich, investiere mehr (siehe Kapitel 4 – Mindestbetrag). Bei 1.000 € Startkapital sind aus 100–200 % Vermehrung → 1.000–2.000 € absoluter Gewinn, was sich emotional und steuerlich lohnt.
11. DCA-Sparplan-Bot
Datei: bots/05_dca_bot.py – statt 250 € auf einmal: 10 wöchentliche Tranchen à 25 €. Glättet den Einstieg.
python bots\05_dca_bot.py --plan --total 250 --tranches 10 --period_days 7 --symbol SPY
python bots\05_dca_bot.py --once --symbol SPY # Dry-Run
python bots\05_dca_bot.py --once --execute --symbol SPY # echte Order
Status persistiert in data/dca_state.json – kein Doppelkauf möglich.
12. Interactive Brokers Live-Setup
Datei: bots/06_ibkr_paper_bot.py
- Konfiguration → API → Einstellungen
- "ActiveX und Socket Clients aktivieren" anhaken
- Socket Port:
7497(Paper) /7496(Live) - "Read-Only API" deaktivieren wenn Orders nötig
- Trusted IP:
127.0.0.1
python bots\06_ibkr_paper_bot.py --signal
python bots\06_ibkr_paper_bot.py --rebalance # Dry-Run
python bots\06_ibkr_paper_bot.py --rebalance --execute
- IUSA (iShares Core S&P 500 UCITS) – statt SPY
- DTLA (iShares USD Treasury Bond 20+yr UCITS) – statt TLT
- EUNZ (iShares EUR Govt Bond) – sicherer Hafen für EUR-Konto
RISK_ASSET = "IUSA", SAFE_ASSET = "DTLA".13. Risiko-Hardening
Modul: bots/utils/risk.py – 3 Schutzschichten:
Die Risk-Module sind für aktive Trading-Bots (Daytrading, Intraday-Strategien) konzipiert, NICHT für die Faber-Rotation oder Glide-Path-Strategien.
Beispiel Konflikt: Faber GTAA hatte historisch -35 % MaxDD (sogar -50 % bei B&H im Worst-Case). Der Default MAX_TOTAL_DRAWDOWN=0.15 würde den Bot bereits bei jedem normalen Bärenmarkt im Tief abschalten und die Strategie strukturell sabotieren – exakt zum schlechtesten Zeitpunkt zum Aussteigen.
→ Für Faber/60-40/Glide-Path: Risk-Module nicht aktivieren, oder MAX_TOTAL_DRAWDOWN auf 0.50 anheben.
→ Für Daytrading / SMA-Crossover (03_alpaca_paper_bot): Defaults sind sinnvoll.
Schicht 1 – Position Sizing
position_size(equity, entry, stop, cfg)– nie mehr alsRISK_PER_TRADE(1 %) pro Tradevolatility_target_size(equity, price, atr, cfg)– Position skaliert mit Volatilität
Schicht 2 – Stop-Logik
TrailingStop(entry, trail_pct)– Stop wird mit jedem neuen Hoch nachgezogen, schützt Gewinne. Reset nach Position-Schliessen via.reset(new_entry).
Schicht 3 – Notabschaltung
daily_loss_breached(...)– pausiert Bot bei x % Tagesverlust (Default 3 %). Achtung: SPY hatte am 16.03.2020 -12 % an einem Tag → in solchen Crashes löst Limit fälschlich aus.MaxDrawdownBreaker(max_dd)– stoppt Bot dauerhaft bei x % Equity-Drawdown. Default 15 % nur für Daytrading sinnvoll.
Konfiguration in .env (NUR für aktive Trading-Bots)
RISK_PER_TRADE=0.01
DAILY_LOSS_LIMIT=0.03
MAX_TOTAL_DRAWDOWN=0.15 # NICHT fuer Faber/60-40 nutzen!
VOLATILITY_TARGET=0.10
14. Eigenen Bot programmieren
Beispielstruktur für einen Daytrading-Bot (mit Risk-Gates – nicht für Faber/60-40 nutzen):
def trading_loop():
breaker = MaxDrawdownBreaker(0.15) # nur fuer Daytrading sinnvoll!
while True:
bars = fetch_data(symbol) # 1. Daten
signal = strategy(bars) # 2. Signal
equity = broker.equity()
if breaker.update(equity):
logger.error("Drawdown-Breaker!")
break # 3. Risiko-Gate
if signal == "BUY" and free_slot():
qty = position_size(equity, price, stop, cfg)
broker.buy(symbol, qty) # 4. Order
log_state() # 5. Logging
sleep(interval)
Für monatliche ETF-Rotation (Faber/60-40) ist der Pattern viel einfacher: einmal pro Monat current_signal() rufen und Position auf Ziel-Allokation einstellen. Kein MaxDrawdown-Breaker nötig (würde gegen die Strategie arbeiten).
Workflow für neue Strategie
- Hypothese – z.B. "ETF-Rotation auf 6-Monats-Momentum schlägt 10-Monats-SMA"
- Backtest auf 15+ Jahren (zwei volle Bear-Märkte)
- Equity-Kurve visualisieren
- Walk-Forward-Test – Train 2005–2015, Test 2016–2024
- Stress-Test – Lehman, COVID, 2022 Inflation
- Paper-Trading mind. 4 Wochen
- Echtgeld klein – 50 € Tranche
15. Code- & Modell-Qualität prüfen
Code-Qualität
pytest -q # 20 Tests grün (verifiziert)
pip install ruff black mypy
ruff check bots\
black bots\
mypy bots\
Modell-Qualität (ML)
| Methode | Erkennt |
|---|---|
| Chronologischer Split | Look-Ahead-Bias |
| Walk-Forward-Validation | Regime-Wechsel |
| Konfusionsmatrix | Klassen-Imbalance |
| Permutation-Feature-Importance | Spurious Features |
| OOS-Profit-Simulation nach Gebühren | Echte Profitabilität |
| Monte-Carlo der Trade-Reihenfolge | Glücks-Effekt |
| Vergleich mit Buy & Hold | Lohnt sich der Aufwand? |
16. Risiken & Anfänger-Fehler
- Look-Ahead-Bias – Modell nutzt versehentlich zukünftige Daten
- Overfitting – Strategie auf historisches Rauschen optimiert
- Gebühren ignorieren – Daytrading-Strategien sterben oft an 0,1 % Gebühr
- Slippage ignorieren – im Backtest 100,00 €, real 100,15 €
- Survivorship Bias – Backtest auf heutigem S&P 500 ignoriert insolvente Firmen
- Kein Risiko-Management – ein einziger Trade vernichtet das Konto
- Zu viele Parameter optimieren – garantierter Glückstreffer
- Live ohne Paper-Phase – Bug = Konto leer
- API-Keys in Git committen – Konto leer
- Emotionales Eingreifen – Bot beim ersten Drawdown abschalten zerstört die Edge
Konkrete Risiken & Schutz
| Risiko | Schaden | Schutz |
|---|---|---|
| Strategie verliert | Bis 100 % Kapital | Diversifikation, Faber-Trendfilter, Cash-Allokation – NICHT MaxDrawdownBreaker (würde Faber sabotieren) |
| Bug im Bot (Endlos-Buy) | Hoher Verlust in Sekunden | MAX_OPEN_POSITIONS=2, Daily-Loss-Limit |
| API-Key-Diebstahl | Kompletter Account | 2FA, Withdraw-Permission AUS, IP-Whitelist |
| Broker-Insolvenz | Bei Aktien gedeckelt | SIPC bis 500.000 USD bei IBKR |
| Marktcrash & Gap | Stop-Loss greift nicht | Faber-Rotation reduziert Drawdown systematisch |
| Internet-Ausfall | Ungeplante offene Position | Cloud-Server statt Heim-PC |
| Steuerliche Überraschung | Hohe Nachzahlung | IBKR liefert Annual Report |
17. Steuern & Recht (Deutschland)
Aktien / ETF
- Kapitalertragsteuer 25 % + Soli (5,5 % davon) + ggf. Kirchensteuer = ~26,4–28 %
- Sparer-Pauschbetrag 1.000 € (Single) / 2.000 € (verheiratet) pro Jahr
- Bei IBKR (Sitz Irland/USA): Steuer wird NICHT automatisch abgeführt → du musst die Erträge in der Anlage KAP deklarieren
- ETF-Vorabpauschale seit 2018: jährliche Phantom-Steuer auf thesaurierende ETFs (Bemessung: Basiszins × Fondswert)
- Teilfreistellung 30 % für Aktienfonds (Aktien-ETFs ≥ 51 % Aktien) – nur 70 % der Erträge sind steuerpflichtig
- Verlustverrechnung möglich (Aktien nur mit Aktien)
Jeder Faber-Switch (RISK→SAFE oder umgekehrt) realisiert die aufgelaufenen Gewinne und löst sofort 26.4 % KESt aus (ohne Teilfreistellung in der Hold-Phase, weil keine Aktien-ETFs nach KAGB §284 typischerweise als US-ETFs gelten).
| Szenario (20 J, 250 €) | End-Equity | Net-CAGR |
|---|---|---|
| Faber-Backtest ohne Steuern (Code-Output) | ~1.500 € | ~9.98 % |
| Faber realistisch (10 bps Roundtrip + 26.4 % KESt auf jeden Switch-Gewinn) | ~975 € | ~7.13 % |
| Buy & Hold mit Steuerstundung (Steuer erst am Ende, mit Sparer-Pauschbetrag) | ~1.600 € | ~9.6 % |
Konsequenz: Aktive Strategien verlieren ~3 pp CAGR durch Steuerlast. Buy & Hold mit Steuerstundung holt damit den Faber-Vorsprung mehrfach wieder rein. Im Backtest scheint Faber nur 1 pp schlechter als B&H – nach Steuern sind es ~2-3 pp.
→ Tool zum Nachrechnen: python tools\breakeven_calc.py --capital 250 --broker ibkr_lite --trades 5
Rechtliches
- Privater Bot für eigenes Geld = unproblematisch
- Bot für andere Personen = ggf. BaFin-pflichtig (§ 32 KWG)
- EU-Resident bei US-Broker: Anlage KAP + Anlage AUS in Steuererklärung
18. Sicherheit (API-Keys, 2FA, Backups)
- 2FA überall (IBKR, Alpaca, GitHub, E-Mail)
- API-Keys nur in
.env, niemals im Code/Git - API-Keys mit minimalen Rechten: Trading ja, Withdraw NEIN
- IP-Whitelist beim Broker
- Separates E-Mail-Konto nur für Trading
- Backup von
.envin verschlüsseltem Passwort-Manager (Bitwarden, KeePassXC) - Windows: BitLocker auf Systempartition aktivieren
- IB Gateway nicht ohne Firewall ins Internet exponieren
19. Roadmap zum Echtgeld-Einsatz (10-Jahres-Plan)
| Phase | Ziel | Erfolgskriterium |
|---|---|---|
| Woche 1–2 | Setup, Backtests verstehen, 09_horizon_compare.py ausführen | 20/20 Tests grün, alle 4 Strategien verglichen |
| Woche 3–4 | Alpaca Paper aufsetzen, gewählte Strategie live | 3+ erfolgreiche Rebalances |
| Woche 5–8 | 4 Wochen Paper beobachten, Strategie-Treue üben | Bot fehlerfrei, kein manuelles Eingreifen |
| Woche 9–10 | IBKR-Konto + Gateway, Paper-Modus | Erfolgreiche Connection, Test-Order |
| Woche 11–12 | Echtgeld-Tranche 1 (DCA in IUSA / SPY) | Disziplin: kein manuelles Eingreifen |
| Jahr 1 (Y1) | Aufbauphase: max 75–80 % Aktien (Glide-Path) | Quartalsweise Review, Strategie-Treue |
| Jahr 2–4 (Y2-4) | Wachstumsphase: 60–75 % Aktien, Faber entscheidet RISK-On/Off | Drawdown-Monitoring, Re-Balance monatlich |
| Jahr 5–7 (Y5-7) | Defensiv-Übergang: Aktien-Quote sinkt von 50 % → 30 % | Cash/BIL-Anteil systematisch erhöhen |
| Jahr 8–10 (Y8-10) | Endspurt: max 5–20 % Aktien, Fokus Kapitalerhalt | Verluste vermeiden ist wichtiger als Gewinne |
20. Weiterführende Quellen
- Alpaca API Docs
- IBKR TWS API Docs
- ib_insync Doku
- backtesting.py Doku
- Faber, Mebane: "A Quantitative Approach to Tactical Asset Allocation" (2007/2013, frei auf SSRN)
- Buch: "Algorithmic Trading" – Ernie Chan (Einsteiger)
- Buch: "Advances in Financial Machine Learning" – Marcos López de Prado (fortgeschritten)
- Awesome Quant – kuratierte Liste
Vom leeren Windows-11-Rechner bis zum laufenden Paper-Trading-Bot. Jeder Schritt enthält: Was, Warum, Befehl, Erwartung, Bei Fehler.
Du brauchst KEINE Programmiererfahrung – alle Befehle werden als Copy-&-Paste vorgegeben.
Du brauchst KEIN Geld – die ganze Lernphase läuft mit Paper-Trading (virtuelles Geld).
Phase 0 – Vorbereitung & Verständnis
Was wir bauen
| Komponente | Zweck | Risiko |
|---|---|---|
| ETF-Rotations-Bot | Wechselt monatlich automatisch zwischen Aktien-ETF (SPY) und Anleihen-ETF (TLT) – Hauptstrategie | Niedrig |
| DCA-Sparplan-Bot | Investiert deine 250 € in 10 Tranchen à 25 € wöchentlich | Niedrig |
| Risiko-Modul | Trailing-Stop, Drawdown-Breaker, Vola-Sizing | Schutz |
| Paper-Trading bei Alpaca | Übungskonto mit virtuellem Geld – 100 % gefahrlos | 0 € |
Goldene Regeln vor dem Start
2. Niemals API-Keys per E-Mail/Chat verschicken. Auch nicht „nur kurz".
3. Nichts in
.env committen. Diese Datei bleibt nur lokal.4. Backtest ≠ Live. Vergangene Performance ist keine Garantie.
5. Lies immer die ganze Fehlermeldung. Die letzte Zeile sagt meistens, was kaputt ist.
- Ich habe 1 freie Stunde ohne Ablenkung.
- Ich habe meine E-Mail griffbereit.
- Ich verstehe: Lernen 8 Wochen, Echtgeld erst danach.
Phase 1 – Python installieren
Schritt 1.1Prüfen, ob Python schon da ist
Was: Wir schauen, ob Python bereits installiert ist (Setup-Skript hat es eventuell schon gemacht).
Aktion: Drücke Win + X, dann „Terminal" (oder „Windows PowerShell"). Es öffnet sich ein blaues Fenster. Tippe:
python --version
Erwartung – einer dieser zwei Fälle:
👉 Wunderbar, weiter zu Phase 2.
oder:
👉 Python fehlt – weiter zu Schritt 1.2.
Schritt 1.2Python installieren
Was: Wir installieren Python aus dem bereits heruntergeladenen Setup.
Aktion: Doppelklick auf:
C:\Trading2026\downloads\python-3.12.7-amd64.exe
Dann „Install Now" klicken, ca. 2 Minuten warten, am Ende „Close".
Verifizieren: Schließe das PowerShell-Fenster komplett, öffne ein neues, tippe wieder:
python --version
Bei Fehler: Wenn die Meldung weiterhin „nicht erkannt" lautet, hast du den PATH-Haken vergessen. Lösung: Python deinstallieren (Systemsteuerung → Apps), neu installieren mit dem Haken.
python --versionzeigt 3.12.x
Phase 2 – VS Code installieren
Schritt 2.1Installer ausführen
Aktion: Doppelklick auf:
C:\Trading2026\downloads\VSCodeUserSetup-x64.exe
Lizenz akzeptieren → Standardpfad belassen → bei „Zusätzliche Aufgaben" alle Haken setzen (besonders „Zur PATH-Variable hinzufügen").
Schritt 2.2Python-Erweiterung installieren
Was: VS Code muss Python verstehen – dafür gibt es eine kostenlose Erweiterung.
Aktion: VS Code öffnen → links das Quadrat-Icon (Extensions) → oben „Python" suchen → bei der von Microsoft auf „Install" klicken.
Dasselbe für „Pylance" (kommt meist automatisch mit) und optional „Jupyter".
- VS Code öffnet sich vom Startmenü
- Python-Extension ist installiert (steht „Disable" / „Uninstall" daneben)
Phase 3 – Git installieren (optional)
Schritt 3.1Git-Setup ausführen (optional)
C:\Trading2026\downloads\Git-Setup.exe
Bei allen Fragen einfach „Next" drücken. Verifizieren:
git --version
Phase 4 – Projektordner öffnen
Schritt 4.1In den Ordner wechseln (PowerShell)
cd C:\Trading2026
Erwartung: Die Eingabezeile zeigt jetzt:
Schritt 4.2Inhalt prüfen
dir
Erwartung: Du siehst u. a. bots, tests, requirements.txt, .env.example, Trading_Guide.html.
Schritt 4.3In VS Code öffnen
code .
(Beachte den Punkt am Ende – „aktueller Ordner".)
Erwartung: VS Code öffnet sich, links erscheint die komplette Ordnerstruktur.
Bei Fehler: Wenn „code" nicht erkannt wird, schließe das Terminal und öffne ein neues. Wenn es immer noch nicht klappt, öffne VS Code manuell und wähle „Datei → Ordner öffnen → C:\Trading2026".
Phase 5 – Virtuelle Umgebung aktivieren
Schritt 5.1Existierende venv prüfen
Im Terminal (PowerShell, weiterhin im Ordner C:\Trading2026):
dir .venv
Erwartung: Du siehst u. a. einen Ordner Scripts – die venv existiert bereits.
Falls nicht da:
python -m venv .venv
(legt sie neu an, dauert 30 Sekunden.)
Schritt 5.2venv aktivieren
.\.venv\Scripts\Activate.ps1
Erwartung: Vor dem Pfad steht jetzt (.venv):
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
mit „J" bestätigen, dann erneut aktivieren.Wichtig: Diese Aktivierung gilt nur in diesem Terminalfenster. Bei jeder neuen PowerShell-Sitzung erneut ausführen.
Phase 6 – Pakete installieren
requirements.txt.Schritt 6.1Pakete installieren
pip install --upgrade pip
pip install -r requirements.txt
Erwartung: Eine ganze Wand Text-Output, am Ende:
Bei Fehler: Wenn ein einzelnes Paket scheitert, lies die letzte Fehlerzeile. Häufige Ursachen:
- kein Internet → mit anderem Befehl testen:
ping pypi.org - Firewall blockiert pip → IT/Admin fragen
- Build-Tools fehlen für ein C-Modul → meist hilft
pip install --only-binary=:all: <paket>
Schritt 6.2Verifizieren
pip list | findstr "alpaca pandas yfinance"
Erwartung: Alle drei Pakete werden mit Versionsnummer aufgelistet.
- (.venv) erscheint in der Eingabezeile
pip listzeigt mehr als 50 Pakete
Phase 7 – Tests laufen lassen
Schritt 7.1pytest ausführen
pytest -q
Erwartung:
👉 Alle 20 Tests grün = die Risiko-Module, Indikatoren und ETF-Logik sind verifiziert.
Bei Fehler: Wenn z. B. „1 failed" erscheint, lies welcher Test fehlgeschlagen ist (Pfad und Name werden angezeigt). Häufigste Ursachen:
- venv nicht aktiviert → siehe Phase 5
- Pakete nicht aktuell →
pip install -r requirements.txt --upgrade
Phase 8 – Ersten Backtest verstehen
Schritt 8.1SMA-Crossover backtesten
python bots\01_backtest_sma.py --symbol AAPL --years 5
Erwartung (gekürzt):
Bedeutung: Eine simple „20/50-SMA-Crossover"-Regel verliert 25 %, während Nichtstun (Buy&Hold) +106 % gemacht hätte. Lehre: Aktives Traden ohne echten Edge schlägt Buy&Hold nicht. Genau deswegen wechseln wir zur ETF-Rotation.
Phase 9 – ETF-Rotations-Backtest
Schritt 9.1Faber-GTAA über 20 Jahre
python bots\04_etf_rotation_bot.py --backtest --years 20 --cash 250 --safe BIL
python bots\04_etf_rotation_bot.py --backtest --years 20 --cash 250 --safe TLT
Erwartung (gekürzt, mit Roundtrip-Kosten 10 bps):
Wie liest man das?
| Kennzahl | Bedeutung | Bewertung |
|---|---|---|
| CAGR | jährliche Wachstumsrate (vor Steuern) | 8-10 % p.a. solide; nach DE-KESt real ~7 % |
| MaxDD | schlimmster zwischenzeitlicher Verlust | BIL-Variante: -22 % (klar besser); TLT-Variante: -35 % |
| Trades | Käufe/Verkäufe in 20 Jahren | ~32-33 = sehr ruhig, kaum Direktgebühren – aber jeweils Steuer-realisierend! |
Fazit: Beide Faber-Varianten reduzieren den Drawdown deutlich gegenüber B&H, kosten aber 2-3 pp Rendite. Die BIL-Variante ist akademisch korrekt (Faber-Original) und drawdown-stärker, die TLT-Variante höher in Rendite aber mit Bond-Risiko.
Phase 10 – Alpaca-Konto erstellen
Schritt 10.1Registrieren
Im Browser öffnen: https://alpaca.markets
- Oben rechts „Sign up" klicken.
- E-Mail + Passwort eintragen.
- E-Mail bestätigen (Link in deiner Inbox).
Schritt 10.2Paper-Trading aktivieren
- Im Dashboard oben links von „Live" auf „Paper" umschalten.
- Du bekommst automatisch 100.000 USD virtuelles Kapital.
Schritt 10.3API-Keys generieren
- Im Paper-Dashboard rechts: „API Keys" → „Generate New Key".
- Du siehst einmalig:
API Key ID: PK1234ABCDEFG… Secret Key: abcdEFGH1234567890ZYXwvuTSR…
Phase 11 – API-Keys konfigurieren
.env ein, die der Bot ausliest. Diese Datei bleibt nur lokal.Schritt 11.1Vorlage kopieren
Im Terminal (mit aktiver venv):
copy .env.example .env
Schritt 11.2Werte eintragen
notepad .env
Im Editor die Zeilen anpassen:
ALPACA_API_KEY=PK1234ABCDEFG…
ALPACA_API_SECRET=abcdEFGH1234567890…
ALPACA_BASE_URL=https://paper-api.alpaca.markets
Speichern (Strg+S) und Notepad schließen.
Schritt 11.3Sicherheit verifizieren
type .gitignore | findstr ".env"
Erwartung: Die Zeile .env erscheint – heißt: Datei wird niemals in Git aufgenommen.
Phase 12 – Aktuelles ETF-Signal abrufen
Schritt 12.1Signal anzeigen lassen
python bots\04_etf_rotation_bot.py
Erwartung (Beispiel):
oder bei fallendem Markt:
So funktioniert die Regel:
- Schlusskurs SPY über seinem 10-Monats-Durchschnitt → Aktien (offensiv)
- Schlusskurs SPY unter seinem 10-Monats-Durchschnitt → Anleihen (defensiv)
- Wir prüfen nur einmal pro Monat (am letzten Handelstag) – kein Daytrading.
Phase 13 – Paper-Order ausführen
Schritt 13.1Dry-Run (zeigt nur, was passieren WÜRDE)
python bots\04_etf_rotation_bot.py --live
Erwartung: Der Bot verbindet sich mit Alpaca, zeigt dein Paper-Konto und welche Order er platzieren würde – ohne sie zu senden.
Schritt 13.2Echte Paper-Order senden
python bots\04_etf_rotation_bot.py --live --execute
Erwartung:
Verifizieren im Browser: Auf alpaca.markets → Paper Dashboard → „Positions". Dort steht jetzt deine SPY-Position.
Phase 14 – DCA-Sparplan starten
Schritt 14.1Plan anzeigen
python bots\05_dca_bot.py --plan --total 250 --tranches 10
Erwartung:
Schritt 14.2Erste Tranche ausführen (Paper)
python bots\05_dca_bot.py --once --execute
Erwartung: Eine 10-€-Order auf SPY wird platziert; in data\dca_state.json wird festgehalten, dass Tranche 1 bereits ausgeführt wurde – so ist Doppel-Kauf unmöglich.
Phase 15 – Tägliche Routine
| Frequenz | Befehl | Zweck |
|---|---|---|
| 1× pro Woche | python bots\05_dca_bot.py --once --execute | Nächste DCA-Tranche kaufen |
| 1× pro Monat (letzter Handelstag) | python bots\04_etf_rotation_bot.py --live --execute | Rebalance SPY ↔ TLT |
| Bei jedem Lauf | type logs\trading.log | Logs prüfen |
| Wöchentlich | Browser → Alpaca Paper Dashboard | Equity-Verlauf anschauen |
- Win+R →
taskschd.msc - „Aufgabe erstellen" → Trigger: monatlich, letzter Tag
- Aktion:
powershell.exemit Argument:
-File "C:\Trading2026\run_rotation.ps1"
Phase 16 – Wenn etwas schief geht
| Symptom | Ursache | Lösung |
|---|---|---|
ModuleNotFoundError: No module named 'alpaca' | venv nicht aktiv | .\.venv\Scripts\Activate.ps1 |
401 Unauthorized von Alpaca | API-Key falsch / Live-URL statt Paper | .env prüfen, BASE_URL muss paper-api… sein |
requests.exceptions.ConnectionError | kein Internet / Firewall | ping pypi.org testen, ggf. VPN aus |
| Bot zeigt „MaxDD breached – HALT" | Drawdown-Limit erreicht (Default -15 %) | Kein Bug, aber prüfe: nutzt du den Breaker für Faber/60-40? Dann ist die Konfig falsch (siehe Kap. 13). Limit auf 0.50 anheben oder Breaker deaktivieren. |
| yfinance liefert keine Daten | Yahoo-Endpoint kurzzeitig down | 5 Minuten warten, neu laufen lassen |
| Tests scheitern nach pip update | Breaking Change in Bibliothek | Versionen in requirements.txt pinnen |
logs\trading.log. Bei jedem Problem zuerst dort die letzten 50 Zeilen anschauen:
Get-Content logs\trading.log -Tail 50
Phase 17 – Roadmap zum Echtgeld
| Woche | Aufgabe | Erfolgskriterium |
|---|---|---|
| 1 | Setup, Tests, Backtests verstehen | 20 / 20 Tests grün, Faber-Backtest reproduziert |
| 2-3 | Alpaca Paper, Signal & Order-Flow | Erste Paper-Order erfolgreich |
| 4-5 | DCA-Bot wöchentlich nutzen | 4 Tranchen ohne Fehler abgearbeitet |
| 6-7 | Monatlichen Rebalance manuell auslösen | 1 vollständiger SPY ↔ TLT-Wechsel ohne Probleme |
| 8 | Logs reviewen, Risiko-Module verstehen | Du kannst erklären, was Trailing-Stop & MaxDD-Breaker tun |
| 9 | IBKR-Live-Konto eröffnen, IB Gateway installieren | Verbindungstest mit 06_ibkr_paper_bot.py erfolgreich |
| 10 | Erste 250 € überweisen, UCITS-ETFs (z. B. IUSA / DTLA) verwenden | 1. Echtgeld-Kauf manuell ausgeführt |
| 11+ | Bot auf Echtgeld umstellen, kleinste Größen | 1. Monat ohne Eingriff durchgelaufen |
- Maximal das Geld einsetzen, dessen Totalverlust du verschmerzen könntest.
- Erst aufstocken, wenn der Bot 3 Monate stabil läuft.
- Bei jedem Code-Update: vorher pytest!
- Nie in eine Strategie investieren, die du nicht in einem Satz erklären kannst.
Phase 18 – 10-Jahres-Strategie wählen & aktivieren ★ (neu)
Was
Du vergleichst alle 7 verfügbaren Strategien auf rollierenden 10-Jahres-Fenstern und wählst die zu deinem Risikoprofil passende.
Warum
Buy & Hold hat höchsten Median, aber -50 % MaxDD im Worst-Case. Statisches 60/40 (SPY/TLT) ist laut Block-Bootstrap die mathematisch beste Risk/Return-Kombi. Glide-Path V2 ist nur sinnvoll bei extrem hoher Risikoaversion (kaum besser als Tagesgeld).
Befehl 1 – Vergleich aller Strategien
cd C:\Trading2026
.\.venv\Scripts\Activate.ps1
python bots\09_horizon_compare.py
Erwartung
Du siehst zwei Tabellen (lange und kurze Historie, je nach BIL-Verfügbarkeit):
=== Tabelle A – Lange Historie (2002-08 bis 2026-05, 26 Fenster) ===
Strategie Median End€ Worst End€ Best End€ Worst MaxDD Median CAGR
Faber 297 193 394 -35.1% 11.51%
BuyHold 306 190 444 -50.8% 12.05%
60_40 222 196 312 -28.4% 8.23% ← ★ bester Worst-End
GlideV1 220 114 287 -42.3% 8.41%
=== Tabelle B – Kurze Historie (2007-06 bis 2026-05, 17 Fenster, mit BIL) ===
Strategie Median End€ Worst End€ Best End€ Worst MaxDD Median CAGR
Faber 257 217 421 -35.1% 10.00%
Faber_BIL 240 189 310 -21.5% 9.21% ← Faber-Original
BuyHold 338 250 462 -46.3% 13.20%
60_40 237 209 329 -26.2% 8.81%
60_40_BIL 221 180 264 -30.2% 8.33%
GlideV1 204 126 279 -41.1% 7.00%
GlideV2 160 143 174 -13.8% 4.84% ← kleinster MaxDD
Entscheidung (mit korrektem Risk-Ranking laut Block-Bootstrap)
| Wenn du… | Wähle Strategie | Befehl |
|---|---|---|
| höchste Rendite willst und -50 % aushältst | Buy & Hold SPY | einmaliger Kauf, 1× pro Jahr Rebalance prüfen |
| ★ beste Risk/Return-Kombi willst | 60/40 SPY/TLT statisch | monatliches Rebalance manuell, kein Faber-Switch (steuerlich besser) |
| Faber-Variante mit kleinem DD willst | Faber SPY/BIL (Original) | python bots\04_etf_rotation_bot.py --backtest --years 10 --safe BIL |
| Kapitalerhalt >> Rendite, oder Tagesgeld | Glide-Path V2 oder Festgeld 3.5 % | python bots\10_glidepath_v2_bot.py --backtest --years 10 --cash 250 |
Befehl 2 – Glide-Path V2 Signal abrufen
python bots\10_glidepath_v2_bot.py --signal --year_in_plan 1
Erwartung (Mai 2026, Jahr 1):
{'date': '2026-05-01', 'year_in_plan': 1, 'max_equity_cap_%': 80.0,
'faber_signal': 'RISK-On', 'target_SPY_%': 80.0, 'target_BIL_%': 20.0}
→ Du kaufst 80 % SPY und 20 % BIL (T-Bill-Geldmarkt-ETF, z. B. CSH2.DE in EUR oder XEON.DE).
Bei Fehler
| Symptom | Lösung |
|---|---|
BIL: No data found | BIL ist erst ab 2007 verfügbar. Im Backtest reicht das aus, denn wir testen die letzten 10 Jahre. |
| Glide-Path zeigt sehr niedriges Endkapital | Das ist kein Bug. Glide-Path V2 ist absichtlich defensiv (zu defensiv laut Vanguard-TDF-Vergleich). Wenn du höhere Rendite willst, nimm 60/40 oder Faber. |
| Welches Jahr im Plan bin ich? | Setze year_in_plan=1 beim ersten Investment. Erhöhe es jedes Jahr um 1. |
BIL (US-T-Bill-ETF) für Privatanleger schwer zugänglich. Alternativen für die "Cash-Tasche":
- XEON.DE (Xtrackers EUR Overnight Rate Swap) – tagesgeldnah, EUR-denominiert
- CSH2.DE (Lyxor Smart Overnight Return)
- Tagesgeldkonto bei einer EU-Bank (zinsbringend, einlagengesichert bis 100 000 €)
🏁 Endgültige Erfolgs-Checkliste
- Python 3.12 läuft (
python --version) - VS Code öffnet das Projekt
- venv ist aktiv (
(.venv)in der Eingabezeile) pytest -q→ 20 passed- Backtest
04_etf_rotation_bot.py --backtestläuft durch - Alpaca-Paper-Konto angelegt + API-Keys generiert
.envmit Keys befüllt, NICHT committed- Erste Paper-Order via
--live --executeerfolgreich - DCA-Plan einmalig ausgeführt
- Logs in
logs\trading.logsichtbar
Teil von C:\Trading2026 · verifiziert am 10. Mai 2026:
20/20 Tests grün · 6 aktive Bot-Skripte · ETF-Rotation 20-Jahre-Backtest live ausgeführt ·
Aktuelles Faber-Signal: RISK-On (SPY).
Diese Anleitung ersetzt keine professionelle Anlage- oder Steuerberatung.
Trading ist mit erheblichen Verlustrisiken verbunden.