2.2

🔶 Interactive Brokers -asetukset

Flex Query ja automaattinen synkronointi

1. Yleiskatsaus

Interactive Brokers (IBKR) tarjoaa kattavimman integraation.

✅ Prosessi:
1. Luo Flex Query
2. Lataa ja tuo Flex Query XML:nä kullekin vuodelle
3. Hae päivitykset Flex Sync -toiminnolla
⚠️ Tärkeää:
Flex Sync hakee vain viimeisten päivien päivitykset. XML-tuonti rakentaa täydellisen historian. Ilman täydellistä historiaa järjestelmä ei pysty arvioimaan kauppoja oikein (esim. optiostrategiat, kampanjat, valuuttojen voitot).

2. Mikä on Flex Query?

Flex Query on Interactive Brokersin muokattava raportti. Määrität kerran, mitä tietoja haluat viedä, minkä jälkeen voit hakea raportin milloin tahansa — manuaalisesti tai automaattisesti.

Edut:
• Kaikki kaupat, osingot, positiot yhdessä raportissa
• Automaattinen synkronointi mahdollista
• Tiedot viimeiseltä 365 päivältä saatavilla
• Ei manuaalista tietojen syöttöä tarvita

Askel askeleelta -opas

1

Vaihe 1: Flex Queryn luominen IBKR:ssä

1. Kirjaudu IBKR:ään:
Siirry osoitteeseen interactivebrokers.com ja kirjaudu tilillesi.

2. Avaa Flex Queries:
Siirry kohtaan: Performance & Reports → Flex Queries

3. Valitse oikea kyselytyyppi:
Flex Queries -sivulla on lueteltuna kaksi kyselytyyppiä allekkain. Vain ensimmäinen on oikea:
✅ Activity Flex Query
Tämä on oikea. Napsauta ➕-symbolia tämän paneelin oikeassa yläkulmassa → "Create".
❌ Trade Confirmation Flex Query
Älä käytä tätä! Se sisältää vain kaupankäynnin vahvistukset. sTraderZ.com ei pysty lukemaan siitä mitään tietoja — tuonti jäisi täysin tyhjäksi.
Niin kauan kuin et ole vielä luonut yhtään kyselyä, Activity Flex Query -paneelissa näkyy vain ilmoitus, ettei sinulla ole malleja. ➕ on silti paikallaan — kyseisen paneelin oikeassa yläkulmassa.

ℹ️ Et tarvitse "Configure with AI" -painiketta — seuraa vain alla olevia vaiheita 2 ja 3, niissä on lueteltu kaikki asetukset.
2

Vaihe 2: Flex Queryn määrittäminen

Query Name: mikä tahansa haluamasi nimi, esim. "SingularityTrader".

Aseta sitten Delivery Configuration ja General Configuration täsmälleen näin:
0 / 11 asetusta tehty
3

Vaihe 3: Raporttikohtien valinta

Osioiden nimet on annettu englanniksi. Jos IBKR-portaalisi kieli on toinen, nimet näkyvät siellä käännettyinä.

Ota käyttöön kaikki seuraavat osiot Flex Queryssa. Lista on tarkoitettu rastitettavaksi — edistymisesi tallentuu, vaikka lataisit sivun uudelleen.
0 / 20 osiota käytössä
⚠️ Kentät vs. tyyppivalinnat — ratkaiseva ero

Kentät (kunkin osion sisällä oleva numeroitu lista): käytä aina "Select All" — mitä enemmän, sitä parempi. Puuttuvat kentät ovat yleisin tuontivirheiden syy.

Tyyppivalinnat (osion yläreunan "Options:"-rivi): tässä pätee päinvastainen sääntö — valitse vain yksi tarkkuustaso, täsmälleen se, joka on mainittu yllä. Jokainen lisätaso ("Summary", "Orders", "Symbol Summary", "Lots") kuvaa saman tapahtuman toiseen kertaan omalla rivillään. sTraderZ.com ei arvioi tarkkuustasoa, vaan käsittelee jokaisen rivin — useat tasot voivat siis johtaa kaksinkertaisiin kauppoihin, kuluihin ja positioihin. Poikkeus: Trades-osion "Closed Lots" ja "Wash Sales" eivät ole vain päällekkäisiä, vaan niiden täytyy olla pois päältä.
4

