Snowli
March 9, 2026, 8:53pm
1
Hallo
Ich binn ein langjähriger Nutzer von Portfolio Performance und nutze dies wöchentlich.
Ich habe festgestellt dass nun in meiner Säule 3a von Finpension in der Schweiz neue Swisscanto Fonds hinzugefügt wurden die neu aufgelegt wurden.
Dazu gibt es meines wissens nach nur Historische Kurse auf Swiss Fund Data da dies auch Institutionelle Fonds sind.
Als Beispiel CH1529090479 und CH1529059946
Die Historischen daten können als CSV im Dropdown bei Fondspreise heruntergeladen werden.
Währe es möglich diese Kurse automatisch von der Website zu holen?
Wie kann ich allenfalls die CSV manuell einlesen?
Vielen Dank und Freundliche Grüsse
Hier finden Sie umfassende Daten, Dokumente und Mitteilungen zu Ihren Anlagefonds. Neueste Marktdaten geben Ihnen Einblicke in den Schweizerischen Fondsmarkt. Das MyFunds-Benutzerkonto gibt Ihnen die Möglichkeit, Ihre Fonds in einem Account...
Ein freundlich gemeinter Hinweis, die Suche oben rechts funktioniert und spart Zeit.
Was du suchst findest du auch im Handbuch:
1 Like
Snowli
March 9, 2026, 10:15pm
3
Danke für die Rückmeldung
Ich konnte ein Skript machen der mir die kurse Downloaded diese fur PP convertiert und ein output als CSV gibt. Dafür einfach diese Datein in einem Ordner speichern:
Die gewünschten downloads als “funds.txt” speichern beispiel:
Swisscanto (CH) Index Equity Fund Large Caps Switzerland NMT
CH1529090479
https://www.swissfunddata.ch/sfdpub/de/funds/excelData/194865
Swisscanto (CH) Index Equity Fund Small & Mid Caps Switzerland NMT CHF
CH1529059946
https://www.swissfunddata.ch/sfdpub/de/funds/excelData/194863
Swisscanto (CH) Index Equity Fund Emerging Markets NT CHF
CH0117044971
https://www.swissfunddata.ch/sfdpub/de/funds/excelData/35971
Dann folgenden code als “convert_pp.ps1”
param(
[string]$ListFile = ".\funds.txt",
[string]$OutDir = ".\output",
[string]$PriceColumn = "Chart Price"
)
$ErrorActionPreference = "Stop"
# Ordner erstellen
$OutDir = Resolve-Path -LiteralPath (New-Item -ItemType Directory -Path $OutDir -Force)
if (!(Test-Path $ListFile)) {
throw "Die Datei $ListFile wurde nicht gefunden."
}
$lines = Get-Content $ListFile | Where-Object { $_ -ne "" }
if ($lines.Count % 3 -ne 0) {
throw "Die funds.txt ist fehlerhaft. Jede Fondsdefinition muss genau 3 Zeilen haben (Name, ISIN, URL)."
}
for ($i = 0; $i -lt $lines.Count; $i += 3) {
$Name = $lines[$i].Trim()
$ISIN = $lines[$i+1].Trim()
$Url = $lines[$i+2].Trim()
Write-Host "--------------------------------------------"
Write-Host "[i] Verarbeite Fonds:" $Name
Write-Host " ISIN:" $ISIN
Write-Host " URL :" $Url
# Temporäre Datei
$TmpFile = Join-Path $env:TEMP ("pp_dl_{0}.csv" -f (Get-Random))
# Download
Invoke-WebRequest -UseBasicParsing -Uri $Url -OutFile $TmpFile
if (!(Test-Path $TmpFile) -or ((Get-Item $TmpFile).Length -eq 0)) {
Write-Host "[!] Download fehlgeschlagen!" -ForegroundColor Red
continue
}
$rows = Get-Content $TmpFile
$skip = 0
if ($rows[0] -match "^sep=") { $skip++ }
if ($rows[$skip] -notmatch "^Date;") { $skip++ }
$data = $rows | Select-Object -Skip $skip
$csv = $data | ConvertFrom-Csv -Delimiter ";"
if (-not ($csv | Get-Member -Name $PriceColumn -ErrorAction SilentlyContinue)) {
Write-Host "[!] Spalte $PriceColumn nicht gefunden!" -ForegroundColor Red
continue
}
# Dateiname erzeugen
$cleanName = ($Name -replace '[^A-Za-z0-9]+','_')
$OutFile = Join-Path $OutDir ("${cleanName}_${ISIN}.csv")
# Speichern im PP‑Format
$csv |
Select-Object `
@{Name="Date"; Expression={ $_.Date }},
@{Name="Close"; Expression={ ($_.("$PriceColumn") -replace ',', '.') }} |
Export-Csv -Delimiter ";" -NoTypeInformation -Encoding UTF8 -LiteralPath $OutFile
Write-Host "[ok] Gespeichert unter:" $OutFile
}
Write-Host "--------------------------------------------"
Write-Host "[done] Alle Fonds verarbeitet."
Und auch die “run.bat” im selben Ordner speichern:
@echo off
setlocal
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0convert_pp.ps1"
echo.
echo ===== FERTIG – Taste drücken =====
pause
Das Ergebnis ist ein Output ordner im selben verzeichnis der die fertigen CSV enthält welche in PP eingelesen werden können.
Könnte dieser prozess nun direkt in PP integriert werden sprich Swiss Fund Data als Kurs lieferant wo man dann disen Link angibt?
Vielen Dank
In PP hinterlegte Kursquellen verarbeiten keine csv files.
Weiterhin würde es keinen Sinn machen täglich oder wöchentlich csv‘s zu importieren.
Snowli
March 9, 2026, 10:46pm
5
@AndreasB
Meine frage ist, kann jemand dies in PP implementieren dass man diesen Link angibt und PP sich die Daten automatisch zieht…?
Ähnlich wie dazumals bei den CS Fonds von Viac
So was hatte ich mal kurz probiert, siehe VIAC Invest in Portfolio Performance einbinden - #10 by ProgFriese
Da ich aber zu wenig davon verstehe, mit Eclipse und git auf Kriegsfuß stehe, und ich selbst keine csv-Quelle benötige, hatte ich das einfach mal in den VIAC Invest Faden geschmissen, wurde dort aber nicht aufgegriffen.
Snowli
March 11, 2026, 6:44pm
7
Kann das nun jemand implementieren dass man die URL angibt und die kurse von PP gezogen werden?
Können vielleicht. Ob sich wer findet der seine Zeit investiert wird die Zeit zeigen.
Hallo Snowly
Ich stehe vor dem selben Problem mit dem “easy Invest” von Swissquote. Ich weiss nicht mal im Ansatz, wie ich das abbilden soll.
Und mit meinem Säule 3a von TrueWealth stehe ich auch vor einem Rätsel…
Weisst Du inzwischen mehr?
Grüsse zu Dir
Markus