
# StockPortfolio
**Selbst gehostete Depotverwaltung mit Rebalancing nach Toleranzbändern.**
[English](README.md) · Deutsch
[](CHANGELOG.md)
[](https://hub.docker.com/r/mangolila/stockportfolio)
[](LICENSE)
[Funktionen](#funktionen) · [StockInfo](#schwester-app-stockinfo) · [Schnellstart](#schnellstart) · [Konfiguration](#konfiguration) · [Benutzerhandbuch](docs/user-guide.md) · [Docker-Anleitung](docker/README.md)
StockPortfolio ersetzt die Rebalancing-Tabelle. Du legst Zielanteile und
Toleranzbänder fest; die App bewertet deine Bestände mit aktuellen Kursen und
zeigt, welche Positionen ihr Band verlassen haben und wie viele Stück du kaufen
oder verkaufen musst, um wieder auf Ziel zu kommen.
Sie richtet sich an Privatanleger, die zu Hause einen eigenen Server betreiben.
Die Kurse kommen von der Schwester-App
[StockInfo](https://github.com/MikeMitterer/stockinfo), die du selbst betreibst.

_Das Dashboard: oben die Depotgruppen, darunter die Positionen. Jede Zeile
zeigt Bestand, Ziel- und Ist-Anteil und die nötige Änderung in Stück. Pfeile
markieren Positionen unter (↓) oder über (↑) ihrem Band. Der Screenshot zeigt
das eingebaute Beispiel-Depot mit Testkursen._
> [!WARNING]
> Stelle StockPortfolio und StockInfo nicht ins Internet. Betreibe beide nur im
> Heimnetz und greife von außen über ein VPN zu, zum Beispiel WireGuard oder
> Tailscale.
## Funktionen
- **[Dashboard und Depotgruppen](#dashboard-und-depotgruppen)** – Positionen in sechs Gruppen mit Ziel- und Ist-Anteil, Bandstatus und nötiger Änderung in Stück.
- **Toleranzbänder und Termine** – Rebalancing, wenn eine Position ihr Band verlässt, zu festen Terminen oder beides.
- **[Rebalancing-Simulation](#rebalancing-simulation)** – Geschäfte durchspielen und Kosten, resultierende Anteile und die Finanzierung des Plans sehen. Gebucht wird nichts.
- **[Positionsdetails und Kursverlauf](#positionsdetails-und-kursverlauf)** – Kurschart von einem Monat bis „Max“, Bewertung und Fondsdaten wie TER und Volatilität.
- **[Sicherheitspuffer und Investitionsreserve](#berechnung-sicherheitspuffer-und-investitionsreserve)** – ein Barpolster behalten und sehen, wie viel frei investierbar ist.
- **Mehrere Depots** – jedes mit eigener Basiswährung, eigenen Beständen, eigener Instrumentauswahl und eigenen Einstellungen.
- **Währungsumrechnung** – Fremdwährungskurse werden mit Wechselkursen aus StockInfo umgerechnet; veraltete Kurse werden markiert, fehlende schließen die Position aus.
- **Wertverlauf** – täglich aufgezeichnete Depotwerte und ein Rückblick auf die heutigen Bestände zu früheren Kursen.
- **[Konten und Benutzerverwaltung](#konten-und-benutzerverwaltung)** – jedes Konto hat eigene Depots auf deinem Server.
- **Live-Abgleich** – offene Browser desselben Kontos aktualisieren sich gegenseitig, ohne neu zu laden.
- **Backup und Wiederherstellung** – JSON-Export je Depot; beim Einspielen zeigt die App den Inhalt und fragt vor dem Überschreiben nach.
- **Deutsch und Englisch, helle und dunkle Themes, Leseansicht für Mobilgeräte.**
## Die wichtigsten Funktionen
### Dashboard und Depotgruppen
Im Dashboard arbeitest du täglich. Die Positionen sind in ETFs, Aktien,
Anleihen, Edelmetalle, Geldmarkt und Cash gruppiert. Zu jeder Position siehst
du Bestand, Ziel- und Ist-Anteil, ob sie ihr Band verlassen hat und wie viele
Stück sie zurückbringen würden.
Bestände und Ziele lassen sich direkt in der Tabelle bearbeiten.
Bänder beziehen sich auf das Ziel: Bei 10 % Ziel und 6 % unterem Band löst die
Position bei 9,4 % aus.
### Rebalancing-Simulation

Unter _Rebalancing_ übernimmst du vorgeschlagene Geschäfte oder gibst eigene
Stückzahlen und Probe-Zielanteile ein. Der Plan zeigt die Kosten, die
resultierenden Anteile und Bänder und ob das Geld reicht. Reicht es nicht,
schlägt _Decken aus_ liquide Positionen zum Verkauf vor.
> [!NOTE]
> Rebalancing ist eine Simulation. Die App führt keine Orders aus und prüft
> nicht, ob ein Geschäft für dich geeignet ist.
>
> Gib die Orders bei deiner Bank auf und trage danach die Bestände im Dashboard
> nach.
### Positionsdetails und Kursverlauf

Öffne eine Position, um ihren Kursverlauf zu sehen, von einem Monat bis „Max“,
mit Kurs und prozentualer Veränderung auf zwei Achsen.
Der Reiter _Bewertung_ zeigt Marktwert, Ziel und Bänder; _Informationen_ listet
die Daten, die StockInfo für das Instrument liefert, etwa TER, Fondsgröße,
Anbieter und Volatilität.
### Berechnung, Sicherheitspuffer und Investitionsreserve

Unter _Einstellungen → Berechnung_ wählst du, wann rebalanciert wird: nach
Bändern, nach einem festen Termin in Monaten oder beides.
Dort legst du auch das Mindest-Handelsvolumen und den Sicherheitspuffer fest.
Der Sicherheitspuffer ist Geld, das du nie investieren willst.
Die Investitionsreserve zeigt, was übrig bleibt: Geldmarkt und Cash minus
Puffer. Sie dient nur der Information und löst keine Investition aus.
### Konten und Benutzerverwaltung

Konten, Sitzungen und Depots liegen in einer SQLite-Datenbank auf deinem
Server, nicht im Browser.
Du kannst dich von jedem Browser und Gerät aus anmelden und findest dieselben
Depots.
Admins legen Konten unter **Benutzerverwaltung** an und verwalten sie, können
aber die Depots anderer Konten nicht öffnen.
## Schwester-App StockInfo
StockInfo ist ein eigener Dienst, der Marktdaten sammelt. StockPortfolio läuft
nicht ohne ihn: Jeder Kurs, jeder Wechselkurs, jede Fondskennzahl und jeder
Kursverlauf kommt von deiner StockInfo-Instanz.
StockInfo funktioniert auch allein, etwa für Skripte oder Tabellenkalkulationen.
```mermaid
flowchart LR
Browser -- "App, /api/*" --> SP["StockPortfolio