Vaihe 4: Queryn tallentaminen

Napsauta "Continue" ja sitten "Create".

Luomisen jälkeen näet queryn luettelossa. Merkitse muistiin Query ID — tarvitset sen pian.
5

Vaihe 5: Flex Query Token -luominen

Automaattista hakua varten tarvitset käyttöavaimen. IBKR kutsuu sitä nimellä token — sTraderZ.comissa syötät sen myöhemmin kenttään Flex Token.

1. Avaa Flex Web Service:
Vieritä Flex Queries -sivulla aivan alas lohkoon "Flex Web Service Configuration" ja napsauta "Configure" (⚙️).

2. Ota palvelu käyttöön:
Sivulla "Configure Flex Web Service" asetuksen Flex Web Service status täytyy olla enabled. Jos se on pois päältä, sTraderZ.com ei voi hakea kyselyä — IBKR hylkää pyynnön.

3. Luo token:
Kohdassa "Generate New Token":
0 / 3 asetusta tehty
⚠️ Token näytetään vain kerran
Kopioi se heti ja säilytä turvallisesti. Jos hukkaat sen, sinun on luotava uusi — ja se mitätöi vanhan tokenin välittömästi. Kaikki synkronoinnit, jotka yhä käyttävät vanhaa tokenia, epäonnistuvat siitä hetkestä alkaen.

Token on voimassa 1 vuoden. Vanhenemisen jälkeen luo uusi token ja tallenna se tilisi konfiguraatioon.
6

Vaihe 6: XML-vienti kaikille vuosille

Vie Flex Query XML:nä jokaiselle kaupankäyntihistoriasi vuodelle:

1. Avaa Flex Query:
IBKR:ssä: Performance & Reports → Flex Queries

2. Säädä aikaväli:
Muokkaa querya ja aseta aikaväliksi yksi kalenterivuosi (esim. 2023-01-01 – 2023-12-31)

3. Suorita query:
Napsauta "Run" ja lataa XML-tiedosto

4. Toista jokaiselle vuodelle:
Toista vaiheet 2–3 kaikille IBKR:ssä käymillesi vuosille.
7

Vaihe 7: Historian XML-tuonti

Tuo kaikki ladatut XML-tiedostot Singularity Traderiin:

1. Avaa tuontiosio:
Siirry kohtaan Tilit → IBKR-tilisi → Konfiguraatio → "Upload XML"

2. Vanhin vuosi ensin:
Aloita vanhimmalla XML-tiedostolla (esim. 2021) ja etene kronologisesti eteenpäin

3. Tuo kaikki vuodet:
Tuo kaikki XML-tiedostot peräjälkeen kuluvan vuoden loppuun asti

⚠️ Tärkeää: Tämä vaihe on oleellinen! Ilman täydellistä historiaa optiostrategioita, kaupankäyntikampanjoita ja valuuttojen voittoja ei voida laskea oikein.
8

Vaihe 8: Asennus Singularity Traderissa

1. Avaa tilin konfiguraatio:
Siirry kohtaan Tilit → IBKR-tilisi → Konfiguraatio

2. Syötä Flex Query -tiedot:
• Flex Query ID: 7-numeroinen kyselyn tunnus IBKR:stä (näkyy kyselyn yleiskatsauksessa, esim. 1570627)
• Flex Token: Vaiheessa 5 luomasi token

3. Tallenna ja testaa:
Napsauta "Tallenna" ja sitten "Synkronoi nyt" testataksesi.
✨

Automaattinen synkronointi

Onnistuneen konfiguraation jälkeen kauppasi synkronoidaan automaattisesti päivittäin. Sinun ei tarvitse tehdä mitään muuta!

Mitä tapahtuu synkronoinnin aikana:
• Uudet kaupat tuodaan
• Positiot päivitetään
• Osingot kirjataan
• Optiostrategiat tunnistetaan
• Valuuttojen voitot lasketaan (FIFO)

