Als Fortführung der Beiträge zu “Monte-Carlo-Simulationen” wird in zwei Artikeln das Thema “Simulation der Bewegungen von Aktienkursen” behandelt.
In Teil 1 wird die Grundlage vorgestellt, die es ermöglicht, eine zufällige Kursbewegung zu ermitteln und diese in einem Diagramm darzustellen.
Da es nicht Sinn und Zweck der Monte-Carlo-Simulation ist, eine einzelne oder einige wenige Zufallsergebnisse zu ermitteln, sondern eine sehr große Anzahl von Zufallsergebnissen, werden in Teil 2 die Berechnungen so zusammengefasst, dass es auf einfache Weise möglich ist, viele Ergebnisse abzurufen und grafisch darzustellen.
Zur Erläuterung der Funktionsweise werden im Folgenden als Datenbasis die Tagesschlusskurse von Adidas über einen Zeitraum von einem Jahr verwendet. Je nach Zielsetzung sollten für die Auswertung längere Zeiträume in Betracht gezogen werden (gegebenenfalls mit Wochenschlusskursen).
Dazu gilt: Die Ergebnisse sind umso aussagekräftiger je mehr die aktuellen unternehmensspezifischen und marktspezifischen Rahmenbedingungen denen der historischen Daten entsprechen. Sollten beispielsweise neue, aggressive Wettbewerber auftauchen, oder sollte eine Wirtschaftskrise aufkommen, so sind die Resutate mit Skepsis zu betrachten.
Sind die Simulationen dadurch nicht nutzlos?
Meine Einstellung dazu lautet, die Simulationen sind nicht nutzlos, allerdings sollten die entsprechenden Aktien in Ihrem Portfolio oder auf Ihrer Watchlist ständig beobachtet werden. Ändern sich die Grundlagen, so sollten Sie die Reißleine ziehen oder eine neue Simulation mit aktuellen Zahlen durchführen.
Doch nun genug der Vorworte, kommen wir zur Umsetzung, die Schritt für Schritt vorgestellt wird.
Schritt 1 – Download der Kursdaten
Für die Simulation wurden die Xetra-Kurse von Adidas für den Zeitraum vom 27.04.2017 bis zum 24.07.2018 von “Ariva” heruntergeladen. Den Service, die Kursdaten als csv-Datei zu exportieren, bieten aber die meisten bekannten Finanz- und Börsenportale an.
Schritt 2 – Öffnen der Datei mit Excel
Nach dem Öffnen der Datei sieht die Tabelle auszugsweise wie folgt aus:
Schritt 3 – Tabelle aufbereiten
Alle Spalten ausser dem Datum und der Schlusskurse werden gelöscht, da sie nicht benötigt werden. Die Schlusskurse werden als Währung mit dem €-Zeichen formatiert.
Schritt 4 – Tägliche Kursänderungen berechnen
Für Spalte C wird die Überschrift “Kursänderung” eingetragen und in die Zelle C2 wird die Formel “=LN(B2/B3)” eingesetzt. Anschließend wird die Formel für die restlichen Zellen in Spalte C übernommen.
In der letzten Zelle der Spalte erscheint eine Fehlermeldung, da der Zelle “B255” keinen Wert enthält.
Deshalb wird Zelle C254 gelöscht.
Schritt 5 – Zufallszahlen ermitteln
Für Spalte D wird die Überschrift “Zufallszahl” eingetragen und in die Zelle D2 wird die Formel “=ZUFALLSBEREICH(1;252)” eingesetzt. Anschließend wird die Formel für die restlichen Zellen in Spalte D übernommen.
Die Funktion “ZUFALLSBEREICH” gibt eine ganze Zufallszahl aus dem definierten Bereich aus. Hier also eine Zahl zwischen 1 und 252. Der Bereich ergibt sich aus der Anzahl von Zeilen mit Daten zu Kursveränderungen (von 2 bis 253 => 252).
Schritt 6 – Zufällige Kursänderungen ermitteln
Für Spalte E wird die Überschrift “Zufallsänderung” eingetragen und in die Zelle E2 wird die Formel “=KKLEINSTE($C$2:$C$253;D2)” eingesetzt. Anschließend wird die Formel für die restlichen Zellen in Spalte D übernommen.
Die Formel dürfte etwas erklärungsbedürftig sein. Der Bereich $C$2:$C$253 bezieht sich die Werte aller Kursänderungen in der Spalte C. Der Bereich wurde mit den $-Zeichen (Konstante) versehen, um die Zellen nach unten kopieren zu können, ohne den Inhalt zu verändern. Der Wert von “D2” bezieht sich auf die Zufallszahl, die ermittelt wurde.
Die Formel in “E2” bedeutet also, dass aus dem Datenbereich zwischen C2 und C253 der 241. kleinste Wert verwendet wird. Dazu noch ein kleines Beispiel:
In Spalte F haben wir eine Datenreihe mit 10 Zahlen. Mit der Formel wird oben nun der kleinste Wert aus der Datenreihe gesucht (also 1), danach der zweitkleinste Wert (also 2) etc.
Schritt 7 – Kursentwicklung berechnen
Für Spalte F wird die Überschrift “Kurs” eingetragen und in die Zelle F2 wird auf den letzten Kurs der verfügbar war verwiesen. Dieser befindet sich in Zelle “B2” und ist gleichzeitig der Startkurs zur Simulation der künftigen Kursentwicklung. In Zelle “F3 die Formel “=F2*EXP(E3)” eingesetzt. Anschließend wird die Formel für die restlichen Zellen in Spalte D übernommen.
Es wird also der Kurs mit einer zufällig ausgewählten Kursänderung aus dem Beobachtungszeitraum verknüpft. War die Änderung positiv, so wird der neue Kurs höher notieren, war er negativ, so wird der neue Kurs tiefer liegen.
Schritt 8 – Kursverlauf grafisch anzeigen
Hilfreich ist es, den ermittelten Kursverlauf grafisch darzustellen. Da die Vorgehensweise sich bei unterschiedlichen Versionen unterscheidet, möchte ich über die Vorgehensweise dazu hier nicht näher eingehen.
Mit dem Betätigen der “F9”-Funktionstaste, können Sie neue Zufallswerte generieren.
Da einzelne, zufällige Kursreihen nicht aussagekräftig sind und deshalb eine große Bandbreite von Kursentwicklungen gewünscht sind, soll im nächsten Artikel eine Vielzahl von Kursbewegungen ausgegeben werden.
2 Kommentare
Hallo Mathias,
wann dürften wir denn voraussichtlich mit dem 2. Teil der MC- Simualtion der Aktienkurse rechnen?
Sonnige Grüße
Johann
Autor
Hallo Johann,
tut mir leid, dass ihr solange auf den Artikel warten müsst, aber ich habe zur Zeit viel um die Ohren und bin desöfteren auf Reisen.
Aber in gut 3 Wochen habe ich Urlaub und dieser Beitrag steht ganz oben auf meiner ToDo-Liste, d.h. in KW 34 sollte er Online sein.
Auch Dir sonnige Grüße
Mathias