Historische Performance und Volatilität

Volatilität

Der Begriff Volatilität findet häufig in den Wirtschaftswissenschaften Verwendung. In der Finanzmathematik ist sie Maß für die Schwankung von Finanzmarktparametern wie Aktienkursen und Zinsen. Die Volatilität ist hier definiert als die Standardabweichung der Veränderungen (auch Renditen, Returns) des betrachteten Parameters und dient häufig als Risikomaß.

Quelle: Wikipedia

Berechnung

In Portfolio Performance wird die Volatilität mit Hilfe der täglichen Veränderungen berechnet, die auch als Basis für die Datenreihen im Performance-Diagramm dienen.

In einem ersten Schritt werden die täglichen Werte entfernt, die auf ein Wochenende oder auf einen Feiertag fallen (Weihnachten, Ostern, Neujahr, 1. Mai). Zwar kann man im Programm auch Erträge für ein Wochenende erfassen, da es aber normalerweise keine neuen Kurse und damit keine Kursschwankungen gibt, werden diese dann ignoriert.

Anschliessend wird die Standardabweichung berechnet:

  • Durchschnittliche Veränderung errechnen
  • Für jeden Wert: Summe = Summe + ( täglicher Wert - Durchschnitt ) ^ 2
  • Standardabweichung = Wurzel aus (Summe / Anzahl der Werte)

Um die Berechnung z.B. in Excel nachzuvollziehen, kann man sich die Basisdaten über die Export Schaltfläche oben rechts als CSV speichern.

:page_with_curl: Source Code

Rendite / Volatilität

Im Rendite / Volatilität Blasendiagramm wird die historischen Performance (im Sinne des True-Time Weighted Rate of Return) gegen die Volatilität abgetragen. Die Basisdaten kann man über die Export Schaltfläche exportieren.

Semivolatilität

Die Semivolatilität betrachtet im Gegensatz zur Volatilität nur die negativen Abweichungen der erzielten Renditen zum arithmetischen Mittelwert der Renditen.

Dieses Risikomaß eignet sich sich insbesondere für Risikoverteilungen, die nicht symmetrisch sind, denn in den anderen Fällen entspricht die Semivolatilität multipliziert mit dem Faktor √2 dem Wert der Volatilität.

Quelle: Risikoprämien zweier Assetklassen eines Unternehmens, Tina Guendling

1 Like

Hallo,

das Thema Semivolatilität habe ich noch nicht so ganz verstanden, insbesondere der Vergleich tatsächliche Semivolatilität vs. gleichverteilte Semivolatilität.
Die Semivalatilität gibt mir ein Maß für die durchchnitlichen Schwankungen nach unten, oder? Also zu 68% unterschreiten die täglichen Schwankungen nicht den angegebenen Wert, richtig?

Und der Vergleich (im Tooltip)? Wenn meine tatsächliche Semivolatilität größer ist als die gleichverteilte, heißt das, meine Schwankungen nach unten sind im mittel größer als die nach oben?

Hallo Timo,

die Begrifflichkeit ist wie folgt:

  • Volatilität = gesamte Schwankungsbreite
  • Semivolatilität = negative Schwankungsbreite
  • gleichverteilte Semivolatilität = Semivolatilität entspricht 50% der Volatilität

Richtig.

@AndreasB Gibt es auch die Möglichkeit die Kreise im Verhältnis zum Anteil des Portfolios wachsen zu lassen?

PP ist echt ein super Tool, danke dafür! :slight_smile:

1 Like

Eine Bubblegrösse abhängig vom Anteil im Portfolio wäre natürlich super :blush:

Leider unterstützt die Grafikbibliothek das nicht…

Um die Varianz zu berechnen, müsste man doch nicht nur die Einzelabweichungen vom Mittelwert quadriert aufaddieren sondern auch hinterher durch die Anzahl an Werte teilen. Das finde ich im Quellcode aber nicht. Was habe ich hier nicht verstanden?

Standardabweichung ist dann die Quadratwurzel der Varianz und der Korrekturfaktor count/(count-1) kompensiert, dass man den Mittelwert auch nur schätzt, das ist alles klar.

1 Like

Ich glaube fast, du hast da einen Fehler gefunden, und in Zeile 146 und 147 muß jeweils das * count weg.

Ja, das ist falsch. (Das erklärt auch, warum der Wert so stark von der Länge des betrachteten Zeitraums abhängt …)

Ich werde das demnächst beheben; ich wollte ohnehin richtig annualisierte Werte einbauen.

Ich habe mir eine Übersicht über die historischen Volatilitäten und Renditen meiner Einzelwerte im Portfolio gemacht. Aktuell hat jede Position aber einen Kreis mit der gleichen Grösse. Wäre es möglich die Grösse der Kreise an die Grösse der Portfolioposition anzupassen?

2 Likes

