CSV-Import von Wertpapieren

Hallo, versuche seit geraumer Zeit eine neue Watchlist zu erstellen und dazu habe ich eine CSV-Datei defieniert, die die Wertpapier Grunddaten (ISN, WKN, Name,…) beinhaltet.
Mein Problem, ich bekomme diese Liste nicht komplett in PP importiert, es werden bei diesem Beispiel immer nur 11 von 19 Fonds übernommen.
Ich habe das Problem auch, wenn ich aus einer PP-Datei Wertapiere in eine andere PP-Datei übernehmen wii.

Hat jemand von euch ähnliche Probleme in letzter Zeit?

Wertpapierimport mit csv.zip (1,3 KB)

Hallo kretb,

was mir auf die Schnelle auffällt, ist, dass du neun Wertpapiere mit dem Tickersymbol “0” hast. Den ersten Fonds mit “0” nimmt PP noch an, die anderen acht dann scheinbar nicht mehr. 19 minus 8 sind 11.

Meine beste Vermutung

Bleib gesund

Hallo Harry Hirsch,
Danke, das ist die Lösung,

Wurde aber in die Irre geleitet, da von den 11 von 19 Wertpapieren, die sich bisher importieren liesen, an Pos. 2 ebenfalls ein Wertpapier mit Tickersymbol “0” war, auch wenn ich die letzten 8 Wertpapiere mit dem Tickersysmbol “0” in der csv weiter nach oben kopiere, werden genau diese 10 mit Tickersysmbol und immer genau das gleiche mit Tickersysmbol “0” übernommen.

Egal, logisch ist das nicht ganz, aber es funktioniert, nochmals Danke für den Tip - du hast mich auf den richtigen Weg gebracht - jedoch an die Programmier, da ist noch etwas leicht unplausibel

wahrscheinlich, weil beim ersten Import ein Wertpapier mit Ticker “0” angelegt wurde und beim zweiten Import eine eindeutige Zuordnung des Wertpapiers zu einem zu importierenden Wertpapier möglich war.

… oder es findet vor dem Importieren noch eine Sortierung nach einem anderen Feld statt.

Nur geraten

Viel Spaß weiterhin

klingt logisch.
Ist ein Wertpapier eindeutig definiert durch WKN und ISIN und Ticker und Namen?
Sind das die Mindestanforderungen an ein Wertpapier?

Andere Frage noch → gibt es bei den Reiter Historischen Kurse → Kurslieferant → “Tabelle auf einer Webseite” auch eine Möglichkeit, dass diese auch beim csv Import direkt eingetragen werden, veilleicht über das Import/Export-Konfigurations-File (*.JSON)?

das weiß ich leider nicht

Hallo zusammen,
ich muss meine PP-Dateien aufräumen und will neu aufsetzen. Dazu habe ich mir die einzelnen Wertpapierpositionen als CSV gespeichert. Wenn ich jetzt eine nackte, neue PP-Datei erstelle und meine CSV-Datei mit ISIN, Name, Währung, Börsenplatz (Yahoo-Ticker) importiere, verstehe ich nicht wie PP hier intern arbeitet um mir die Wertpapiere dann anzuzeigen:

  1. Hoppla! Ohne ein Konto und Depot anzulegen, kann ich keine Wertpapiere über CSV importieren.
  2. Wenn ich als Kontowährung EUR definiere, werden mir Wertpapiere in USD ohne Währungskürzel angezeigt, aber Euro-Wertpapiere mit Währung EUR.
    Ich hätte es genau anders herum erwartet. In meiner bestehenden Datei ist es nämlich genauso: EUR-Kurse ohne Währungsangabe, USD wenn Kurse von NYSE oder NASDAQ kommen.
  3. Bei CSV-Import ohne Währungsangabe versucht PP die Daten auf andere Börsenplätze umzustellen, nach welcher Logik auch immer. Das kann man glücklicherweise abwählen.
  4. Die „Vorgaben“ welche über den Yahoo-Ticker per CSV-Import mitkommen werden ohne explizite Währungsangabe ignoriert. z.B. AGI.TO (für Alamos Gold Inc., Börsenplatz Toronto und Währung CAD) wird dann in USD (ohne Kurs-Umrechnung) eingesetzt, anstelle CAD.
  5. Heilen bzw. korrigieren kann ich das leider nicht, z.B. durch einen nochmaligen Import der gleichen CSV-Datei, jetzt aber mit richtiger Währungskennung.
  6. Das bedeutet dann: Alles in PP wieder löschen und aufpassen das die CSV-Datei fehlerfrei vorausgefüllt ist. Mit Excel ist das ein kleineres Problem.