Voit aina synkronoida manuaalisesti, jos haluat uusimmat tiedot välittömästi.

12. Automaattinen uudelleenyritys väliaikaisissa virheissä

Automaattinen uudelleenyritys väliaikaisissa virheissä IBKR Flex -haut voivat epäonnistua kertaluonteisesti eri syistä (esim. lyhytaikainen palvelinvirhe IBKR:ssä, verkkoaikakatkaisu, kysely juuri käsittelyssä). Singularity Traderissa on tätä varten automaattinen uudelleenyritysjonon:

• Jos synkronointi epäonnistuu, se yritetään uudelleen automaattisesti enintään 3 kertaa (eksponentiaalisin väliajoin).
• Vasta kun kaikki yritykset epäonnistuvat, järjestelmälokiin ilmestyy CRITICAL-merkintä ja ilmoitus.
• Väliaikaiset ongelmat ratkeavat yleensä itsestään ilman toimenpiteitä.

Näet nykyisen synkronointitilan Tilit-osiossa — vihreä = viimeksi onnistunut, keltainen = uudelleenyritys käynnissä, punainen = epäonnistunut 3 yrityksen jälkeen.

13. Vaihtoehto: Manuaalinen XML-tuonti

Vaihtoehto: Manuaalinen XML-tuonti Jos et halua automaattista synkronointia, voit viedä Flex Queryn manuaalisesti:

1. IBKR:ssä: Flex Queries → Napsauta kyselysi vieressä "Run"
2. Lataa: Tallenna XML-tiedosto
3. Lähetä: Singularity Trader → Tilit → Asetukset → "Lähetä XML"

Tämä menetelmä on myös tarpeen vanhemmille tiedoille (> 365 päivää), koska Flex Sync kattaa vain 1 vuoden taaksepäin.

14. IBKR:stä tuodut tiedot

IBKR:stä tuodut tiedot Täysin tuettu:
• Osakekaupat (osto/myynti)
• Optiokaupat mukaan lukien Greeksit
• Futuurit ja Forex
• Osingot (brutto, netto, lähdevero)
• Korot (hyvitys/veloitus)
• Option käyttäminen ja luovutukset
• Osakkeiden splitit ja fuusiot
• Statement of Funds valuutta-FIFO:ta varten

Tunnistetaan automaattisesti:
• Optiostrategiat (Spreadit, Iron Condorit jne.)
• Covered Calls / Cash-Secured Puts
• Kauppakampanjat
• Valuuttavoitot § 23 EStG:n mukaan

15. 📥 Tulitko TradingLogbookista? Tuo tunnisteet mukanasi.

📥 Altdaten vom TradingLogbook? Tags mitnehmen.
📥 Tulitko TradingLogbookista?

Voit siirtää ylläpitämäsi strategiat tunnisteina jo tuotuihin kauppoihisi — Symboli + Avaamispäivä riittävät. Valmis 3 minuutissa.

Siirry 3-vaiheiseen siirtoon

⚠️ Vianmääritys

Vianmääritys "Token vanhentunut":
Luo uusi token IBKR:ssä ja syötä se asetuksiin.

"Kyselyä ei löydy":
Tarkista, että Query ID on oikea ja kysely on aktiivinen.

"Ei tietoja":
Varmista, että kaikki vaaditut osiot on aktivoitu kyselyssä.

"Virhe tuonnissa":
Tarkista tuontiloki tarkempia tietoja varten. Yleinen syy: Puuttuvat kentät kyselyssä.

⚠️ Puuttuvien historiallisten kauppojen lataaminen (⚠️ Merkki positioissa)

Puuttuvien historiallisten kauppojen lataaminen (⚠️ Merkki positioissa) Ongelma:
Kojelaudassa tai positiolistoissa näkyy position tilinimen vieressä ⚠️-symboli. Tooltip näyttää: "Puuttuvat kauppatiedot — Tälle positiolle ei ole tuotu yhtään tapahtumaa. Tämän vuoksi strategiaa ei voida tunnistaa automaattisesti."

