Interactive Brokers - Teilausführungen zusammenfassen und stornierte Buchungen ignorieren

In der Flex-Query von Interactive Brokers wird für jede Teilausführung ein eigener Trade erzeugt. Der Importer importiert diese 1:1, was zu deutlich mehr und damit unübersichtlicheren Buchungen führt.

Ich habe das geändert, alle Trades eines Tages vom gleichen Typ (Sell/Buy) mit gleichen Aktie und der gleichen Aktie werden zusammengefasst. Gebühren und Steuern werden addiert und ein neuer Durchschnittskurs berechnet.

Außerdem werden stornierte Trades nun ignoriert. Bisher wurden sie mit dem Kommentar, diese manuell zu löschen, importiert. Daran habe ich keinen Nutzen gesehen - und beim Zusammenfassen der Trades haben die stornierten Trades gestört.

Dieses Ticket ist als Referenz gedacht um es an die Committ-Nachricht zu hängen. Die Automatischen Tests mussten hierfür angepasst werden. Außerdem gerne Feedback, ob diese Änderun auch für die anderen interessant ist - und wie ich mich hier am besten abstimmen kann.

Ich möchte auch noch andere Dinge anpacken:

  • Import von USD-Trades für EUR-Stocks (funktioniert bei mir aber noch nicht mit den Unit-Tests…)
  • Import von Umbuchungen zwischen Währungskonten
  • Automatischer Import direkt über die Flex-Query-API

Gerne Feedback, wenn ich mich hier noch mit jemanden abstimmen darf (oder soll).

Und, eine Bitte zum Schluß: Ist mein erster Beitrag zu einem Open Source Projekt. Wenn ich etwas falsch gemacht habe oder gegen Gepflogenheiten verstoßen habe, war das keine Absicht. Ich lerne aber gerne dazu…

Viele Grüße aus Karlsruhe,
Roland

Hi Roland,

fasst du wirklich alle Trades des Tages für ein Symbol zusammen oder nur die einer ausgeführten Order? Ich bin grad an dem Thema short sells in PP importieren dran und hab eine Aggregation der Positionen mit den Attributen symbol, ibOrderID und order_time gemacht. Dann hast du zumindest die Käufe und Verkäufe logisch zusammen gefasst, die auf mehrere Ausführungen verteilt wurden.

Ich würde gerne schon die einzelnen orders in PP sehen und nicht, wenn ich mehrere Trades auf einen Wert am Tage habe nur die Zusammenfassung.

VG

1 Like

Tatsächlich habe alle an einem Tag zusammengefasst. Aber symbol / ibOrderID / tradeDate würde vielleicht mehr sinn machen?

tradeDate macht vielleicht mehr Sinn als order_time, da man so nicht über den Tag hinweg zusammenfassen würde?

Ich hänge aber gerade noch an den stornierten orders. Der Testfall in der TestIBFlexStatementFile09.xml gefällt mir nicht. Dort sind zwei trades drin, aus meiner Sicht die richtige und dann eine stornierte.

Ich beobachte bei mir in diesem Fall 3 Trades. Die richtige, die stornierte und eine inverse zur stornierten. Bei den letzten beiden der drei ist die ibCommission immer 0. Aus meiner Sicht sollte man die letzten beiden immer ignorieren - ich bin mir aber noch nicht sicher, wie ich diese sicher zuordnen kann.

Hi Roland,
order_time ist der Zeitpunkt, an dem die Order erstellt wurde. Die Ausführung kann ja erst später erfolgen. Beispielsweise durch eine Stop- oder Limit-Order oder durch eine Bracket Order mit Stop Loss und Gewinnmitnahme. Da macht die Ausführummgszeit (exec_time) des Trades dann eher Sinn.