Vorschlag: Exposure-Ansicht und erweiterte Unterstützung für Derivate
Ich nutze PortfolioPerformance inzwischen auch für Portfolios, in denen neben Aktien, Anleihen und Fonds zunehmend Derivate eingesetzt werden. Dabei ist mir insbesondere eine Information aufgefallen, die mir für die Beurteilung eines Portfolios fehlt: das tatsächliche Exposure der einzelnen Positionen und des Gesamtportfolios.
Bei klassischen Wertpapieren liegen Marktwert und wirtschaftliches Exposure häufig relativ nah beieinander. Bei Derivaten ist das dagegen nicht der Fall. Ein Future, eine Option oder ein Knock-out-Zertifikat kann beispielsweise nur einen vergleichsweise kleinen Marktwert haben, gleichzeitig aber ein wesentlich größeres Exposure gegenüber einem Basiswert erzeugen.
Aus diesem ursprünglichen Wunsch nach einer Exposure-Ansicht ist bei mir daher ein etwas umfassenderer Proof of Concept zur Abbildung von Derivaten in PortfolioPerformance entstanden.
1. Exposure als zusätzliche Portfoliosicht
Neben Marktwerten könnten Positionen zusätzlich nach ihrem Exposure ausgewertet werden.
Sinnvoll erscheinen insbesondere zwei Größen:
- Nominal Exposure – Exposure ohne Deltaanpassung
- Delta-adjusted Exposure – insbesondere für Optionen
Damit können Long- und Short-Exposures getrennt dargestellt sowie Brutto- und Nettoexposures eines Portfolios ermittelt werden.
Im aktuellen Proof of Concept gibt es dafür eine eigene Ansicht unter Berichte → Vermögensaufstellung → Exposuremanagement.
Dort können unter anderem betrachtet werden:
- Exposure nach Basiswert
- Exposure nach Trading Symbol
- Exposure nach Fälligkeit
- Long-/Short-Aufteilung
- Gross Exposure
- Net Exposure
- Nominal vs. Delta-adjusted Exposure
- zeitliche Entwicklung des Exposures
Gerade bei Portfolios mit Optionen, Futures oder gehebelten Produkten halte ich diese zweite Sicht neben dem reinen Marktwert für hilfreich.
2. Derivate-spezifische Stammdaten
Damit diese Berechnungen möglich sind, habe ich die Wertpapierstammdaten optional um Derivateinformationen erweitert.
Für Optionen beispielsweise:
- Put / Call
- Strike
- Expiration Date
- Exercise Style
- Multiplikator
- Delta
- Basiswert / Underlying
Für Futures beispielsweise:
- Contract Month
- First Trading Day
- Last Trading Day
- Multiplikator
- Basiswert / Underlying
- Settlement-Art
Die zusätzlichen Informationen sind nur relevant, wenn das Wertpapier als entsprechender Derivatetyp verwendet wird.
3. Knock-out-Zertifikate
Zusätzlich habe ich Knock-out-Produkte berücksichtigt.
Dafür stehen unter anderem folgende Informationen zur Verfügung:
- Initiales K.O.-Level
- aktuelles K.O.-Level
- Bezugsverhältnis
- Emittent
- Emittenten-Produkt-ID
- Exposure Currency
Gerade bei Open-End-Knock-outs ist das aktuelle K.O.-Level keine statische Eigenschaft und kann deshalb separat gepflegt werden.
Für bestimmte Vontobel-Produkte existiert im Proof of Concept außerdem bereits ein automatischer Stammdatenabruf.
4. Marktwert und Exposure sind unterschiedliche Größen
Ein wichtiger Punkt der Umsetzung ist die Trennung zwischen Marktwert und Exposure.
Bei Optionen ist der Marktwert beispielsweise typischerweise:
Marktwert = Anzahl × Optionspreis × Multiplikator × FX
Das wirtschaftliche Exposure ergibt sich dagegen aus dem Basiswert und – beim delta-adjusted Exposure – zusätzlich aus dem Delta.
Bei Futures wiederum ist als Marktwert der Position insbesondere die offene bzw. unrealisierte P&L relevant, während der Nominalwert des Kontrakts für die Exposure-Betrachtung herangezogen werden kann.
Damit beantwortet PortfolioPerformance zwei unterschiedliche Fragen:
„Was ist meine Position heute wert?“
und zusätzlich:
„Welche Marktposition steckt wirtschaftlich dahinter?“
5. Import und automatische Erkennung
Ein weiterer Teil des Proof of Concept ist die automatische Erkennung bestimmter Optionssymbole.
US-Optionssymbole wie beispielsweise
IAG260918C00017000
enthalten bereits Informationen über:
- Basiswert
- Fälligkeit
- Put/Call
- Strike
Diese Informationen können automatisch in die Derivate-Stammdaten übernommen werden.
Zusätzlich habe ich die Erkennung bestimmter Interactive-Brokers-/Eurex-Symbole ergänzt, beispielsweise:
CSIE20260821305M
Ziel des Vorschlags
Mir geht es ausdrücklich nicht darum, PortfolioPerformance zu einem vollständigen Derivate- oder Risikomanagementsystem auszubauen.
Der wesentliche Nutzen wäre aus meiner Sicht vielmehr, dass PortfolioPerformance bei einem Portfolio mit Derivaten zusätzlich beantworten kann:
„Welchem Markt bin ich in welcher Größenordnung tatsächlich ausgesetzt?“
Die bestehende Vermögensaufstellung beantwortet sehr gut:
„Was ist mein Portfolio heute wert?“
Eine Exposure-Sicht ergänzt diese um die wirtschaftliche Perspektive.
Proof of Concept / GitHub
Ich habe hierzu bereits einen funktionierenden Proof of Concept auf Basis von PortfolioPerformance umgesetzt.
Der derzeitige Referenzstand ist:
- PortfolioPerformance-Basis: 0.87.0
- Feature Build: #84
- Status: success
- Commit:
6dd92ff372feab24302442006e641a7acaf9a15e
Build #84:
Referenz-Commit:
Stabiler Snapshot des Proof of Concept:
Aktueller Entwicklungsbranch:
Die Implementierung soll ausdrücklich nicht als fertiger Pull Request verstanden werden, sondern als technische Referenz und Diskussionsgrundlage. Datenmodell, UI und Berechnungslogik können selbstverständlich an die Architektur und Konventionen des PortfolioPerformance-Projekts angepasst werden.
Kleine Testdatei
Für einen möglichst einfachen Test habe ich zusätzlich eine kleine synthetische PortfolioPerformance-XML-Datei erstellt.
Sie enthält ausschließlich Demonstrationsdaten, unter anderem:
- 3 Aktien
- mehrere zugehörige Underlyings
- 3 klassische Optionen
- 3 Knock-out-Zertifikate
- Beispielpositionen zur Darstellung der Exposure-Berechnung
Die Datei enthält keine persönlichen Portfolio- oder Kontodaten.
Testdatei:
Damit sollten sich Stammdaten, Marktwertberechnung und Exposure-Ansicht mit dem oben genannten Build relativ schnell nachvollziehen lassen.
Ich würde mich über Feedback insbesondere dazu freuen, ob eine solche Exposure-Sicht grundsätzlich als sinnvolle Ergänzung für PortfolioPerformance angesehen wird und welche Teile davon aus Sicht des Projekts interessant wären.