Zu dem source code der Volatilitätsberechnung:

  1. Nur zu meinem Verständnis: Ich vermute, dass in dem array returns die täglichen Veränderungen drinstehen? Anders formuliert, pro Tag der Wert (Schlusskurs / Schlusskurs_Vortag - 1)?
  2. Ist die Formel inzwischen korrigiert? Ich sehe in Zeile 146/147 immer noch die Multiplikation mit count.
  3. Ich habe gelernt, dass man die Berechnung der Standardabweichung mit der Division durch (count - 1) durchführt, wenn es sich um eine Stichprobe aus einer zu schätzenden Grundgesamtheit handelt. Das ist aber meiner Ansicht nach hier nicht der Fall - ich will die Standardabweichung der gewählten Aktie in genau dem Zeitraum berechnen, der mich interessiert. Das ist keine Stichprobe und es gibt auch keine unbekannte Grundgesamtheit - alle Kurse sind bekannt. Daher müsste die Formel nicht durch (count - 1) teilen, sondern durch count. Spielt natürlich in der Realität, wo ich mit vielen Einzelwerten arbeite, so gut wie keine Rolle, aber manchmal geht’s halt ums Prinzip :wink:
  4. Wenn meine Annahme unter 1) richtig ist, warum wird der Wert dann noch einmal logarithmiert (logReturn)? Je mehr ich mir den Code anschaue desto weniger verstehe ich ihn.
1 Like

Inzwischen habe ich ein Excel Sheet mit den DAX Schlusskursen der letzten 12 Monate. Ich kann die von PP angezeigten Volatilitätswerte für die Zeiträume letzte 3 / 6 / 12 Monate exakt nachvollziehen, allerdings nicht mit den im Wiki verlinkten Source Code (sondern ohne Logarithmus, und unter Verwendung eines Korrekturfaktors, den ich dem Bereich ‘Wissen’ auf der Consors-Webseite entnommen habe).

  1. Wird inzwischen ein anderer Algorithmus verwendet und der verlinkte Source Code ist möglicherweise veraltet?
  2. Warum decken sich die von PP angezeigten (und von mir auf einem anderen Weg identisch berechneten) Volatilitätswerte nicht mit dem, was finanzen.net (unter DAX 30 / Vola/Rendite) anzeigt? Der 12 Monatswert passt noch so ungefähr, aber die 3 und 6 Monatswerte sind deutlich höher. Später: Ok, die Frage ziehe ich zurück - die DAX Volatilität auf boerse.de passt zu den PP Werten für alle drei Zeiträume (3 / 6 / 12 Monate). Logisch dass die 3-Monats-Volatilität deutlich unter den 12-Monats-Werten liegen muss - in dem 12-Monats-Zeitraum liegt ja noch der erste Covid-Crash.

Dann würde nach dem Fix ungefähr sowas rauskommen?


Momentan steigt die Vola ja mit zunehmendem Betrachtungszeitraum.
Das wäre eine schöne Erweiterung.
Vielleicht könnte man im Rendite/Vola-Diagramm mit TTWROR die Vola nicht annualisiert anzeigen, bei IZF-Einstellung jedoch annualisiert?

So, kleines Update.

  • Inzwischen hab ich auch die Berechnung über log(returns[ii]+1) begriffen, denke ich. Ein bisschen Verwunderung, dass das nirgendwo zurück de-logarithmiert wird, verbleibt, aber ich bin kein Finanzmathematiker.
  • Sobald man sich im Internet bei den üblichen Verdächtigen Volatilitätsdaten (z. B. zum DAX) anschaut, sieht man, dass sich die Zahlen für unterjährige Zeiträume unterscheiden (z. B. für eine 3- bzw. 6-Monats-Volatilität. Da haben boerse.de, boerse-online.de, onvista.de, finanzen.net durchaus substantiell unterschiedliche Zahlen, benutzen also unterschiedliche Formeln bzw. Algorithmen.
  • Intuitiv würde ich eine Berechnung vorziehen, die - bei gleicher Streuung - die gleichen Volatilitätswerte liefert, egal ob ich 1, 3, 6 oder 12 Monatsdaten anschaue. Eine solche Berechnung habe ich in Excel erstellt und mit Hilfe von synthetischen Kursdaten (mit einstellbarer durchschnittlicher Rendite und Streuung) validiert. Ich stehe da gerne zu einem weiteren Austausch zur Verfügung.

Mein Plan wäre, es wählbar zu machen; d.h. man kann dann sowohl IZF als auch TTWROR wahlweise annualisiert bekommen oder auch nicht, und die Volatilität ebenfalls. Beim Diagramm gäbe es dann nur eine Auswahlmöglichkeit für beide Achsen.

Die entsprechende Mathematik habe ich schon vor ein paar Wochen implementiert – schwieriger ist die Oberfläche, da bin ich auch wegen Zeitmangel noch nicht sehr weit gekommen.

1 Like

Gut Ding will Weile haben, bloß kein Stress :slight_smile: