Transaktion

Es wird unterschieden zwischen Transaktionen die sich nur auf Bankkonten beziehen oder solche bei denen ein Instrument beteiligt ist. Zudem können Transaktionen teilweise mittels PDF oder CSV importiert aber sicherlich manuell erfasst werden.

Transaktionsübersicht

Transaktionen in GT können aus vier verschiedenen Subsystemen stammen. Das folgende Diagramm zeigt diesen übergeordneten Ablauf:

graph LR
    M[Manuelle Erfassung] --> T((Transaktion))
    I[Import<br/>CSV / PDF] --> T
    SO[Dauerauftrag] --> T
    SIM[Simulationskopie<br/>Portfolio-Kopie] -.-> T
    T --> C[Konto-Transaktion<br/>Einlage, Auszahlung,<br/>Kontozins, Gebühr,<br/>Kontoübertrag]
    T --> S[Wertpapier-Transaktion<br/>Kauf, Verkauf,<br/>Dividende, Finanzierungskosten]
  • Manuelle Erfassung — der Benutzer erstellt jede Transaktion von Hand in der Anwendung. Alle Transaktionsarten werden unterstützt.
  • Import CSV/PDF — Wertpapiertransaktionen können aus Brokerabrechnungen über den Transaktionsimport importiert werden.
  • Dauerauftrag — wiederkehrende Einlagen, Auszahlungen, Käufe oder Verkäufe werden automatisch nach Zeitplan erstellt.
  • Simulationskopie (Portfolio-Kopie) — bei der Erstellung eines Simulations-Mandanten aus einer Algo-Strategie werden Transaktionen aus dem Hauptportfolio kopiert.

Welcher Ursprung erzeugt welche Transaktionsart

Nicht jeder Ursprung unterstützt jede Transaktionsart. Das folgende Diagramm zeigt die Zuordnung:

graph TD
    subgraph origins [Transaktionsursprung]
        M[Manuelle Erfassung]
        I[Import CSV/PDF]
        SO[Dauerauftrag]
        SIM[Simulationskopie]
    end
    subgraph cashtx [Konto-Transaktionen]
        DEP[Einlage]
        WD[Auszahlung]
        INT[Kontozins]
        FEE[Gebühr / Kosten]
        AT[Kontoübertrag]
    end
    subgraph sectx [Wertpapier-Transaktionen]
        BUY[Kauf]
        SELL[Verkauf]
        DIV[Dividende / Zins]
        FC[Finanzierungskosten]
    end
    M --> cashtx
    M --> sectx
    I --> BUY
    I --> SELL
    I --> DIV
    SO --> DEP
    SO --> WD
    SO --> BUY
    SO --> SELL
    SIM -.->|kopiert bestehende| cashtx
    SIM -.->|kopiert bestehende| sectx

Was eine Transaktion benötigt

Jede Transaktion verweist auf ein Bankkonto, eine Transaktionsart und eine Transaktionszeit. Je nach Art werden zusätzliche Daten benötigt. Durchgezogene Linien zeigen erforderliche Verweise, gestrichelte Linien bedingte.

graph TD
    TX[Transaktion] --> CA[Bankkonto<br/>immer erforderlich]
    TX --> TT[Transaktionsart]
    TX --> TIME[Transaktionszeit]
    TT --> CASH[Konto-Transaktion]
    TT --> SEC[Wertpapier-Transaktion]
    CASH --> AMOUNT[Betrag]
    CASH -.-> |Kontoübertrag| PAIR[Währungspaar +<br/>Verknüpfte Transaktion]
    SEC --> SA[Wertpapierdepot]
    SEC --> SECURITY[Instrument]
    SEC --> UNITS[Anzahl + Kurs pro Einheit]
    SEC -.-> |verschiedene Währungen| CP[Währungspaar +<br/>Wechselkurs]
    SEC -.-> |optional| COSTS[Steuer + Transaktionskosten]
    SEC -.-> |Anleihen| ACCR[Stückzinsen]
    SEC -.-> |Margin-Instrumente| CONN[Verknüpfte Transaktion]

Eigenschaften und Plausibilitäten

Bestimmte Plausibilisierungen werden unabhängig der Transaktionsart unterlassen bzw. durchgeführt.

  • Ob ein Konto überzogen werden darf, hängt vom Feld Sollzins des Kontos ab. Ist Sollzins leer, lehnt das Backend Transaktionen ab, die zu einem negativen Kontostand führen würden — dies gilt für das Erstellen, Bearbeiten und Löschen von Transaktionen. Ist ein Wert eingetragen (auch 0), ist eine Kontoüberziehung erlaubt.
  • Transaktionszeit:
    • Transaktionszeit von Wertpapiertransaktionen sind gemäss dem globalen Handelskalender definierten Handelstagen erlaubt.
    • Bezüglich der Transaktionszeit bei Konto Transaktionen gibt es keine Einschränkung.

Maximale Anzahl Transaktionen pro Klient

