2.2

🔶 Configurar Interactive Brokers

Flex Query y sincronización automática

1. Descripción General

Interactive Brokers (IBKR) ofrece la integración más completa.

✅ Proceso:
1. Crear Flex Query
2. Descargar e importar Flex Query como XML para cada año
3. Obtener actualizaciones a través de Flex Sync
⚠️ Importante:
Flex Sync solo recupera actualizaciones de días recientes. La importación XML construye el historial completo. Sin historial completo, el sistema no puede evaluar correctamente las operaciones (p. ej., estrategias de opciones, campañas, ganancias forex).

2. ¿Qué es una Flex Query?

Una Flex Query es un informe personalizable de Interactive Brokers. Definas una vez qué datos deseas exportar, luego puedes recuperar este informe en cualquier momento - manual o automáticamente.

Beneficios:
• Todas las operaciones, dividendos, posiciones en un informe
• Sincronización automática posible
• Datos de los últimos 365 días disponibles
• No se requiere entrada de datos manual

Guía paso a paso

1

Paso 1: Crear Flex Query en IBKR

1. Inicia sesión en IBKR:
Ve a interactivebrokers.com e inicia sesión en tu cuenta.

2. Abre Flex Queries:
Navega a: Performance & Reports → Flex Queries

3. Elige el tipo de consulta correcto:
La página de Flex Queries muestra dos tipos de consulta, uno debajo del otro. Solo el primero es el correcto:
✅ Activity Flex Query
Esta es la correcta. Haz clic en el ➕ arriba a la derecha de este panel → «Create».
❌ Trade Confirmation Flex Query
¡No uses esta! Solo contiene confirmaciones de operaciones. sTraderZ.com no puede leer ningún dato de ella — la importación quedaría completamente vacía.
Mientras no hayas creado ninguna consulta, el panel de Activity Flex Query solo muestra un aviso de que no tienes plantillas. El ➕ sigue estando ahí — en la esquina superior derecha de ese panel.

ℹ️ No necesitas el botón «Configure with AI» — basta con seguir los pasos 2 y 3 de abajo, que enumeran todos los ajustes.
2

Paso 2: Configurar Flex Query

Nombre de la consulta: el que quieras, p. ej. «SingularityTrader».

Después ajusta la Configuración de entrega y la Configuración general exactamente así:
0 de 11 ajustes hechos
3

Paso 3: Seleccionar Secciones de Informe

Habilita todas las siguientes secciones en la Flex Query. La lista está aquí para irla marcando — tu progreso se guarda aunque recargues la página. Los nombres de las opciones de tipo (la línea «Options:») se indican en inglés, tal y como aparecen en el portal.
0 de 20 secciones habilitadas
⚠️ Campos frente a opciones de tipo — la diferencia decisiva

Campos (la lista numerada dentro de cada sección): usa siempre «Select All» — cuantos más, mejor. Los campos que faltan son la causa más frecuente de errores de importación.

Opciones de tipo (la línea «Options:» en la parte superior de una sección): aquí ocurre lo contrario — elige un solo nivel de detalle, exactamente el indicado arriba. Cada nivel adicional («Summary», «Orders», «Symbol Summary», «Lots») describe el mismo evento una segunda vez en otra fila. sTraderZ.com no evalúa el nivel de detalle, procesa todas las filas — por eso varios niveles pueden provocar operaciones, comisiones y posiciones contadas por duplicado. Excepción: «Closed Lots» y «Wash Sales» en la sección de operaciones no solo son redundantes, sino que deben estar desactivadas.
4

Paso 4: Guardar Consulta

Haz clic en "Continue" y luego en "Create".

Después de la creación, verás tu consulta en la lista. Toma nota del ID de Consulta - lo necesitarás pronto.
5

Paso 5: Generar Token de Flex Query

Para la recuperación automática necesitas una clave de acceso. IBKR la llama token — en sTraderZ.com la introducirás más adelante como Flex Token.

1. Abre el Flex Web Service:
En la página Flex Queries, baja del todo hasta el bloque «Flex Web Service Configuration» y haz clic en «Configure» (⚙️).

2. Activa el servicio:
En la página «Configure Flex Web Service», el estado del Flex Web Service debe estar activado. Si está desactivado, sTraderZ.com no puede recuperar la consulta — IBKR rechazará la petición.

3. Genera el token:
En la sección «Generate New Token»:
0 de 3 ajustes hechos
⚠️ El token se muestra una sola vez
Cópialo de inmediato y guárdalo de forma segura. Si lo pierdes, tendrás que generar uno nuevo — y al hacerlo, el token antiguo queda invalidado. Cualquier sincronización que siga usando el token antiguo fallará a partir de ese momento.