Mache ich hier etwas grundsätzlich falsch, oder kann noch irgendwo, und wenn ja, wie etwas einstellen?

Wie gesagt ich möchte sauber neu aufsetzen, um meinen historischen Ballast loszuwerden!

Vorab schon mal Danke für helfende Antworten

Hi,

bin kein CSV-Experte, aber hätte einen anderen Lösungsansatz.

  1. Lege eine Kopie von der alten Datei an und öffne diese Kopie in PP.
  2. In der Kopie bei “Alle Buchungen” mit STRG+A alles markieren, Rechtsklick und dann löschen
  3. Sie alten Konten und Depots kannst du entweder löschen oder umbenennen
  4. Wenn du manche Wertpapiere nicht mehr haben willst, kannst du die ebenfalls löschen
  5. Die Kopie per “Speichern unter” mit einem neuen Namen abspeichern.

Warum? Sowas braucht man nicht.

Du hast also etwas anderes gemacht als Stammdaten exportieren?

Vielen Dank für deine Antwort, das hatte ich mir auch schon überlegt, jedoch bisher gescheut:

  1. Bei dem Ansatz müsste ich die Positionen per Hand alle rausschmeißen, welche keine historischen oder aktuellen Buchungen haben.
  2. Ich kenne keine Filtermöglichkeit mit der ich das einstellen könnte.
  3. In meiner Datei sind 35 Jahre Börsenhistorie drin und über 1000 Wertpapierpositionen.
  4. Das per Hand zu bereinigen wäre eine Strafarbeit.

Weil mittlerweile auch benutzerdefinierte Felder per CSV importiert werden können, erschien mir der „Neustart“ als die bessere Strategie um eine Trennung z.B. von Depotpositionen und sonstigen Positionen wie Watchlist etc. zu erreichen.
Momentan ist alles in einem Riesentopf, welcher nur noch schwer handhabbar ist.

Weil meine PP-Datei mittlerweile eine Monstergröße erreicht hat, und ich die tatsächlichen historischen und aktuellen Depotwerte von dem anderen Rest befreien möchte.

Doch, ich habe die Stammdaten exportiert, aber auch hierbei sehe ich für mich Handlungsbedarf, um z.B. den Börsenplatz zu ändern auf die jeweilige Hauptbörse, auch wenn ich dort nicht direkt handle.

Ein Re-import mit geändertem Handelsplatz oder korrigierter Währung ändert eben nicht die Kurse des Wertpapiers.
Deshalb auch meine Frage nach möglichen Fehlern dabei.

Monstergröße kann eigentlich nur den historischen Kursen herrühren?
Deshalb würde ich erstmal die Wertpapiere komplett löschen zu denen keine Buchungen existieren. Und bei Wertpapieren die man mal hatte, aber voraussichtlich nicht noch einmal kaufen würde, die historischen Kurse auf die Haltezeit beschränken.

Das komplette Neuaufsetzen ist doch die noch kompliziertere Strafarbeit.

Vielen Dank für deine Antwort, ich denke jedoch das dies nicht so einfach umzusetzen ist, wie du schreibst.

Mein Problem ist, das ich meine PP-Datei über die Jahre mit Daten vollgestopft habe, was ich besser hätte anders machen sollen:

  • Konten mit Depots strikt trennen von den anderen Daten, die man meint behalten zu müssen (Watchlisten, Indizes , lange Kursverläufe … etc.)
  • mindesten Zwei unterschiedliche Dateien (Hinterher ist man eben immer schlauer :upside_down_face: )

Meine Börsenhistorie resultiert in ca.:
> 12000 Buchungen
> 600 historische und aktive Positionen
> 500 Positionen in Watchlisten etc.
> 10 historische und aktive Depots & Konten

Um hier gründlich aufzuräumen, ist ja auch mein primäres Ziel alles ohne Buchungen rauszuschmeißen.

