CSV-Portfolioimport-Formatbeschreibung
Allgemeine Hinweise
Die Konfigurationen erfolgen innerhalb der INI-Dateien. Dabei gelten folgende Grundansätze:
- Normalisierung aller Zeilen, so dass Leerzeichen am Anfang und Ende ignoriert werden
- " oder ' für die Werte können genutzt werden, werden aber praktisch ignoriert. Die Zeichen sind damit jedoch als Sonderzeichen zu betrachten
- Zeilen mit # am Anfang werden ignoriert und können daher als Kommentar-Zeilen verwendet werden
Die INI-Konfiguration nutzt praktisch einen Transformationsalgorithmus, der ein Zielformat beschreibt für den Trade-Import. Die INI-Konfiguration nutzt daher alle Felder aus dem Trade-Import, die hier dann in der Position oder Default-Werten etc. zu beschreiben sind.
Nutzbare Import-Felder
Schlüssel
|
Typ
|
Benötigt (MUSS-Feld)
|
Automatischer
Abgleich mit den gleichnamigen Listen |
Hinweise
|
---|---|---|---|---|
ciName |
Zeichenkette | Empfohlen |
Titel für die Transaktion d.h. z.B. Aktienname. Der Name wird nur verwendet, wenn mit der ISIN der zugehörige Titel nicht gefunden werden kann. Der Name wird dann für die automatische Neuanlage genutzt.
|
|
ciOrdernummer |
Ganzzahlige Nummer | Empfohlen |
TRANSAKTIONSLISTEN |
Eindeutige Transaktionsnummer. Diese wird benötigt, um Dopplungen zu vermeiden und bei einem erneuten Reimport diese Transaktion zu überspringen. Die Order-Nummer sollte eineindeutig für ein Konto sein. |
ciDepot |
Zeichenkette |
Notwendig |
KONTEN |
Es wird praktisch der Name oder die Konto-Nummer des Kontos angegeben. Dabei erfolgt automatisch ein Vergleich auf einen möglichen Match mit allen vorhandenen Konten. |
ciBoerse |
Zeichenkette |
BÖRSEN |
Zuordnung zur genutzten Börse für die Transaktion. Es wird dabei der Name der Börsen entsprechend Einstellungen / Börsen verwendet. | |
ciISIN |
Zeichenkette |
Notwendig |
Wenn nur eine WKN vorhanden sein, so kann das Feld auch auf das WKN-Feld gesetzt werden. Dies sollte nur im Daten-Notfall erfolgen! |
|
ciTyp |
Zeichenkette |
Notwendig |
Erlaubte Typen sind:
Ist diese Zuordnung so nicht im Import-Format vorhanden muss mittels CiCheck.Pattern (s.u.) ein entsprechender Austausch automatisch vorgenommen werden. |
|
ciDatum |
Datum |
Notwendig |
Transaktionsdatum im Format: DD.MM.YYYY (wenn nicht durch Spezialattribute umgeschrieben) | |
ciZeit |
Zweit | Empfohlen | Transaktionsdatum im Format: hh:nn (wenn nicht durch Spezialattribute umgeschrieben) | |
ciKurs |
Gleitkommawert | Empfohlen |
Transaktionskurs z.B. Kaufkurs. Als Währung wird dabei immer Euro angenommen. Ein Wechsel ist aktuell noch nicht möglich! |
|
ciKursWährung | Zeichenkette | Empfohlen |
WÄHRUNGEN |
Währungskürzel für den importierten Transaktionskurs z.B. €, $ oder EUR, USD, GPD, NOK etc.. Alle Kurs, Volumen, Wert-Angaben werden dann in dieser Währung angenommen. Wird das Feld "ciKurswährungsumrechnung" angegeben, wird automatisch der zugehörige Umrechnungskurs zugeordnet. |
ciKurswährungsumrechnung |
Gleitkommawert | Empfohlen |
Wird hier ein Umrechnungskurs von der hinterlegten Währung zur Hauptwährung angegeben. Bitte beachten Sie, dass hier nur der Umrechnungskurs zur Portfolio-Währung hinterlegt werden kann z.B. EUR/USD, wenn EUR die Portfolio-Währung ist.
|
|
ciKurswährungsumrechnungInvert | Gleitkommawert | Optional |
Analog ciKurswährungsumrechnung allerdings mit 1/X ausgewertet. Am Beispiel von EURUSD, wird häufig USD-EUR angegeben d.h. 0.88. Sie müssen dann hier diesen Spalten-Wert nutzen!
|
|
ciWertWährung | Zeichenkette | Empfohlen |
WÄHRUNGEN |
Währungskürzel für den importierten Wertkurs z.B. €, $ oder EUR, USD, GPD, NOK etc.. |
ciWert |
Gleitkommawert | Optional |
Aktueller Gesamtwert der Position |
|
ciWertDatum |
Datum | Optional | Datum für den aktuellen Kurs | |
ciStk |
Gleitkommawert |
Notwendig |
Anzahl der Stücke für die Transaktion als Gleitkommawert | |
ciGewinn |
Gleitkommawert | Optional | Vorberechneter Gewinn der Transaktion für Verkaufstransaktionen | |
ciGewinnWährung | Zeichenkette | Empfohlen |
WÄHRUNGEN |
Währungskürzel für den importierten Gewinnwährungskurs z.B. €, $ oder EUR, USD, GPD, NOK etc.. |
ciGeb |
Gleitkommawert | Empfohlen | Höhe der Gebühren für die Transaktion. Ist keine Gebühr angegeben, wird über das Ordervolumen und den Kurs x Stück versucht eine Rückrechnung auf die Gebühr vorgenommen | |
ciGebWährung | Zeichenkette | Empfohlen |
WÄHRUNGEN |
Währungskürzel für den importierten Gebührenkurs z.B. €, $ oder EUR, USD, GPD, NOK etc.. |
ciEntscheidung |
Zeichenkette | Optional |
ENTSCHEIDUNGEN |
Legt den Einscheidungsantrag an ("Name" als Zuordnungsfeld) oder ordnet einen bestehenden zu |
ciBewertung |
Zeichenkette | Optional |
BEWERTUNGEN |
Legt den Bewertungsantrag an ("Name" als Zuordnungsfeld) oder ordnet einen bestehenden zu |
ciNotiz |
Zeichenkette | Optional | Freies Textfeld, was als Kommentar für die Transaktion hinterlegt wird | |
ciOrdervolumen |
Gleitkommawert | Optional |
Transaktionsvolumen inkl. Gebühren |
|
ciOrdervolumenWährung | Zeichenkette | Optional |
WÄHRUNGEN |
Währungskürzel für den importierten Ordervolumenkurs z.B. €, $ oder EUR, USD, GPD, NOK etc.. |
ciStatus | Zeichenkette "Offen" oder "" |
Optional | Wenn "Offen" dann wird diese Transaktion als "vorläufig" aufgenommen. Dies ist insb. für offene Verkaufsorder d.h. Stoppkurse interessant. Es gibt nur den Status "Offen" oder leer. |
Nutzbare Spezial-Attribute
Mittels folgender Spezialausprägungen können spezielle Konstellationen festgelegt werden. Die Attribute sind für alle Zuordnungs-Schlüssel technisch nutzbar. Logisch gibt es nicht in allen
Fällen eine Verwendung z.B. das .shorttimeformat macht nur für ciDatum.shorttimeformat Sinn, um das genutzte Datumsformat zu beschreiben.
Attribut
|
Beispiele
|
Hinweise
|
Interpretations-Vorrang-Regel
|
---|---|---|---|
ciXXX.Wert |
= XXXXX |
Konstanter Wert wird festgelegt unabhängig von den Werten in der auszulesenden Datei z.B. ciBoerse.Wert = 'Frankfurt' |
Wenn ein ".wert" vorgegeben wird, dann sticht dieser Wert d.h. wird immer verwendet |
ciXXX.decimalseparator |
="." Konkrete Beispiele:
|
Um zwischen europäischen und amerikanischen Zahlenformaten wechseln zu können, ist es möglich für einzelne Positionen das Dezimal-Trennzeichen separat festzulegen. | Der festgelegte Wert wird immer verwendet für den Wert. Im Default wird das deutsche Dezimaltrennzeichen mit "," verwendet. |
ciXXX.Standard |
= XXXXX |
Wenn im Datensatz kein Wert gefunden werden kann, wird stattdessen dieser Wert als "Rückfall-Wert" verwendet |
Wenn ein ".standard" vorgegeben wird, dann wird dieser verwendet, wenn keine Position zugeordnet wurde oder der Standardwert aus dem Datensatz leer ist |
ciXXX.shortdateformat |
= yyyymmdd Konkrete Beispiele:
|
Datumsformat entspricht hier 4stellige Jahreszahl, 2stelliger-Monat und 2stelliger-Tag |
Wenn ein ".shortdateformat" vorgegeben ist, dann wird hiermit der aktuelle Wert in das Standard-Datums-Format des lokalen Anwenders übersetzt nachdem aller vorherigen Regeln angewendet worden sind |
ciXXX.shorttimeformat |
= hh:nn:ss Konkrete Beispiele:
|
Zeitformat entspricht hier Stunden, Minuten, Sekunden |
Wenn ein ".shorttimeformat" vorgegeben ist, dann wird hiermit der aktuelle Wert in das Standard-Datums-Format des lokalen Anwenders übersetzt nachdem aller vorherigen Regeln angewendet worden sind |
ciXXX.Pattern |
= '(.*) STK' Konkrete Beispiele:
|
Der eigentliche Wert muss erst ermittelt werden mittels eines Pattern insb. wenn Zusatz-Daten im Feld verwendet werden wie EUR oder STK. Es sind hier für Perl-Reguläre-Ausdrücke zu verwenden mit einer Group-Match-Logik. Es wird dabei immer der Wert der 1. Match-Gruppe verwendet. Siehe auch |
Wenn ein ".pattern" vorgegeben ist, dann wird dieser am Ende angewendet. Wenn dies nicht möglich ist, wird der vorherige Ergebniswert beibehalten |
ciXXX.FilenamePattern |
= '.*(????????).csv' Konkrete Beispiele:
|
Im Dateinamen wird nach dem Wert mit dem angegebenen Pattern gesucht, wobei der gesuchte Wert in runden Klammern steht (regex-Logik). |
|
ciCheck.minimumfields | = 5 | Hiermit können bewusst unvollständige Datensätze ausgeschlossen werden. Die angegebene Anzahl sind die erwartete Anzahl von Datensätze (mit Semikolon getrennt) | Wenn vorhanden wird dieser Wert initial ausgelesen, um nicht geeignete Datensätze zu ignorieren. |
ciCheck.pattern.<nummer> |
.pattern.1 = '[8|9];' .replacement.1= Konkrete Beispiele:
oder
oder auch komplexe Varianten mit Austausch der Wert-Gruppen durch \1 \2 etc.
|
Hiermit ist der Austausch von kompletten Stringketten möglich. Dabei wird die Zuordnung zwischen Pattern und Replacement über reguläre Ausdrücke gemacht. Die Nummer sollte eindeutig sein und bei 1 beginnen. Sie wird solange fortgesetzt, bis kein Eintrag mehr in der INI zu finden ist. Das Ersetzen erfolgt dabei priorisiert VOR allen anderen Schritten und kann daher zur Standardisierung von bestimmten Zeichenketten am Anfang der Verarbeitung genutzt werden. Beispiel-Gruppe für drei automatische Ersetzen-Regeln: ciCheck.pattern.1 = '[8|9];' ciCheck.pattern.2 = '9-997/7713' ciCheck.pattern.3 = 'manuell' Siehe auch |
Die Regel werden startet bei 1 ...X durchgeführt. Der Abbruch erfolgt, wenn zur vorgehenden Nummer kein Nachfolgereintrag mehr gefunden wird. |
ciCheck.DefaultColumnSeparator |
|
Standard-Trennzeichen zwischen den Spalten, wenn es nicht ";" sein soll |
Konkrete Beispiele
- Im \Daten\Import-Verzeichnis finden Sie eine "Autoimport-Trades-Template.ini". Diese wird auch beim Hinzufügen eines neuen Profils im Editor verwendet. Es kann aber auch manuell zum Kopieren genutzt werden.
- Alle im \Daten\Import-Verzeichnis liegende Dateien mit ... können für eigene Tests verwendet werden
- Autoimport-Trades-*.ini
- Autoimport-Depotbestand-*.ini
- Autoimport-Aktienliste-*.ini