El token es válido durante 1 año. Cuando caduque, genera uno nuevo y guárdalo en la configuración de tu cuenta.
6

Paso 6: Exportación XML para Todos los Años

Exporta la Flex Query como XML para cada año de tu historial de trading:

1. Abre Flex Query:
En IBKR: Performance & Reports → Flex Queries

2. Ajusta el Rango de Fechas:
Edita la consulta y establece el rango de fechas en un año calendario (p. ej., 01/01/2023 - 12/31/2023)

3. Ejecutar Consulta:
Haz clic en "Run" y descarga el archivo XML

4. Repetir para Cada Año:
Repite los pasos 2-3 para todos los años que has operado en IBKR (p. ej., 2021, 2022, 2023, 2024).
7

Paso 7: Importación XML del Historial

Importa todos los archivos XML descargados en Singularity Trader:

1. Abre la Sección de Importación:
Ve a Accounts → Tu Cuenta IBKR → Configuration → "Upload XML"

2. Año Más Antiguo Primero:
Comienza con el archivo XML más antiguo (p. ej., 2021) y trabaja hacia adelante cronológicamente

3. Importa Todos los Años:
Importa todos los archivos XML secuencialmente hasta el año actual

⚠️ Importante: ¡Este paso es esencial! Sin historial completo, las estrategias de opciones, campañas comerciales y ganancias forex no se pueden calcular correctamente.
8

Paso 8: Configurar en Singularity Trader

1. Abre la Configuración de Cuenta:
Ve a Accounts → Tu Cuenta IBKR → Configuration

2. Ingresa Datos de Flex Query:
• ID de Flex Query: El ID de consulta de 7 dígitos de IBKR (se muestra en el resumen de la consulta, p. ej. 1570627)
• Token de Flex: El token que generaste en el paso 5

3. Guardar y Probar:
Haz clic en "Save" y luego en "Sync Now" para probar.
✨

Sincronización Automática

Después de una configuración exitosa, tus operaciones se sincronizan automáticamente diariamente. ¡No necesitas hacer nada más!

Qué sucede durante la sincronización:
• Se importan nuevas operaciones
• Se actualizan las posiciones
• Se registran los dividendos
• Se reconocen estrategias de opciones
• Se calculan ganancias forex (FIFO)

Siempre puedes sincronizar manualmente en cualquier momento si deseas los datos más recientes de inmediato.

12. Reintento automático en errores temporales

Las consultas de IBKR Flex pueden fallar puntualmente por diversas razones (p. ej. error temporal del servidor en IBKR, timeout de red, consulta en proceso). Singularity Trader dispone de una cola de reintentos automática:

• Si una sincronización falla, se reintenta automáticamente hasta 3 veces (con retroceso exponencial).
• Solo cuando todos los intentos fallan, aparece una entrada CRITICAL en el log del sistema y una notificación.
• Los problemas temporales suelen resolverse solos sin que tengas que intervenir.

Puedes ver el estado actual de sincronización en la sección de Cuentas — verde = último éxito, amarillo = reintento en curso, rojo = fallido tras 3 intentos.

13. Alternativa: Importación manual de XML

Si no deseas sincronización automática, puedes exportar la Flex Query manualmente:

1. En IBKR: Flex Queries → "Run" junto a tu consulta
2. Descargar: Guardar el archivo XML
3. Subir: En Singularity Trader → Cuentas → Configuración → "Subir XML"

Este método también es necesario para datos históricos (> 365 días), ya que Flex Sync solo alcanza 1 año atrás.

14. Datos importados de IBKR

Totalmente compatible:
• Trades de acciones (compra/venta)
• Trades de opciones con Greeks
• Futuros y Forex
• Dividendos (bruto, neto, retención fiscal)
• Intereses (haber/debe)
• Ejercicios y asignaciones de opciones
• Splits de acciones y fusiones
• Statement of Funds para FIFO de divisas

Reconocido automáticamente:
• Estrategias de opciones (Spreads, Iron Condors, etc.)
• Covered Calls / Cash-Secured Puts
• Campañas de trading
• Ganancias en divisas según § 23 EStG

15. 📥 ¿Datos del TradingLogbook? Lleva tus etiquetas.

📥 ¿Vienes del TradingLogbook?

Puedes trasladar tus estrategias etiquetadas a los trades ya importados — basta con símbolo + fecha de apertura. Listo en 3 minutos.

