Computational Finance Kapitel 2.1: Einführung in die Simulation Prof. Dr. Thorsten Poddig Lehrstuhl für Allgemeine Betriebswirtschaftslehre, insbes. Finanzwirtschaft Universität Bremen Hochschulring 4 / WiWi-Gebäude 28359 Bremen e-mail: poddig@uni-bremen.de 1
Gliederung: 2.1. Einführung 2.1.1. Finanzmarktentwicklungen 2.1.2. Random-Walk Modell 2.1.3. Generierung von Random-Walks 2.1.3.1. Simulationsmöglichkeiten mit Excel 2.1.3.2. Simulationsmöglichkeiten mit Matlab 2.1.4. Fallstudie: Der Cost-Average-Effekt 2
Jan96 Jul96 Jan97 Jul97 Jan98 Jul98 Jan99 Jul99 Jan00 Jul00 Jan01 Jul01 Jan02 Jul02 Jan03 Jul03 Jan04 Jul04 Jan05 Jul05 Simulation Kapitel 2.1 2.1.1. Finanzmarktentwicklungen Euro Stoxx 50 6000,00 5000,00 4000,00 3000,00 2000,00 1000,00 0,00 Datum 3
Häufigkeit Simulation Kapitel 2.1 Renditeverteilung Histogramm 30 25 20 15 Häufigkeit 10 5 0-0,2-0,15-0,1-0,05 0 0,05 0,1 0,15 0,2 Klasse 4
Beobachtungen: Renditen sind nicht normalverteilt Schiefe (linksschief, rechtssteil) Steilgipflig (hohe Wölbung ) aber vereinfachende Annahme für den Einstieg: Normalverteilung! 5
2.1.2. Random-Walk Modell Zahllose denkbare Renditegenerierungsprozesse. Einfaches Standardmodell: Random-Walk. Annahme: Effizienter Markt. Kursänderungen erfolgen nur aufgrund unerwarteter Neuigkeiten. Diese sind definitionsgemäß zufällig. 6
Einfacher Simulationsansatz: Random-Walk-Modell a) Random-Walk ohne Drift y 1 t y t t mit t standardnormalverteilte Zufallsvariable b) Random-Walk mit Drift mit y t y t 1 Driftkomponente t 7
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 Simulation Kapitel 2.1 Beispiel zweier Random-Walks ohne Drift Zwei Random-Walks 10 8 6 4 2 0-2 -4-6 -8-10 Random-Walk 1 Random-Walk 2 8
Anwendung des Random-Walk Modells zur Generierung von künstlichen Finanzzeitreihen Annahme: ε t sei normalverteilte, stetige Rendite in der Periode t Dann ergibt sich der Kurs K t nach: (1) K t K 1 e t t Durch Logarithmierung erhält man: (2) ln( t ) ln( Kt 1) ln( e ) ln( Kt1) t K t 9
2.1.3. Generierung von Random-Walks Denkbare Werkzeuge: Tabellenkalkulationen (Excel, Gnumeric) Add-Ins für Tabellenkalkulationen (z.b. PopTools) Mathematisch-statistische Werkzeuge (Matlab, Octave) Programmierung (z.b. Pascal, C, C++, Java, ) 10
2.1.3.1. Simulationsmöglichkeiten mit Excel a) mit Hilfe der Excel-eigenen Möglichkeiten eingebaute Funktionen VBA-Analysefunktionen VBA-Programmierung b) mit Hilfe von Plug-Ins SimTools PopTools und andere c) mit Matlab-Unterstützung 11
Mit VBA-Analysefunktion 12
Mit eingebauten Funktionen 13
Allgemeine Vorgehensweise zur Erzeugung beliebig verteilter Zufallszahlen 1. Erzeugung gleichverteilter ZV im Intervall [0,1] 2. Berechnung der Inversen der Verteilungsfunktion 3. Skalierung der transformierten ZV Anmerkung: Schritte 2. und 3. in vorheriger Abbildung simultan erfolgt. 14
F(x) Simulation Kapitel 2.1 Visualisierung anhand der (Standard-) Normalverteilung F(x) 1 1. Schritt: Gl. ZV, z.b. 0,6 0,9 0,8 0,7 0,6 0,5 0,4 0,3 F(x) 0,2 0,1 0-4 -3-2 -1 0 1 2 3 4 x 2. Schritt: Berechnung der Inversen 3. Skalierung 15
zu Schritt 3: Skalierung Formel: nach Schritt 2 besitzt die ZV y noch nicht den gewünschten Mittelwert und Standardabweichung; Skalierung (Umrechnung) dann erforderlich, liefert x. (3) x y y y x x 16
Dabei bedeuten: y μ y σ y μ x σ x Erzeugte ZV beliebiger Verteilung (z.b. F-Verteilung) Theoretischer Mittelwert von y Theoretische Standardabweichung von y Gewünschter Mittelwert von x Gewünschte Standardabweichung von x 17
Beispiel einer reskalierten, F-verteilten ZV 18
Formeln für F-verteilte Zufallsvariablen: Ist X ~ F m,n verteilt, so gilt für Erwartungswert und Varianz: (4) E( X ) n n 2 (5) 2n m n Var( X ) 2 m n 2 2 2 n 4 19
Häufigkeit Simulation Kapitel 2.1 Histogramm der erzeugten Renditen Histogramm 50 45 40 35 30 25 20 15 10 5 0 Häufigkeit -0,2 0 0,2 0,4 0,6 0,8 1 Klasse 20
Anmerkungen: linkssteile, rechtsschiefe Verteilungen können durch Multiplikation mit (-1) in linksschiefe, rechtssteile Verteilungen transformiert werden letztere erlauben die Simulation von Katastrophen neben der F-Verteilung erzeugt auch die Chi2-Verteilung schiefe Verteilungen die t-verteilung bietet sich für die Simulation von fat tails an 21
Rechnerübung: Erzeugung von Random-Walks mit normalverteilten Renditen F-verteilten Renditen Chi2-verteilten Renditen t-verteilten Renditen Achtung: Linksschiefe realer Renditeverteilungen beachten! 22
2.1.3.2. Simulationsmöglichkeiten mit Matlab a) randtool vorgefertiges Tool in Matlab grafische Benutzeroberfläche Erzeugung von Verteilungen vielfältigster Art Visualisierung Exportmöglichkeiten der ZV, z.b. um in Excel fortzufahren 23
24
b) mit Matlab-Konsole grundsätzliche Vorgehen genauso wie in Excel: gleichverteilte Zufallszahlen Nutzung der inversen (kumulativen) Verteilungsfunktion daneben weitere Funktionen zur direkten Erzeugung Funktion random zahlreiche Verteilungen siehe Online-Hilfe 25
gleichverteilte ZV erzeugen Inverse der Verteilungsfunktion, hier Normalverteilung mit μ=2 und σ=4 26
Name der gewünschten Verteilungsfunktion Verteilungsparameter, hier μ=0 und σ=1 Dimension der Outputmatrix 27
Rechnerübung: Erzeugung eines Random-Walk mit Matlab Annahme: normalverteilte (stetige) Renditen μ = 0,00671 σ = 0,06043 Simulation von Monatsrenditen, 240 Monate Grafische Darstellung des Random-Walks 28
29
Simulierter Random-Walk mit Matlab 4000 3500 3000 2500 2000 1500 1000 500 0 50 100 150 200 250 30
2.1.4. Fallstudie: Der Cost-Average-Effekt Einführendes Beispiel Einmalanlage: 1000 Laufende Anlage Periode Indexstand Anteile Wert Anlagebetrag Anteile Kum. Anteile Wert 0 100 10 1000,00 200 2 2,00 200,00 1 95 10 950,00 200 2,10526316 4,11 390,00 2 88 10 880,00 200 2,27272727 6,38 561,26 3 97 10 970,00 200 2,06185567 8,44 818,67 4 110 10 1100,00 200 1,81818182 10,26 1128,38 5 125 10 1250,00 10,26 1282,25 Behauptung: Laufende Einzahlungen sind vorteilhafter als Einmalanlage Gegenthese: kein Unterschied im Mittel Dritte Position: Einmalanlage vorteilhafter 31
Aufgabe: Wer hat recht? Simulation des Cost-Average-Effektes mit Excel Matlab Was kommt bei einem (beliebigen) Kursverlauf heraus? 32