Es gibt nur keinen Filter um “Alle Papiere ohne Buchungen” zu selektieren, oder aber ich habe ihn noch nicht gefunden?
Dann wäre es einfach und ich könnte den Ballast exportieren und diese Positionen löschen.
Derzeit bekomme ich für jedes Papier mit Buchung(en), die Meldung das ich es nicht löschen kann ==> Perfekt um sich sein Tracking nicht zu zerschießen, aber bedingt fürs große Aufräumen geeignet.
Manuell per Hand Position für Position bereinigen ist, denke ich, eine recht bescheidene Option.

Die Haltezeitbeschränkung historischer Kurse sieht für mich nach noch mehr Handarbeit aus, oder hast du Tricks & Tipps dafür?

Mein Ansatz über CSV-Export & Import ist bisher folgender:

  1. Alle Buchungen exportieren und daraus in Excel eindeutige ISIN & WKN extrahieren
  2. Alle Papiere exportieren und nur die Papiere mit Buchungen in eine neue PP-Datei importieren
  3. Alle Depots und Konten wieder anlegen
  4. Alle Buchungen importieren

Dann sollten der ganze Ballast bereinigt sein und ich hätte sauber nur den aktuellen Stand inkl. Historie in einer Datei, die dann hoffentlich deutlich schlanker ist.

Alternativen oder Erfahrungen mit solchen CSV / Aufräum-Aktionen sind in höchstem Maße willkommen!

Da gibt es eine Option für. Bin gerade nicht am PC aber ich meine unter alle Wertpapiere, Rechtsklick aufs Wertpapiere und dann im Kontextmenü kann man das auswählen.

Wenn du die unnötigen Kursdaten löscht, ist vermutlich die Datei bereits deutlich kleiner.

Nutzt du das .portfolio Format? Das ist auch nochmal kleiner.

Den Filter gibt es wahrscheinlich wirklich nicht, weil den bisher keiner brauchte.
Aber das herausfinden ist easy:

  1. Datei / Exportieren / CSV-Daten / Stammdaten ==> Stammdaten.csv
  2. Unter “Alle Buchungen”

    die Daten exportieren mit
    grafik
    (Bei den Buchungen habe ich ja doppelt soviel und mehr :wink: ) ==> Alle_Buchungen.csv

Mit den zwei Dateien spielst Du jetzt ein bischen rum. Falls Du kein gawk/grep hast, nimmst Du einfach was anderes.

gawk -v FS=";" 'NR>1 && $3!="" {print $3}' Alle_Buchungen.csv | sort -u > wertpapiernamen_mit_buchungen.txt

Das erzeugt eine Liste aller Wertpapiernamen, für die Buchungen existieren, namens wertpapiernamen_mit_buchungen.txt

gawk -v FS=";" 'NR>1 && $4!="" {print $4}' Stammdaten.csv | sort -u > wertpapiernamen_aus_stammdaten.txt

Das erzeugt eine Liste aller Wertpapiernamen, die in den Stammdaten vorkommen, namens wertpapiernamen_aus_stammdaten.txt

grep -v -f wertpapiernamen_mit_buchungen.txt wertpapiernamen_aus_stammdaten.txt > kann_man_loeschen.txt

Das erzeugt eine Liste mit allen Wertpapiernamen, die in den Stammdaten vorkommen und keine Buchungen haben. Bei mir wären das z.B.

cat kann_man_loeschen.txt 
€STR
ARERO
CNN Fear and Greed Index
ETF Bond EUR Eurozone Government
EZB Leitzins
fiktives Papier 10% p.a.
fiktives Papier 6,0% p.a.
fiktives Papier 8,0% p.a.
MOVE VOLATILITY (10y-Treasurys)
MSCI ACWI SPDR
Pyinvesting Fear and Greed Index
S&P 500
Stock Price Breadth NYSE
VALUG Value Line Geometric Index
VIX VOLATILITY (S&P 500)
VPI Deutschland (HVPI)
Wilshire 5000 Total Market Index

Einige wird man behalten wollen, weil es brauchbare Benchmarks sind, andere könnten wirklich weg. Echte Wertpapiere, die nur in einer Watchlist waren, aber nie gekauft wurden, sind bei mir aktuell nicht vorhanden.

EDIT: Laut gemini tut powershell mit

# 1. CSV-Dateien einlesen (Trennzeichen ist in Portfolio Performance standardmäßig das Semikolon)
$buchungen = Import-Csv -Path ".\Alle_Buchungen.csv" -Delimiter ";"
$stammdaten = Import-Csv -Path ".\Stammdaten.csv" -Delimiter ";"