Al proceso de migración en 3 pasos

⚠️ Solución de problemas

"Token expirado":
Genera un nuevo token en IBKR e introdúcelo en la configuración.

"Consulta no encontrada":
Verifica que el ID de consulta sea correcto y que la consulta esté activa.

"Sin datos":
Asegúrate de que todas las secciones requeridas estén activadas en la consulta.

"Error al importar":
Revisa el log de importación para más detalles. Causa frecuente: campos faltantes en la consulta.

⚠️ Recargar trades históricos faltantes (⚠️ badge en posiciones)

El problema:
En el panel de control o en las listas de posiciones aparece un símbolo ⚠️ junto al nombre de la cuenta en una posición. El tooltip muestra "Datos de trades faltantes — No se importaron transacciones para esta posición. Por ello la estrategia no puede reconocerse automáticamente."

La causa:
La posición en sí es conocida mediante el snapshot de cartera de IBKR, pero los trades de apertura se encuentran antes del día de trading más antiguo importado hasta ahora. Esto es típico en LEAPS (opciones de largo vencimiento) abiertas meses o años antes del primer Flex Sync.

✅ La solución:
Desde la Flex Query existente, lanzar puntualmente una exportación ad-hoc con rango de fechas histórico, descargar como XML y subir mediante la importación XML. ¡No es necesario crear una nueva Flex Query!
Paso a paso:
1. Lanzar la exportación histórica en IBKR
• Buscar la Flex Query existente → clic en Run
• Cambiar el período a Custom Date Range
• Desde: tan atrás como sea necesario (p. ej. 01/01/2024)
• Hasta: un día antes del trade más antiguo ya importado
• Formato: XML → confirmar Run

2. Descargar el archivo XML y guardarlo localmente

3. Subir en Singularity Trader
• Cuentas → Cuenta IBKR → "Configurar IBKR" → XML Import

4. Qué ocurre durante la importación
• Solo se importan trades nuevos (sin duplicados)
• Se recalculan estrategias, campañas y Trade-Cycles

5. Verificar el resultado
• Recargar el panel — el badge ⚠️ debería haber desaparecido

Si el ⚠️ persiste: Los trades de apertura están aún más atrás → lanzar otro run con una fecha de inicio anterior.

⚠️ 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. ✅ Comprobación: así se ve la consulta terminada

Después de guardar, IBKR te muestra una página de resumen («Review your Activity Flex Query»). Compárala con esta referencia — así tiene que verse tu consulta cuando todo está correcto.
SecciónOpciones de tipo (línea «Options:»)
Devengo de intereses—
Transacciones en efectivoTodos los subtipos (Dividends, Payment In Lieu Of Dividends, Withholding Tax, Deposits & Withdrawals, Broker/Bond Interest, Other Fees, Other Income …) + Detail
Cargos CFD—
Informe de efectivo—
Transferencias de operaciones entrantes y salientesTrade Transfers
Detalles PyG de divisasTransaction
Conceder actividad—
Información de instrumento financiero—
Estado de los fondosBase Currency Summary, Currency Breakout, Include Starting and Ending Balances
Acciones corporativasDetail
Información sobre la cuenta—
Valor liquidativo (NAV) en base—
Posiciones abiertasSummary (sin «Lots»)
Abrir dividendos devengados—
Ejercicios, asignaciones y vencimiento de opciones— (¡la que más se olvida!)
Posiciones del período anterior—
OperacionesSolo Execution — sin «Closed Lots», sin «Wash Sales», sin «Orders»/«Asset Class»/«Symbol Summary»
Comisiones por transacciónSolo Execution (no además «Summary»)
TransferenciasTransfer (sin «Lots»)
Modificación en los dividendos devengadosDetail (no además «Summary»)

Configuración de entrega y Configuración general:

AjusteValor
CuentasEl id. de tu cuenta (p. ej. U1234567)
FormatoXML
PeríodoÚltimos 30 días naturales
Pérdidas y gananciasPredeterminado
¿Incluir pares de operaciones de compensación/cancelación?No
¿Incluir tipos de cambio?No
¿Desea incluir los campos de la pista de auditoría?No
¿Mostrar el alias en lugar del id. de la cuenta?No
¿Separar por día?No
Formato fechayyyyMMdd
Formato de tiempoHHmmss
Separador fecha/hora; (punto y coma)
💡 Anota el Query ID
Ese mismo resumen muestra arriba el Query ID (un número de 7 dígitos, p. ej. 1570627). Lo necesitarás junto con el token en el paso 8.