2.2

🔶 Interactive Brokers einrichten

Flex Query und automatische Synchronisation

1. Übersicht

▶️ Video-Tutorial: Von Null zu startklar (19 Min.) Die komplette Einrichtung Schritt für Schritt im Video — inklusive der beiden Fallen, an denen die meisten scheitern (Zeitraum und Gültigkeitsdauer des Prüfcodes). Interactive Brokers (IBKR) bietet die umfangreichste Integration.

✅ Ablauf:
1. Flex Query anlegen
2. Flex Query als XML für jedes Jahr herunterladen und importieren
3. Updates über Flex Sync holen
⚠️ Wichtig:
Der Flex Sync holt nur Updates der letzten Tage. Der XML-Import baut die vollständige Historie auf. Fehlt die Historie, kann das System die Trades nicht richtig auswerten (z.B. Optionsstrategien, Kampagnen, Währungsgewinne).
Vertiefung — Live-CockpitKapitel 21 · IBKR Live BridgeEchtzeit-Greeks, IV und Option-Chains zusätzlich zum täglichen Flex-Sync

2. Was ist eine Flex Query?

Eine Flex Query ist ein konfigurierbarer Bericht bei Interactive Brokers. Du definierst einmal, welche Daten du exportieren möchtest, und kannst diesen Bericht dann jederzeit abrufen - manuell oder automatisch.

Vorteile:
• Alle Trades, Dividenden, Positionen in einem Bericht
• Automatische Synchronisation möglich
• Daten der letzten 365 Tage verfügbar
• Keine manuelle Dateneingabe nötig

Schritt-für-Schritt Anleitung

1

Schritt 1: Flex Query bei IBKR erstellen

1. Bei IBKR einloggen:
Gehe zu interactivebrokers.com und logge dich in dein Konto ein.

