2.2

🔶 Configurer Interactive Brokers

Flex Query et synchronisation automatique

1. Aperçu

Interactive Brokers (IBKR) offre l'intégration la plus complète.

✅ Processus :
1. Créer une Flex Query
2. Télécharger et importer Flex Query en XML pour chaque année
3. Obtenir les mises à jour via Flex Sync
⚠️ Important :
Flex Sync récupère uniquement les mises à jour des jours récents. L'importation XML construit l'historique complet. Sans historique complet, le système ne peut pas évaluer correctement les transactions (par exemple, stratégies d'options, campagnes, gains forex).

2. Qu'est-ce qu'une Flex Query ?

Une Flex Query est un rapport personnalisable d'Interactive Brokers. Vous définissez une fois les données que vous souhaitez exporter, puis vous pouvez récupérer ce rapport à tout moment - manuellement ou automatiquement.

Avantages :
• Toutes les transactions, dividendes, positions dans un seul rapport
• Synchronisation automatique possible
• Données des 365 derniers jours disponibles
• Aucune entrée de données manuelle requise

Guide pas à pas

1

Étape 1 : Créer une Flex Query chez IBKR

1. Connectez-vous à IBKR :
Accédez à interactivebrokers.com et connectez-vous à votre compte.

2. Ouvrez les Flex Queries :
Naviguez vers : Performance & Reports → Flex Queries

3. Choisissez le bon type de requête :
La page des Flex Queries affiche deux types de requêtes l’un sous l’autre. Seul le premier est correct :
✅ Activity Flex Query (libellé de l’interface anglaise — IBKR traduit ses libellés selon la langue du portail)
C’est le bon type. Cliquez sur le ➕ en haut à droite de ce panneau → « Create ».
❌ Trade Confirmation Flex Query (libellé de l’interface anglaise)
Ne l’utilisez pas ! Elle ne contient que des confirmations de transactions. sTraderZ.com ne peut en extraire aucune donnée — l’import resterait complètement vide.
Tant que vous n’avez pas encore créé de requête, le panneau Activity Flex Query n’affiche qu’une note indiquant que vous n’avez aucun modèle. Le ➕ est tout de même là — en haut à droite de ce panneau.

ℹ️ Vous n’avez pas besoin du bouton « Configure with AI » — suivez simplement les étapes 2 et 3 ci-dessous, elles listent tous les réglages.
2

Étape 2 : Configurer la Flex Query

Nom de la requête : ce que vous voulez, par exemple « SingularityTrader ».

Réglez ensuite la Delivery Configuration et la General Configuration exactement comme ceci :
0 sur 11 réglages effectués
3

Étape 3 : Sélectionner les Sections du Rapport

Activez toutes les sections suivantes dans la Flex Query. La liste est là pour être cochée — votre progression est conservée même si vous rechargez la page.
Les noms de sections ci-dessous correspondent au portail IBKR en français. Les options de type (« Execution », « Detail », « Summary », « Lots » …) sont indiquées en anglais.
0 sur 20 sections activées
⚠️ Champs vs. options de type — la différence décisive

Champs (la liste numérotée à l’intérieur de chaque section) : utilisez toujours « Select All » — plus il y en a, mieux c’est. Des champs manquants sont la cause la plus fréquente des erreurs d’import.

Options de type (la ligne « Options: » en haut d’une section) : ici, c’est l’inverse — choisissez un seul niveau de détail, exactement celui indiqué ci-dessus. Chaque niveau supplémentaire (« Summary », « Orders », « Symbol Summary », « Lots ») décrit le même événement une seconde fois dans une autre ligne. sTraderZ.com n’évalue pas le niveau de détail, il traite chaque ligne — plusieurs niveaux peuvent donc entraîner des transactions, frais et positions comptés en double. Exception : « Closed Lots » et « Wash Sales » dans la section des transactions ne sont pas seulement redondants, ils doivent être désactivés.
4

Étape 4 : Enregistrer la Requête

Cliquez sur "Continue" puis sur "Create".

Après la création, vous verrez votre requête dans la liste. Notez l'ID de la Requête - vous en aurez besoin bientôt.
5

Étape 5 : Générer le Token Flex Query

Pour la récupération automatique, vous avez besoin d’une clé d’accès. IBKR l’appelle un token — dans sTraderZ.com, vous le saisirez ensuite comme Flex Token.

1. Ouvrez le Flex Web Service :
Sur la page Flex Queries, faites défiler tout en bas jusqu’au bloc « Flex Web Service Configuration » et cliquez sur « Configure » (⚙️).

2. Activez le service :
Sur la page « Configure Flex Web Service », le statut du Flex Web Service doit être activé. S’il est désactivé, sTraderZ.com ne peut pas récupérer la requête — IBKR refusera l’appel.

3. Générez le token :
Dans la section « Generate New Token » :
0 sur 3 réglages effectués
⚠️ Le token n’est affiché qu’une seule fois
Copiez-le immédiatement et conservez-le en lieu sûr. Si vous le perdez, vous devez en générer un nouveau — et cela invalide aussitôt l’ancien token. Toute synchronisation utilisant encore l’ancien token échouera à partir de ce moment.

Le token est valable 1 an. À son expiration, générez-en un nouveau et enregistrez-le dans la configuration de votre compte.
6

Étape 6 : Exportation XML pour Toutes les Années

Exportez la Flex Query en XML pour chaque année de votre historique de trading :

1. Ouvrez Flex Query :
Chez IBKR : Performance & Reports → Flex Queries

2. Ajustez la Plage de Dates :
Modifiez la requête et définissez la plage de dates sur une année civile (par exemple, 01/01/2023 - 12/31/2023)

3. Exécuter la Requête :
Cliquez sur "Run" et téléchargez le fichier XML

4. Répétez pour Chaque Année :
Répétez les étapes 2-3 pour toutes les années où vous avez tradé chez IBKR (par exemple, 2021, 2022, 2023, 2024).
7

Étape 7 : Importation XML de l'Historique

Importez tous les fichiers XML téléchargés dans Singularity Trader :

1. Ouvrez la Section d'Importation :
Allez à Accounts → Votre Compte IBKR → Configuration → "Upload XML"

2. L'Année la Plus Ancienne en Premier :
Commencez par le fichier XML le plus ancien (par exemple, 2021) et progressez chronologiquement

3. Importer Toutes les Années :
Importez tous les fichiers XML séquentiellement jusqu'à l'année actuelle

⚠️ Important : Cette étape est essentielle ! Sans historique complet, les stratégies d'options, les campagnes commerciales et les gains forex ne peuvent pas être calculés correctement.
8

Étape 8 : Configuration dans Singularity Trader

1. Ouvrez la configuration du compte :
Allez dans Comptes → Votre compte IBKR → Configuration

2. Saisissez les données de la Flex Query :
• ID Flex Query : l’identifiant de requête à 7 chiffres fourni par IBKR (affiché dans l’aperçu de la requête, p. ex. 1570627)
• Flex Token : le token que vous avez généré à l’étape 5

3. Enregistrez et testez :
Cliquez sur « Save », puis sur « Sync Now » pour tester.
✨

Synchronisation Automatique

Après une configuration réussie, vos transactions sont synchronisées automatiquement quotidiennement. Vous n'avez rien d'autre à faire !

Ce qui se passe pendant la synchronisation :
• Les nouvelles transactions sont importées
• Les positions sont mises à jour
• Les dividendes sont enregistrés
• Les stratégies d'options sont reconnues
• Les gains forex sont calculés (FIFO)

Vous pouvez toujours synchroniser manuellement à tout moment si vous voulez les données les plus récentes immédiatement.

12. Réessai automatique en cas d'erreurs temporaires

Les requêtes IBKR Flex peuvent échouer ponctuellement pour diverses raisons (p. ex. erreur de serveur temporaire chez IBKR, timeout réseau, requête en cours de traitement). Singularity Trader dispose d'une file de réessai automatique :

• Si une synchronisation échoue, elle est relancée automatiquement jusqu'à 3 fois (avec délai exponentiel).
• Ce n'est que si tous les essais échouent qu'une entrée CRITICAL apparaît dans le log système et une notification est envoyée.
• Les problèmes temporaires se résolvent généralement d'eux-mêmes, sans que vous ayez à intervenir.

Vous pouvez voir l'état de synchronisation actuel dans la section Comptes — vert = dernier succès, jaune = réessai en cours, rouge = échec après 3 tentatives.

13. Alternative : Import XML manuel

Si vous ne souhaitez pas de synchronisation automatique, vous pouvez exporter la Flex Query manuellement :

1. Chez IBKR : Flex Queries → "Run" à côté de votre requête
2. Télécharger : Sauvegarder le fichier XML
3. Importer : Dans Singularity Trader → Comptes → Configuration → "Importer XML"

Cette méthode est aussi nécessaire pour les données historiques (> 365 jours), car Flex Sync ne remonte qu'à 1 an en arrière.

14. Données importées depuis IBKR

Entièrement pris en charge :
• Transactions sur actions (achat/vente)
• Transactions sur options avec Greeks
• Futures et Forex
• Dividendes (brut, net, retenue à la source)
• Intérêts (créditeurs/débiteurs)
• Exercices et assignations d'options
• Splits d'actions et fusions
• Statement of Funds pour le FIFO des devises

Reconnu automatiquement :
• Stratégies d'options (Spreads, Iron Condors, etc.)
• Covered Calls / Cash-Secured Puts
• Campagnes de trading
• Plus-values en devises selon § 23 EStG

15. 📥 Données du TradingLogbook ? Emportez vos tags.

📥 Vous venez du TradingLogbook ?

Vous pouvez transférer vos stratégies taguées vers vos trades déjà importés — symbole + date d'ouverture suffisent. Fait en 3 minutes.

Vers la migration en 3 étapes

⚠️ Dépannage

"Token expiré" :
Générez un nouveau token chez IBKR et saisissez-le dans la configuration.

"Requête introuvable" :
Vérifiez que l'ID de requête est correct et que la requête est active.

"Aucune donnée" :
Assurez-vous que toutes les sections requises sont activées dans la requête.

"Erreur lors de l'import" :
Consultez le log d'import pour plus de détails. Cause fréquente : champs manquants dans la requête.

⚠️ Recharger les trades historiques manquants (⚠️ badge sur les positions)

Le problème :
Dans le tableau de bord ou dans les listes de positions, un symbole ⚠️ apparaît à côté du nom du compte pour une position. L'infobulle indique "Données de trades manquantes — Aucune transaction n'a été importée pour cette position. La stratégie ne peut donc pas être reconnue automatiquement."

La cause :
La position elle-même est connue via le snapshot de portefeuille d'IBKR, mais les trades d'ouverture se situent avant le jour de trading le plus ancien importé jusqu'ici. C'est typique pour les LEAPS (options à long terme) ouvertes des mois ou des années avant le premier Flex Sync.

✅ La solution :
Depuis la Flex Query existante, lancer ponctuellement un export ad-hoc avec une plage de dates historique, télécharger en XML et importer via l'import XML. Il n'est pas nécessaire de créer une nouvelle Flex Query !
Étape par étape :
1. Lancer l'export historique chez IBKR
• Rechercher la Flex Query existante → cliquer sur Run
• Changer la période sur Custom Date Range
• Du : aussi loin que nécessaire (p. ex. 01/01/2024)
• Au : un jour avant le trade le plus ancien déjà importé
• Format : XML → confirmer Run

2. Télécharger le fichier XML et le sauvegarder localement

3. Importer dans Singularity Trader
• Comptes → Compte IBKR → "Configurer IBKR" → XML Import

4. Ce qui se passe lors de l'import
• Seuls les nouveaux trades sont importés (pas de doublons)
• Les stratégies, campagnes et Trade-Cycles sont recalculés

5. Vérifier le résultat
• Recharger le tableau de bord — le badge ⚠️ devrait avoir disparu

Si le ⚠️ persiste : Les trades d'ouverture sont encore plus anciens → lancer un autre run avec une date de début antérieure.

⚠️ 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. ✅ Contre-vérification : à quoi ressemble la requête terminée

Après l’enregistrement, IBKR affiche une page récapitulative (« Review your Activity Flex Query »). Comparez-la à cette référence — voilà à quoi votre requête doit ressembler lorsque tout est correct.
SectionOptions de type (ligne « Options: »)
Intérêts cumulés—
Transactions cashTous les sous-types (Dividends, Payment In Lieu Of Dividends, Withholding Tax, Deposits & Withdrawals, Broker/Bond Interest, Other Fees, Other Income …) + Detail
Frais CFD—
Rapport cash—
Transferts entrants et sortantsTrade Transfers
Informations P&L ForexTransaction
Attribuer activité—
Informations instrument financier—
Relevé de fondsBase Currency Summary, Currency Breakout, Include Starting and Ending Balances
Opérations sur titresDetail
Informations du compte—
Valeur d’actif net (NAV) en devise de base—
Positions ouvertesSummary (pas de « Lots »)
Dividendes cumulés—
Exercices, assignations et échéances d’options— (celle que presque tout le monde oublie !)
Positions de la période précédente—
TransactionsExecution uniquement — pas de « Closed Lots », pas de « Wash Sales », pas de « Orders »/« Asset Class »/« Symbol Summary »
Frais de transactionExecution uniquement (pas en plus « Summary »)
TransfertsTransfer (pas de « Lots »)
Modification de dividendes cumulésDetail (pas en plus « Summary »)

Delivery Configuration et General Configuration :

RéglageValeur
ComptesLe numéro de votre compte (p. ex. U1234567)
FormatXML
PériodeDerniers 30 jours calendaires
Pertes et profitsPar défaut
Inclure les paires de transaction/annulation compensatoires ?Non
Inclure les taux de change ?Non
Inclure les champs de piste d’audit ?Non
Afficher les alias de compte plutôt que le numéro de compte ?Non
Détailler par jour ?Non
Format dateyyyyMMdd
Format heureHHmmss
Séparation Date/Heure; (point-virgule)
💡 Notez l’ID de la requête
Le même aperçu affiche en haut l’ID de la requête (un nombre à 7 chiffres, p. ex. 1570627). Vous en aurez besoin avec le token à l’étape 8.