Die Gesamtzahl der Transaktionen pro Klient ist begrenzt. Den Höchstwert legt der Administrator über die globale Einstellung Anzahl möglicher Transaktionen pro Klient fest (Standardwert 5000, siehe Globale Einstellungen). Ist diese Grenze erreicht, können keine weiteren Transaktionen mehr hinzugefügt werden, bis bestehende Transaktionen gelöscht werden oder der Administrator den Höchstwert erhöht. Durch das Löschen von Transaktionen wird wieder Platz frei, da immer der aktuelle Bestand gezählt wird.

Verhalten beim Erreichen der Grenze

Je nach Herkunft einer Transaktion verhält sich GT beim Erreichen der Grenze unterschiedlich:

  • Manuell erfasste Einzeltransaktion: Die Erfassung wird mit einer Fehlermeldung abgelehnt.
  • Kontoübertrag und Wertpapieraktion (ISIN-Änderung, Wertpapiertransfer): Diese erzeugen mehrere zusammengehörige Transaktionen auf einmal. Sie werden abgelehnt, wenn die Grenze bereits erreicht ist. Liegt der Bestand noch darunter, wird die Aktion vollständig ausgeführt, auch wenn die Grenze dadurch geringfügig überschritten wird.
  • Import: Es werden so viele Positionen importiert, wie unter die Grenze passen. Die übrigen Positionen werden nicht importiert, bleiben aber in der Importliste erhalten, und es wird ein entsprechender Hinweis angezeigt.
  • Dauerauftrag: Auch automatische Ausführungen werden beim Erreichen der Grenze gestoppt. Die betroffene Ausführung wird als Fehler vermerkt und beim nächsten Lauf automatisch wieder aufgenommen, sobald wieder Platz vorhanden ist.

Import von Wertpapiertransaktion als CSV

Für den initialen Import der Transaktionen eines Portfolios ist CSV wohl die beste Alternative, vorausgesetzt die CSV-Datei enthält auch Angaben wie die Transaktionskosten und den Steuerbetrag bei den Wertpapiertransaktionen. Leider ergibt die Erfahrung, dass viele Handelsplattformen nur unvollständige CSV liefern. CSV-Dateien können nur indirekt über Transaktionsimport zu Transaktion werden, dabei wird wie bei PDF-Import eine Importvorlage der Import Vorlagengruppe benötigt. Gundlegende Vorteile von CSV sind:

  • Eine Anonymisierung ist wahrscheinlich nicht notwendig oder einfach zu bewerkstelligen.
  • Alle für eine Transaktion notwendigen Informationen könnten vorliegen.

Genauigkeit von Beträgen und Kursen

Für das Zahlenformat von Beträgen und Kursen wurde ein Kompromiss zwischen den Währungen Iranischer Rial und Bitcoin gefunden. Für den Iranischen Rial werden die Vorkommastellen und für Bitcoin die Nachkommastellen verwendet.

Vorkommastellen

Es sind maximal 14 Vorkommastellen für Beträge und Kurse möglich. Dies sollte für die Darstellung der Währung Iranischer Rial ausreichend sein.

Nachkommastellen

Grundsätzlich werden Beträge und Kurse intern mit 8 Nachkommastellen gespeichert. Dies kann zu kleinen Ungenauigkeiten führen. Ein reales Beispiel: Es gibt einen Zins von 1355.70 für die Menge von 1300 Anteilen, dies ergibt einen Zins von »1.04284615384615…« pro Anteil. In GT kann nur 1.04284615 eingegeben und gespeichert werden. Die Berechnung 1.04284615 x 1300 ergibt 1355.699995. Diese kleine Ungenauigkeit wird in der aktuellen GT Version noch sichtbar dargestellt.

Unterschiedliche Genauigkeiten bei Währungen

Die meisten Währungen haben eine Unterteilung von 100, wie beispielsweise der CHF, EUR, USD. Der Kuwait-Dinar ist eine Tausenderwährung, somit wird eine Genauigkeit von 3 Nachkommastellen erwartet. Bei Kryptowährungen wie dem Bitcoin werden 8 Nachkommastellen erwartet. Schliesslich gibt es auch Währungen die auf Nachkommastellen verzichten, dazu gehört der Japanische Yen. In der aktuellen Version kann GT dies noch nicht korrekt abbilden.

Automatische Korrektur von Wechselkurs oder Kurs/Div/usw

Es kann vorkommen, dass in den Transaktionsbelegen gerundete oder gekürzte Nachkommastellen angegeben sind. Aufgrund der Nachkommastellen einer Währung versucht das GT-Backend, den gewünschten Betrag der Kontobuchung möglichst durch Anpassung des Wechselkurses bzw. des Kurses zu erreichen. So wird z.B. aus der Kontobuchung CHF 2887.84995323 ein Betrag von CHF 2887.85 durch Anpassung des Wechselkurses, falls vorhanden, oder sonst durch Anpassung von Kurs/Div/usw. angestrebt. In der Realität wird in diesem Beispiel möglicherweise ein Betrag von CHF 2887.84999998 erreicht.