Syy:
Positio itsessään tunnetaan IBKR:n portfolio-tilannekuvasta, mutta avauskaupat ovat vanhimman jo tuodun kaupankäyntipäivän edellä. Tämä on tyypillistä LEAPS-optioille (pitkäkestoiset optiot), jotka on avattu kuukausia tai vuosia ennen ensimmäistä Flex-Synciä.

✅ Ratkaisu:
Käynnistä olemassa olevasta Flex Querysta kertaluonteinen Ad-hoc-vienti historiallisella aikavälillä, lataa XML-muodossa ja lähetä XML-tuonnin kautta. Uutta Flex Queryä ei tarvitse luoda!
Askel askeleelta:
1. Käynnistä historiallinen vienti IBKR:ssä
• Etsi olemassa oleva Flex Query → Napsauta Run
• Aseta Ajanjakso Custom Date Range -tilaan
• Alku: niin kauas taaksepäin kuin tarpeen (esim. 01.01.2024)
• Loppu: päivä ennen vanhinta jo tuotua kauppaa
• Muoto: XML → Vahvista Run

2. Lataa XML-tiedosto ja tallenna paikallisesti

3. Lähetä Singularity Traderiin
• Tilit → IBKR-tili → "Muokkaa IBKR-asetuksia" → XML-tuonti

4. Mitä tuonnin aikana tapahtuu
• Vain uudet kaupat tuodaan (ei kaksoiskappaleita)
• Strategiat, kampanjat ja Trade-Cyclet lasketaan uudelleen

5. Tarkista tulos
• Lataa kojelauta uudelleen — ⚠️-merkin pitäisi olla kadonnut

Jos ⚠️ pysyy: Avauskaupat ovat vielä kauempana taaksepäin → Käynnistä toinen ajo aiemmalla alkupäivällä.

⚠️ 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. ✅ Tarkistus: miltä valmis kysely näyttää

Tallennuksen jälkeen IBKR näyttää yhteenvetosivun ("Review your Activity Flex Query"). Vertaa sitä tähän referenssiin — tältä kyselysi täytyy näyttää, kun kaikki on oikein.
OsioTyyppivalinnat ("Options:"-rivi)
Interest Accruals—
Cash TransactionsKaikki alatyypit (Dividends, Payment In Lieu Of Dividends, Withholding Tax, Deposits & Withdrawals, Broker/Bond Interest, Other Fees, Other Income …) + Detail
CFD Charges—
Cash Report—
Incoming/Outgoing Trade TransfersTrade Transfers
Forex P/L DetailsTransaction
Grant Activity—
Financial Instrument Information—
Statement of FundsBase Currency Summary, Currency Breakout, Include Starting and Ending Balances
Corporate ActionsDetail
Account Information—
Net Asset Value (NAV) in Base—
Open PositionsSummary (ei "Lots")
Open Dividend Accruals—
Option Exercises, Assignments and Expirations— (useimmiten unohtuva osio!)
Prior Period Positions—
TradesVain Execution — ei "Closed Lots", ei "Wash Sales", ei "Orders"/"Asset Class"/"Symbol Summary"
Transaction FeesVain Execution (ei lisäksi "Summary")
TransfersTransfer (ei "Lots")
Change in Dividend AccrualsDetail (ei lisäksi "Summary")

Delivery Configuration ja General Configuration:

AsetusArvo
AccountsTilinumerosi (esim. U1234567)
FormatXML
PeriodLast 30 Calendar Days
Profit and LossDefault
Include Offsetting Trade/Cancel Pairs?No
Include Currency Rates?No
Include Audit Trail Fields?No
Display Account Alias in Place of Account ID?No
Breakout by Day?No
Date FormatyyyyMMdd
Time FormatHHmmss
Date/Time Separator; (semi-colon)
💡 Merkitse Query ID muistiin
Samassa yhteenvedossa näkyy ylhäällä Query ID (7-numeroinen luku, esim. 1570627). Tarvitset sen tokenin ohella vaiheessa 8.