2. Flex Queries öffnen:
Navigiere zu: Performance & Berichte → Flex Queries
(englische Oberfläche: „Performance & Reports → Flex Queries")

3. Den richtigen Query-Typ wählen:
Auf der Flex-Queries-Seite stehen zwei Bereiche untereinander. Nur der erste ist richtig:
✅ Kontoumsatz-Flex-Query (englische Oberfläche: „Activity Flex Query")
Das ist der richtige Bereich. Klicke in dieser Kachel oben rechts auf das ➕ → „Create".
❌ Handelsbestätigungs-Flex-Query (englische Oberfläche: „Trade Confirmation Flex Query")
Nicht verwenden! Dieser Berichtstyp enthält nur Handelsbestätigungen. sTraderZ.com kann daraus keine Daten lesen — der Import bliebe komplett leer.
Solange du noch keine Query angelegt hast, steht im Bereich „Kontoumsatz-Flex-Query" nur der Hinweis „Sie haben keine Vorlagen für Kontoumsatz-Flex-Queries…". Das ➕ ist trotzdem da — oben rechts in dieser Kachel.

ℹ️ Den Button „Mithilfe von KI konfigurieren" brauchst du nicht — folge einfach Schritt 2 und 3 unten, dort stehen alle Einstellungen.
2

Schritt 2: Flex Query konfigurieren

Query-Name: frei wählbar, z.B. „SingularityTrader".

Stelle danach die Zustellungs- und die allgemeine Konfiguration exakt so ein:
0 von 11 Einstellungen gesetzt
3

Schritt 3: Berichtsabschnitte auswählen

Aktiviere alle folgenden Abschnitte in der Flex Query. Die Liste ist zum Abhaken — dein Fortschritt bleibt gespeichert, auch wenn du die Seite neu lädst.
0 von 20 Abschnitten aktiviert
⚠️ Felder vs. Typ-Optionen — der wichtigste Unterschied

Felder (die nummerierte Liste je Abschnitt): Hier gilt möglichst alle einzeln anhaken — einen Sammel-Button dafür gibt es nicht. Fehlende Felder sind die häufigste Ursache für Importfehler.

Typ-Optionen (die Zeile „Optionen:" ganz oben im Abschnitt): Hier gilt das Gegenteil — nur eine Detailebene, genau die oben angegebene. Jede zusätzliche Ebene („Gesamtübersicht", „Order", „Symbolzusammenfassung", „Lots") beschreibt denselben Vorgang ein zweites Mal in einer weiteren Zeile. sTraderZ.com wertet die Detailebene nicht aus, sondern verarbeitet jede Zeile — mehrere Ebenen können daher zu doppelt gezählten Trades, Gebühren und Positionen führen. Ausnahme: „Geschlossene Lots" und „Wash Sales" im Trades-Abschnitt sind nicht bloß überflüssig, sie müssen aus sein.
4

Schritt 4: Query speichern

Klicke auf "Continue" und dann "Create".

Nach dem Erstellen siehst du deine Query in der Liste. Notiere dir die Query ID - du brauchst sie gleich.
5

Schritt 5: Flex Query Token generieren

Für den automatischen Abruf brauchst du einen Zugangsschlüssel. Er heißt bei IBKR auf Deutsch „Prüfcode" (englisch: Token) — in sTraderZ.com trägst du ihn später als Flex Token ein.

1. Flex-Web-Service öffnen:
Auf der Seite Flex Queries ganz nach unten scrollen bis zum Block „Flex-Web-Service-Konfiguration" und dort auf „Konfigurieren" (⚙️) klicken.

2. Dienst aktivieren:
Auf der Seite „Flex-Web-Service konfigurieren" muss der Flex-Web-Service-Status auf aktiviert stehen. Ist er aus, kann sTraderZ.com die Query nicht abrufen — IBKR lehnt den Zugriff ab.

3. Prüfcode generieren:
Im Abschnitt „Neuen Prüfcode generieren":
0 von 3 Einstellungen gesetzt
⚠️ Der Prüfcode wird nur ein einziges Mal angezeigt
Kopiere ihn sofort und bewahre ihn sicher auf. Verlierst du ihn, musst du einen neuen generieren — und dabei verliert der alte Prüfcode seine Gültigkeit. Läuft ein Sync mit dem alten Code, schlägt er ab diesem Moment fehl.

Der Prüfcode ist 1 Jahr gültig. Nach Ablauf einen neuen generieren und in der Konto-Konfiguration hinterlegen.
6

Schritt 6: XML-Export für alle Jahre

Exportiere die Flex Query als XML für jedes Jahr deiner Trading-Historie:

1. Flex Query aufrufen:
Bei IBKR: Performance & Berichte → Flex Queries (englische Oberfläche: „Performance & Reports")

2. Zeitraum anpassen:
Klicke bei deiner Query auf das ▶-Symbol (Run) und stelle im Dialog den Zeitraum auf „Benutzerdefinierter Zeitraum" mit Von-/Bis-Datum (z.B. 01.01.2023 – 31.12.2023)

3. Query ausführen:
Format auf XML stellen und auf „Starten" klicken, dann die XML-Datei herunterladen

4. Für jedes Jahr wiederholen:
Wiederhole Schritt 2-3 für alle Jahre, in denen du bei IBKR gehandelt hast (z.B. 2021, 2022, 2023, 2024).
7

Schritt 7: XML-Import der Historie

Importiere alle heruntergeladenen XML-Dateien in Singularity Trader:

1. Import-Bereich öffnen:
Gehe zu Konten → Dein IBKR-Konto → Konfiguration → "XML hochladen"

2. Ältestes Jahr zuerst:
Beginne mit der ältesten XML-Datei (z.B. 2021) und arbeite dich chronologisch vor

3. Alle Jahre importieren:
Importiere nacheinander alle XML-Dateien bis zum aktuellen Jahr

⚠️ Wichtig: Dieser Schritt ist essentiell! Ohne vollständige Historie können Optionsstrategien, Trade-Kampagnen und Währungsgewinne nicht korrekt berechnet werden.
8

Schritt 8: In Singularity Trader einrichten

1. Konto-Konfiguration öffnen:
Gehe zu Konten → Dein IBKR-Konto → Konfiguration

2. Flex Query Daten eingeben:
• Flex Query ID: Die Query-Nummer von IBKR
• Flex Token: Der generierte Token

3. Speichern und Testen:
Klicke auf "Speichern" und dann "Jetzt synchronisieren" um zu testen.
✨

Automatische Synchronisation

Nach erfolgreicher Einrichtung werden deine Trades automatisch täglich synchronisiert. Du musst nichts weiter tun!

Was passiert beim Sync:
• Neue Trades werden importiert
• Positionen werden aktualisiert
• Dividenden werden erfasst
• Optionsstrategien werden erkannt
• Währungsgewinne werden berechnet (FIFO)

Du kannst jederzeit manuell synchronisieren, wenn du die neuesten Daten sofort möchtest.

12. Auto-Retry bei vorübergehenden Fehlern

IBKR-Flex-Abrufe können aus verschiedenen Gründen einmalig fehlschlagen (z.B. kurzzeitiger Serverfehler bei IBKR, Netzwerk-Timeout, Query gerade in Bearbeitung). Singularity Trader hat dafür eine automatische Wiederholungs-Queue:

• Scheitert ein Sync, wird er bis zu 3 Mal automatisch wiederholt (mit exponentiellem Abstand).
• Erst wenn alle Versuche scheitern, erscheint ein CRITICAL-Eintrag im System-Log und eine Benachrichtigung.
• Temporäre Probleme lösen sich meist von selbst, ohne dass du eingreifen musst.

Du siehst den aktuellen Sync-Status im Konten-Bereich — grün = zuletzt erfolgreich, gelb = Retry läuft, rot = nach 3 Versuchen gescheitert.

13. Alternative: Manueller XML-Import

Wenn du keine automatische Synchronisation möchtest, kannst du die Flex Query manuell exportieren:

1. Bei IBKR: Flex Queries → "Run" neben deiner Query
2. Herunterladen: Die XML-Datei speichern
3. Hochladen: In Singularity Trader → Konten → Konfiguration → "XML hochladen"

Diese Methode ist auch für ältere Daten (> 365 Tage) nötig, da Flex Sync nur 1 Jahr zurückreicht.

14. Importierte Daten bei IBKR

Vollständig unterstützt:
• Aktien-Trades (Kauf/Verkauf)
• Options-Trades inkl. Greeks
• Futures und Forex
• Dividenden (brutto, netto, Quellensteuer)
• Zinsen (Haben/Soll)
• Optionsausübungen und Zuteilungen
• Aktiensplits und Mergers
• Statement of Funds für Währungs-FIFO

Automatisch erkannt:
• Optionsstrategien (Spreads, Iron Condors, etc.)
• Covered Calls / Cash-Secured Puts
• Trade-Kampagnen
• Währungsgewinne nach § 23 EStG

15. 📥 Altdaten vom TradingLogbook? Tags mitnehmen.

📥 Du kommst vom TradingLogbook?

Deine gepflegten Strategien kannst du als Tags auf deine bereits importierten Trades übernehmen — Symbol + Eröffnungsdatum genügen. In 3 Minuten erledigt.

Zum 3-Schritt-Umzug

⚠️ Fehlerbehebung

"Token abgelaufen":
Generiere einen neuen Token bei IBKR und trage ihn in die Konfiguration ein.

"Query nicht gefunden":
Überprüfe, dass die Query ID korrekt ist und die Query aktiv ist.

"Keine Daten":
Stelle sicher, dass alle erforderlichen Sektionen in der Query aktiviert sind.

"Fehler beim Import":
Prüfe das Import-Log für Details. Häufig: Fehlende Felder in der Query.

⚠️ Fehlende historische Trades nachladen (⚠️-Badge bei Positionen)

Das Problem:
Im Dashboard oder in den Positions-Listen erscheint bei einer Position ein ⚠️-Symbol neben dem Konto-Namen. Der Tooltip zeigt "Fehlende Trade-Daten — Für diese Position wurden keine Transaktionen importiert. Dadurch kann die Strategie nicht automatisch erkannt werden."

Die Ursache:
Die Position selbst ist über den Portfolio-Snapshot von IBKR bekannt, aber die Eröffnungs-Trades liegen vor dem ältesten bisher importierten Handelstag. Das ist typisch bei LEAPS (lang laufende Optionen, z.B. Januar-Expiries im Folgejahr), die Monate oder Jahre vor dem ersten Flex-Sync geöffnet wurden. Ohne diese Trades kann die Plattform keinen Trade-Cycle aufbauen und keine Strategie (z.B. Iron Butterfly, Box Spread, Cash-Secured Put) erkennen.

✅ Die Lösung (Kurzfassung):
Bei der bestehenden Flex Query einmalig einen Ad-hoc-Export mit historischem Zeitraum anstoßen, als XML herunterladen und über den XML-Import hochladen. Es muss keine neue Flex Query angelegt werden!
Schritt-für-Schritt:

1. Bei IBKR den historischen Export anstoßen
• Einloggen im IBKR Client Portal
• Performance & Berichte → Flex Queries (englische Oberfläche: „Performance & Reports")
• In der Liste die bestehende Flex Query suchen (dieselbe, die auch der automatische Sync verwendet)
• Auf Run bzw. das ▶-Symbol neben der Query klicken
• Im Dialog den Zeitraum auf „Benutzerdefinierter Zeitraum" umstellen
• Von (Datum): so weit zurück setzen, wie nötig (z.B. 01.01.2024 oder das Datum der ältesten noch offenen LEAPS-Position)
• Bis (Datum): ein Tag vor dem ältesten bereits importierten Trade
• Format: XML
• Auf „Starten" klicken — IBKR generiert das XML einmalig für genau diesen Zeitraum. Die in der Query gespeicherte Standard-Period bleibt unverändert!

💡 Hinweis: Ein einzelner Flex-Query-Run kann maximal 365 Tage abdecken. Bei größeren Lücken mehrere Runs nacheinander anstoßen (z.B. 2023 und 2024 separat) und die XMLs einzeln importieren.

2. XML-Datei herunterladen
Nach dem Run zeigt IBKR einen Download-Link. Datei lokal speichern, z.B. ibkr-backfill-2024.xml.

3. In Singularity Trader hochladen
• Konten in der Seitenleiste öffnen
• Beim betroffenen Broker-Konto auf "IBKR konfigurieren" klicken
• Zum Abschnitt XML Import scrollen (oder oben auf die Sync-Methoden-Karte "XML Import")
• Die XML-Datei auswählen → Import starten
• Der Import läuft in drei Phasen (Upload → Process → Finalize) — Ergebnis-Anzeige abwarten

4. Was beim Import passiert
• Trades: Es werden nur neue Trades importiert. Bereits vorhandene werden anhand der Execution-ID erkannt und übersprungen → kein Duplikats-Risiko, auch bei Überlappungen
• Positions-Snapshots: Historie bleibt vollständig erhalten, nur ein neuer Snapshot wird angehängt
• Strategien, Kampagnen und Trade-Cycles: Werden für das gesamte Konto neu berechnet — genau dadurch werden die jetzt vollständigen Trades zu Strategien gruppiert (z.B. Iron Butterfly, Box Spread)

5. Ergebnis prüfen
• Dashboard neu laden — das ⚠️-Badge bei der Position sollte verschwunden sein
• In der Positions- oder Trade-Detailansicht sollte jetzt die erkannte Strategie angezeigt werden

Wenn das ⚠️ weiter bleibt:
Die Eröffnungs-Trades liegen noch weiter zurück als der gewählte Zeitraum. Einen weiteren Run mit früherem Startdatum anstoßen und das zusätzliche XML importieren.

⚠️ Verkaufte Position ohne Anschaffungskosten, nach Übertrag zwischen zwei eigenen IB-Konten

Das Problem:
Du hast bei Interactive Brokers mehrere eigene Konten (z. B. ein Hauptkonto und ein separat angelegtes zweites Individual-Konto — nicht zu verwechseln mit dem automatisch erkannten Unterkonto aus einer gemeinsamen Flex Query). Eine Position — typisch bei einer Optionsandienung/-zuteilung (Assignment) — wurde ursprünglich in einem der beiden Konten aufgebaut, taucht aber irgendwann im anderen Konto auf und wird von dort verkauft. Im Steuerreport erscheint diese Position bei „Nicht abgedeckte Veräußerungen" (uncovered sales) mit der Fußnote „°" — Legende: „Mit ° gekennzeichnete Positionen haben keinen Depotübertrag als Ursache." Es fehlen also jegliche Anschaffungskosten, obwohl du die Position nachweislich selbst erworben hast.

So erkennst du den Fall sicher — Checkliste:
  1. Öffne im Quellkonto (dort, wo die Position ursprünglich entstand) die Trade-Historie und suche nach dem betroffenen Symbol. Bei einer Optionszuteilung findest du dort eine Buchung mit Kaufkurs und Datum — sie ist vorhanden.
  2. Öffne im Zielkonto (dort, wo verkauft wurde) den Reiter „Transfers" der Konto-Detailseite. Erwartest du dort einen Eingang für dieses Symbol, findest du gar keine Zeile — nicht mal eine mit ungeklärter Herkunft (die gäbe es im Reiter zu sehen und du könntest ihr wie im vorigen FAQ-Eintrag ein Herkunftskonto zuweisen).
  3. Im Steuerreport steht die verkaufte Position unter „Nicht abgedeckte Veräußerungen" mit der Fußnote °.
Treffen alle drei Punkte zu, liegt exakt dieser Sonderfall vor.

ℹ️ Die Ursache liegt bei IBKR, nicht in sTraderZ.com
sTraderZ.com erkennt Positionsüberträge zwischen zwei Konten automatisch, sobald IBKR sie in der Flex Query als Transaktion mitliefert — siehe den FAQ-Eintrag zum regulären Positionsübertrag. Bei zwei eigenständig gehaltenen Individual-Konten (keine formale Master-/Sub-Struktur bei IBKR) meldet IBKR eine interne Umbuchung zwischen ihnen aber manchmal an keiner Stelle als Transaktion — nicht als Trade, nicht als Transfer und auch nicht im „Statement of Funds" (Kapitalflussrechnung), also selbst im vollständigsten Report, den IBKR liefert. Für sTraderZ.com — wie für jede Auswertungssoftware, die auf die offiziellen IBKR-Datenexporte angewiesen ist — gibt es dann schlicht keine Quelle, aus der sich die Anschaffungskosten automatisch übernehmen ließen. Das lässt sich softwareseitig nicht nachbessern, weil in den Rohdaten nichts steht, das man auswerten könnte.
Was du tun kannst — trage die Anschaffungskosten selbst nach:
Dafür brauchst du keinen Support-Kontakt. Auf der Konto-Detailseite gibt es genau für diesen Fall die Funktion „Manuellen Depotübertrag hinzufügen" (Karte „Depot-Überträge").
  1. Ermittle im Quellkonto (Trade-Historie) die genauen Zugangs-Buchungen: Datum, Stückzahl und Kaufkurs je Zuteilung. Wurden mehrere Zuteilungen zu unterschiedlichen Kursen/Terminen verkauft, trägst du jede Zuteilung als eigene Zeile ein — nicht als eine Zeile mit Durchschnittskurs, sonst stimmt die FIFO-Reihenfolge bei künftigen Teilverkäufen nicht mehr.
  2. Öffne im Zielkonto (dort, wo verkauft wurde) die Konto-Detailseite → Karte „Depot-Überträge" → „Manuellen Depotübertrag hinzufügen".
  3. Fülle je Zuteilung aus: Symbol, Stückzahl, Anschaffungsdatum (das echte Datum der Zuteilung im Quellkonto, nicht das Übertragsdatum), Anschaffungskosten (Gesamtbetrag dieser Zeile, nicht der Kurs pro Stück — die Plattform rechnet daraus automatisch den Stückkurs), Übertragsdatum (an dem die Position im Zielkonto auftauchte bzw. verkauft wurde) und — falls in der Dropdown-Liste vorhanden — dein Quellkonto als Herkunftskonto.
  4. Speichern. Die Position fließt danach steuerneutral ins FIFO des Zielkontos ein, mit korrektem Anschaffungsdatum und -kurs — dein Steuerreport rechnet ab sofort richtig.
💡 So beugst du künftig vor
Verzichte, wo möglich, auf interne Umbuchungen einer Position zwischen zwei separat gehaltenen IB-Konten. Nutze stattdessen entweder ein einziges Konto für zusammengehörige Strategien, oder — falls du bewusst mehrere Konten trennen willst — richte bei IBKR eine formale Family-/Advisor-Kontostruktur ein, bei der interne Bewegungen regulär als Transfer gemeldet werden (siehe FAQ-Eintrag oben).

19. ✅ Gegenprobe: So sieht die fertige Query aus

IBKR zeigt dir nach dem Speichern unter „Überprüfen Sie Ihre Kontoumsatz-Flex-Query" eine Zusammenfassung. Vergleiche sie mit dieser Referenz — so muss deine Query aussehen, wenn alles stimmt.
AbschnittTyp-Optionen („Optionen:"-Zeile)
Aufgelaufene Zinsen—
BartransaktionenAlle Untertypen (Dividenden, Zahlung anstelle von Dividenden, Quellensteuer, Ein- & Auszahlungen, Broker-/Anleihenzinsen, Sonstige Gebühren, Sonstiges Einkommen …) + Detail
CFD-Gebühren—
Cash-Bericht—
Eingehende/ausgehende Trade-TransfersTrade-Transfers
Forex-G&V-DetailsTransaktion
Gewährung von Bezugsrechten—
Informationen zum Finanzinstrument—
Kapitalflussrechnung (Statement of Funds)Basiswährungsübersicht, Währungsaufschlüsselung, Anfangs- und Endsaldo miteinbeziehen
KapitalmaßnahmenDetail
Kontoinformationen—
Nettovermögenswert (NAV) in der Basiswährung—
Offene PositionenGesamtübersicht (kein „Lots")
Offene aufgelaufene Dividenden—
Optionsausübungen, -zuteilungen und -fälligkeiten— (wird am häufigsten vergessen!)
Positionen des vorangegangenen Zeitraums—
TradesNur Ausführung — keine „Geschlossenen Lots", keine „Wash Sales", keine „Order"/„Anlageklasse"/„Symbolzusammenfassung"
TransaktionsgebührenNur Ausführung (nicht zusätzlich „Gesamtübersicht")
TransfersTransfer (kein „Lots")
Veränderung der aufgelaufenen DividendenDetail (nicht zusätzlich „Gesamtübersicht")

Zustellungskonfiguration und Allgemeine Konfiguration:

EinstellungWert
KontenDeine Konto-ID (z.B. U1234567)
FormatXML
ZeitraumLetzte 30 Kalendertage
Gewinn und VerlustStandard
Include Offsetting Trade/Cancel Pairs?Nein
Wechselkurse miteinbeziehen?Nein
Prüfpfadfelder einbeziehen?Nein
Konto-Pseudonym anstelle der Konto-ID anzeigen?Nein
Aufschlüsselung nach Tagen?Nein
DatumsformatyyyyMMdd
ZeitformatHHmmss
Datum/Uhrzeit-Trennzeichen; (Semikolon)
💡 Query-ID notieren
Auf derselben Übersicht steht oben die Query-ID (eine 7-stellige Zahl, z.B. 1570627). Die brauchst du zusammen mit dem Token in Schritt 8.