# 2. Alle eindeutigen Wertpapiernamen extrahieren, für die Buchungen existieren
# Hinweis: Ersetzen Sie 'Wertpapiername' durch den exakten Spaltennamen aus Ihrer CSV, falls dieser abweicht.
$mitBuchungen = $buchungen | Where-Object { $_.Wertpapiername -ne "" } | Select-Object -ExpandProperty Wertpapiername -Unique

# 3. Alle Wertpapiernamen aus den Stammdaten extrahieren
$ausStammdaten = $stammdaten | Where-Object { $_.Wertpapiername -ne "" } | Select-Object -ExpandProperty Wertpapiername -Unique

# 4. Abgleich: Zeige alle Wertpapiere aus den Stammdaten, die NICHT in den Buchungen vorkommen
$kannManLoeschen = $ausStammdaten | Where-Object { $_ -notin $mitBuchungen }

# 5. Ergebnis in der Konsole anzeigen und als Textdatei speichern
$kannManLoeschen
$kannManLoeschen | Out-File -FilePath ".\kann_man_loeschen.txt" -Encoding utf8

das was ich oben mit gawk/grep gemacht hatte. Ausprobieren kann ich das nicht.

Send pics! Das kenne ich auch nicht.

Muss mich korrigieren, war so sicher das es das gibt. Aber scheine mich geirrt zu haben. Wäre dann doch wirklich ein praktisches Feature…

Vielen Dank für eure Antworten und Anregungen, welche mich letztendlich zu einer brauchbaren Lösung meines Problems gebracht haben!

Es gibt zwar keinen direkten Filter "Alle Papiere ohne Buchungen“, aber über die Hintertür kann man dieses Kriterium doch nutzen!

Mit der Kategorie Berichte → Performance → Wertpapiere ist alles vorhanden was jemals meine Depots beeinflusst hat.

Der Filter „Bestand ≠ 0“ oder „Bestand = 0“ darf jedoch nicht aktiv sein, um genau die Umkehrung von „Alle Papiere ohne Buchungen“ zu sehen.

Um dieses dann zu nutzen, habe ich bei „Alle Wertpapiere“ ein benutzerdefiniertes Feld (Attribut) „Behalten“ mit Typ „Ja/Nein“ eingefügt.
Nach CSV-Export genau dieser Berichtsansicht dann alle Einträge dieser Spalte der CSV-Datei auf „true“ gesetzt.

  1. Stolperstein: Wenn man dort „Ja“ stehen hat, wird das nach dem Re-Import als „Nein“ eingetragen. Die richtige Syntax dafür ist „true“ für „Ja“ und „false“ für „Nein“.
  2. Stolperstein: Der Re-Import mit benutzerdefinierten Attributen ist etwas eigenartig.
    Obwohl im ersten Schritt Datentyp „Wertpapiere“ ausgewählt ist, wird im nächsten Schritt die Anzeige auf Konten und Depots gewechselt, warum auch immer?!

Um hier nicht nichts falsch zu machen, habe ich sicherheitshalber meine CSV-Datei reduziert auf die Felder ISIN, WKN, Name und mein neues Attribut „Behalten“.

Das wurde dann reibungslos beim CSV-Import übernommen, und ich konnte mein Kriterium „Alle Papiere ohne Buchungen“ bzw. dessen Umkehrung in PP einbringen.

Alle Wertpapiere sortiert, mit fehlenden Eintrag „Ja“ im Feld „Behalten“ konnte ich somit problemlos ohne Fehlermeldung löschen.
==> Ziel erreicht :smiley:, ohne Position für Position händisch abzuklappern:
Nur noch Daten bzgl. Konten und Depots in der PP-Hauptdatei & Dateigröße und Inhalt um ca. 50% reduziert!

Hast du die Datei als .Portfolio gespeichert? Das sollte nochmal etwas bringen?

Ohne das binäre Dateiformat wäre ich schon längst aufgeschmissen gewesen!
Mir ging es auch darum, die angewachsene Unübersichtlichkeit zu beseitigen.
Jetzt kann ich endlich mit zwei PP-Dateien arbeiten, mit jeweils unterschiedlichem Fokus.
Alles Bestens jetzt, Danke!