Pseudozufallszahlen - Homepage of Stephan Kruegel

Werbung
Pseudozufallszahlen
Thema Nr. 14 des Seminars ”Ausgewählte Gebiete der Analysis und der linearen Algebra”
Annette Schielek, Max-Beckmann-Str. 14, 60599 Frankfurt
Matrikel-Nr. 2880312, Studienrichtung Wirtschaftpädagogik, 6. Fachsemester
Stephan Krügel, Mittelsteig 33, 90596 Schwanstetten
Matrikel-Nr. 2657396, Studienrichtung Betriebswirtschaft, 10. Fachsemester
INHALTSVERZEICHNIS
SYMBOLVERZEICHNIS ................................................................................................................................. III
1.
EINLEITUNG ..............................................................................................................................................1
2.
ZUFALLSZAHLEN.....................................................................................................................................1
2.1. ECHTE ZUFALLSZAHLEN ............................................................................................................................1
2.2. PSEUDOZUFALLSZAHLEN ...........................................................................................................................2
3.
GESCHICHTLICHE ENTWICKLUNG...................................................................................................3
3.1. VERFAHREN ZUR ERZEUGUNG ECHTER ZUFALLSZAHLEN ..........................................................................3
3.2. VERFAHREN ZUR ERZEUGUNG VON PSEUDOZUFALLSZAHLEN....................................................................4
3.2.1.
Middle-Square-Generator................................................................................................................4
3.2.2.
Algorithmus K (D. E. Knuth) ...........................................................................................................5
4.
LINEARER KONGRUENZ-GENERATOR.............................................................................................5
5.
GÜTE VON PSEUDOZUFALLSZAHLEN: STATISTISCHE TESTS..................................................8
5.1. CHI-QUADRAT-ANPASSUNGSTEST .............................................................................................................8
5.2. KOLMOGOROV-SMIRNOFF-ANPASSUNGSTEST .........................................................................................10
5.3. SERIELLE AUTOKORRELATION .................................................................................................................11
6.
ERZEUGUNG BELIEBIG VERTEILTER ZUFALLSZAHLEN (TRANSFORMATION) ..............11
6.1. ERZEUGUNG VON ZUFALLSZAHLEN BELIEBIGER (A,B)-GLEICHVERTEILUNGEN .......................................12
6.2. ERZEUGUNG VON EXPONENTIALVERTEILTEN ZUFALLSZAHLEN ...............................................................12
6.3. ERZEUGUNG VON NORMALVERTEILTEN ZUFALLSZAHLEN .......................................................................13
7.
ZUFALLSZAHLEN IN DER ANWENDUNG – DIE MONTE-CARLO-METHODE .......................14
7.1. GRUNDPRINZIP DER MONTE-CARLO-SIMULATION: EIN EINFACHES BEISPIEL ..........................................14
7.2. ALLGEMEINER ÜBERBLICK: LEITFADEN MONTE CARLO SIMULATION .....................................................15
I
7.3. SIMULATION STOCHASTISCHER PROZESSE ...............................................................................................16
7.4. AUSGEWÄHLTE PRAKTISCHE ANWENDUNGEN IN DEN WIRTSCHAFTSWISSENSCHAFTEN ..........................19
8.
LATIN-HYPERCUBE-METHODE.........................................................................................................19
9.
FAZIT UND AUSBLICK ..........................................................................................................................20
10.
LITERATURVERZEICHNIS ..................................................................................................................21
11.
ANHANG ....................................................................................................................................................23
11.1.
ALGORITHMUS K.................................................................................................................................23
11.2.
KOLMOGOROV-SMIRNOFF-TEST: RECHENBEISPIEL .............................................................................24
II
Symbolverzeichnis
X, x
Zufallsvariable, bzw. Pseudozufallszahl
U, u
Pseudozufallszahl zwischen 0 und 1
m
Modul, bzw. Teiler
µ = E(X)
Erwartungswert der Zufallsvariablen X
σ² = Var(X)
Varianz der Zufallsvariable X
σ
Standardabweichung
ρk
Autokorrelationskoeffizient k-ter Ordnung
U(a;b)
Gleichverteilung im Intervall [a;b]
N(µ;σ²)
Normalverteilung
E(α)
Exponentialverteilung
χ²(m)
Chi-Quadrat-Verteilung mit (m) Freiheitsgraden
K(n)
Kolmogorov-Smirnoff-Verteilung für Stichprobe der Größe n
α
Irrtumswahrscheinlichkeit
χ²
m, 1-α
(1-α)-Quantil der Chi-Quadrat-Verteilung
kn, 1-α
(1-α)-Quantil der Kolmogorov-Verteilung
Fxe
erwartete, theoretische Verteilungsfunktion
Fx
beobachtete, empirische Verteilungsfunktion
F-1
Umkehrfunktion
Z
beobachtete Häufigkeit
he
erwartete Häufigkeit
I
Intervall
INT
Integer
mod
modulo
a ≡ b mod m
a und b kongruent modulo m
III
1.
Einleitung
Bei der Entwicklung der Wasserstoffbombe in den fünfziger Jahren des vergangenen Jahrhunderts ließen sich Prozesse im Bereich der Kernfusion nicht experimentell erproben, sondern mussten auf elektronischen Rechenanlagen simuliert werden. Die simulierten Prozesse
folgten zum Teil stochastischen Gesetzmäßigkeiten, so dass Zufallsgrößen in die Berechnungen einfließen mussten.
Damit stand man vor dem Problem, woher man die benötigten Zufallsgrößen für die Berechnungen nehmen kann. Eine Urne neben den Rechner zu stellen und bei Bedarf jeweils eine
Zufallszahl zu ziehen und einzugeben, stellt keine befriedigende Lösung des Problems dar.
Deshalb ersann man Rechenverfahren, mit denen es möglich wurde, den Rechner selbst Zahlenfolgen erzeugen zu lassen, die sich wie Zufallszahlen verhalten sollten: Die Pseudozufallszahlen waren entstanden.
In den ersten Kapiteln werden Pseudozufallszahlen näher charakterisiert und ihre Eigenschaften dargestellt. Dann verfolgen wir die geschichtliche Entwicklung der Erzeugung von Zufallszahlen (Kapitel 3), erläutern in Kapitel 4 einfachen Algorithmus zur Generierung von
Pseudozufallszahlen und weisen auf seine Nachteile hin. In Kapitel 5 geben wir Testverfahren
zur Überprüfung der Güte von Pseudozufallszahlen an. Anschließend beschäftigen wir uns in
Kapitel 6 mit Verfahren zur Transformation gleichverteilter Pseudozufallszahlen in andere
Wahrscheinlichkeitsverteilungen. Abschließend folgt die Darstellung der Anwendung von
Pseudozufallszahlen in der Monte-Carlo-Methode und ihrer Variante, dem Latin-Hypercube
Verfahren (Kapitel 7 und 8).
2.
Zufallszahlen
Von Zufall sprechen wir, wenn es offen ist, ob ein Ereignis eintritt oder nicht, das Ereignis
also eintreten kann, aber nicht eintreten muss. Ein zufälliges Ereignis liegt vor, wenn es aus
einer gegebenen Gesamtheit von Bedingungen nicht mit Notwendigkeit folgt, sondern nur
eine gewisse Wahrscheinlichkeit für seinen Eintritt angegeben werden kann.
2.1.
Echte Zufallszahlen
Zufallszahlen sind Zahlen, die aus Zufallsexperimenten gewonnen werden, z.B. Münzwurf
oder Würfeln. Daraus ergeben sich folgende Eigenschaften:
1. Unvorhersehbarkeit: Nur eine Voraussage mit einer bestimmten Wahrscheinlichkeit
ist möglich.
2. Gleichverteilung: Jeder Wert in einem bestimmten Intervall besitzt ungefähr die gleiche relative Häufigkeit.
1
3. Unabhängigkeit: Keine Zahl hängt von einer anderen ab.
Die Gewinnung von Zufallszahlen unter realen Labor-, bzw. Feldversuchen ist sehr zeitaufwendig und kostenintensiv. Außerdem ist es schwierig, die Versuchsbedingungen konstant zu
halten. Bei manchen Experimenten wird das zu untersuchende Objekt oft beschädigt oder
zerstört. Ein Würfel kann sich abnutzen oder die Kugel in einem Roulette-Spiel bekommt eine
Delle. Die Wahrscheinlichkeiten für das Eintreten bestimmter Ereignisse ändern sich dann.
2.2.
Pseudozufallszahlen
Pseudozufallszahlen sind Zahlen, die durch einen mathematischen, deterministischen Algorithmus erzeugt werden1. Der Computer erzeugt als Zufallszahlengenerator diese Zufallszahlen. Er benötigt nur kurze Generierungszeiten und geringe Speicherkapazitäten. Dass errechnete Zahlenfolgen zufällig sein sollen, ist ein Widerspruch in sich. Der Computer simuliert
den Zufall, die Zahlenfolgen sind algorithmisch errechnet, sehen aber wie echte Zufallszahlenfolgen aus. Für wissenschaftliche Zwecke genügt es, dass sich die Zahlen „zufällig verhalten“. Sie werden pseudozufällige Zahlenfolgen genannt.
Die erzeugten Zufallszahlen müssen gute statistische Eigenschaften aufweisen, sie müssen die
gleichen wichtigen Eigenschaften wie echte Zufallszahlen haben2:
1. Unvorhersehbarkeit: Solange man den Algorithmus nicht kennt, weiß man nicht, welche Zahl als nächstes kommt.
2. Gleichverteilung: Die erzeugten Zahlen treten wie echte Zufallszahlen mit der gleichen Wahrscheinlichkeit auf. Wenn eine Folge von Zufallszahlen die Werte 0 bis 10
annehmen kann, dann erwartet man, dass jeder Wert mit der gleichen Wahrscheinlichkeit von 1/10 angenommen wird. Nach dem Gesetz der großen Zahlen wird sich der
Mittelwert der relativen Häufigkeiten dem erwarteten Wert von 1/10 annähern.
Aber nicht:
3. Unabhängigkeit, da die folgende Zahl aus der aktuellen Zahl errechnet wird.
Die Güte der Pseudozufallszahlen misst sich daran, in welchem Grad sie diese Eigenschaften
erfüllen. Man überprüft die Güte durch statistische Tests3, z.B. den χ²-Test.
Leider ergibt sich aus der Berechnung von Zufallszahlen ein großer Nachteil. Bei jedem Start
der Berechnung mit dem gleichen Startwert wird die gleiche Zahlenfolge erzeugt. Diesen Abstand zwischen zwei gleichen Zufallszahlen in einer Folge von Pseudozufallszahlen nennt
1
Vgl. Steinhausen, Kapitel 3.2.2.
Vgl. Steinhausen, Kapitel 3.3.
3
Vgl. Steinhausen, Kapitel 3.3.
2
2
man Periode. Die errechneten Zahlenfolgen sind periodisch, d.h. die Wiederholung einer Zufallszahl bedeutet regelmäßig den Start der gesamten, bisher berechneten Zufallszahlenfolge
in gleicher Reihenfolge. Man versucht die Periode durch geeignete Wahl des Startwertes und
der Parameter zu maximieren4.
Pseudozufallszahlen finden Anwendung in folgenden Bereichen:
1. Naturwissenschaften (z.B. Kernphysik, Thermodynamik)
2. Operations Research (z.B. Verkehrsflussprobleme)
3. Statistik (z.B. Stichproben als Qualitätskontrolle)
4. Mathematik (Gewinnung von Vermutungen)
5. Kryptographie (Durch Überlagerung mit einer Zufallsfolge erhält man einen Geheimtext, der durch reproduzierbare Zufallszahlen dekodiert wird)
6. Sicherheit und Zuverlässigkeit technischer Anlagen
7. Glücksspiele (z.B. Roulette)
8. Finanzwelt (z.B. Simulation von Aktienkursverläufen)
9. Ästhetik (z.B. Bilder auf dem Bildschirm wirken lebendiger)
3.
Geschichtliche Entwicklung
3.1.
Verfahren zur Erzeugung echter Zufallszahlen
Vor Einführung der Computer musste man zeitraubende Experimente tatsächlich durchführen
und die zufälligen Zahlenfolgen notieren. Der französische Naturforscher G. Buffon (1707 –
1788) schätzte den Wert der Zahl Pi, indem er Nadeln auf eine gestreifte Fläche warf und dabei zählte, wie oft die Nadeln die Linien berührten (Buffon-Nadel-Experiment)5.
Im ersten kommerziell hergestellten Computer (Ferranti Mark I) wurden echte Zufallszahlen
durch elektrisches Rauschen hergestellt. Man nennt so ein Gerät Rauschgenerator. Im Jahre
1955 druckte die RAND Corporation ein Buch mit 1.000.000 Zufallszahlen ab, die durch elektrisches Rauschen erzeugt worden waren6.
Ein weiteres bekanntes Beispiel für einen elektrischen Zufallsgenerator ist der Generator „Ernie“ (Electronic Random Number Indicator Equipment). Die Geräuschimpulse von Neonröhren werden durch Zähleinrichtungen in Zufallszahlen umgerechnet. Ernie wird verwendet bei
der staatlichen Lotterie in Großbritannien7.
4
Vgl. Knuth (1998): S.12.
Vgl. Hartmann (2004): S. 8.
6
Vgl. Hartmann (2004): S. 9.
7
Vgl. Hartmann (2004): S. 11.
5
3
Der Vorteil von „echten“ Zufallsgeneratoren ist, dass man „gute“ Zufallszahlen erzeugt. Es
gibt keine Periode. Der Nachteil ist, dass es unmöglich ist, die gleichen Zufallszahlen noch
einmal zu erzeugen, sie lassen sich nicht reproduzieren. Außerdem können sich die Wahrscheinlichkeiten, mit denen gewisse Zufallszahlen erzeugt werden, durch den Verschleiß der
Maschinen im Laufe der Zeit ändern.
3.2.
Verfahren zur Erzeugung von Pseudozufallszahlen
3.2.1.
Middle-Square-Generator8
Etwa 1946 entwickelte John von Neumann den ältesten algorithmischen Zufallsgenerator.
John von Neumann, der einer ungarischen Bankiersfamilie entstammte und während des Nazi-Regimes aus Deutschland in die USA auswanderte, gehörte zu den Physikern der LosAlamos-Scientific-Laboratory. Während des Zweiten Weltkriegs benötigten die Wissenschaftler Informationen darüber, wie weit Neutronen durch verschiedene Materialien gelangten, um das geeignete Material zur Abschirmung vor den Neutronen zu finden. Man simulierte diese Experimente auf dem Computer. Dieses geheime Projekt bekam den Codenamen
„Monte Carlo“. Es ist eine Anspielung auf den für Glücksspiel bekannten Ort. Seitdem wird
diese Methode der Simulation auch „Monte-Carlo-Methode“ genannte. Für diese Simulation
benötigte man sehr viele Zufallszahlen.
Man startet mit einer vierstelligen Zahl, quadriert sie und nimmt als nächste Zufallszahl wieder die mittleren vier Ziffern des Quadrats. Sollte das Quadrat nur aus sieben Ziffern bestehen, so wird die Zahl vorne mit einer Null ergänzt. Der Befehl INT streicht die Stellen hinter
dem Komma einer Zahl.
1. Wähle vierstelligen Startwert (Xo).
2. Setze für i = 1, ... , N:
X(i) := INT((x(i – 1)^2 / 100)
X(i) := X(i) – INT(X(i) / 10000) * 10000
i := i + 1
Beispiel:
Xo = 3123
3123² = 09753129
INT(09753129 / 100) = 97531
INT(097531 / 10.000) = 09 * 10.000 = 090000
097531 – 090000 = 7531
X1 = 7531
8
Vgl. Hartmann (2004): S. 12 - 14.
4
Dieser einfache Algorithmus ist zwar leicht zu implementieren, doch besteht die Gefahr, dass
der Zyklus/Periode sehr klein ist oder auf Null abstürzt9. Der Startwert 1944 liefert nach 13
Rechenschritten das Ergebnis 0. Der Middle-Square-Generator besitzt deshalb nur noch historische Bedeutung.
3.2.2.
Algorithmus K (D. E. Knuth)10
Auch der amerikanische Informatik-Professor Donald Knuth hat einen Algorithmus entwikkelt, mit dem er allerdings Schiffbruch erlitt. Dieser Algorithmus sollte nur absolut zufällige
oder wenigstens einen unendlichen Vorrat „unglaublich zufälliger Zahlen“ liefern. Knuth
nannte sie „superzufällig“11. Man geht von einer zehnstelligen positiven Zahl X aus. Trotz 13
komplizierten Rechenschritten konvergiert der Algorithmus bei manchen Startwerten relativ
schnell gegen 6 065 038 420. Dieser Wert wiederholt sich dann jeweils nach 44 Iterationsschritten. Knuth meinte daraufhin: „Zufallszahlen sollte man nicht mit einer zufällig gewählten Methode erzeugen. Etwas Theorie kann nicht schaden.“ Der Aufbau des Algorithmus
kann im Anhang unter Punkt 11.1 eingesehen werden.
4.
Linearer Kongruenz-Generator12
Bessere Ergebnisse liefern die sogenannten Kongruenzgeneratoren, die auch am gebräuchlichsten sind. Der Lineare Kongruenz-Generator wurde 1949 von dem amerikanischen Mathematiker D. H. Lehmer (1905 – 1991) entwickelt. Diese Methode ist noch ein Bestandteil
vieler Zufallsgeneratoren, obwohl es mittlerweile besserer Nichtlineare- und InverseKongruenzgeneratoren gibt.
Das Bildungsgesetz des Linearen Kongruenz-Generators lautet13:
xi+1 = (a * xi + c) mod m
(1)
Es erinnert an eine lineare Geraden-Gleichung der Form y = mx + b.
Beim Linearen-Kongruenz-Generator geht es aber um die Kongruenzrechnung, auch Modulorechnung genannt: Zwei ganze Zahlen a, b nennt man kongruent modulo m, wenn man bei a
und bei b mit Division durch m den gleichen Rest erhält. Man schreibt a ≡ b mod m. Man
nennt m den Modul der Kongruenz.
9
Vgl. Steinhausen, Kapitel 3.2.2.2
Vgl. Knuth (1998): S. 5 f.
Vgl. Knuth (1998): S. 6.
12
Vgl. Hartmann (2004): S. 32 – 37, Knuth (1998): S. 10 - 25.
13
Vgl. Steinhausen, Kapitel 3.2.2.2.
10
11
5
Regeln für Kongruenzen:
1. Aus a ≡ a’ mod m, b ≡ b’ mod m folgt
a + b ≡ (a’ + b’) mod m, a b ≡ (a’ b’) mod m
2. In einer Kongruenz modulo m darf man eine Zahl a durch eine zu ihr kongruente ersetzen:
Statt a = 7 modulo 5 (Rest 2) kann man auch 12, 17, 22 ... wählen, da 12 : 5, 17 : 5 ... Rest 2
ergibt.
Die Folge xi+1 = (a * xi + c) mod m hängt von 4 ganzzahligen Parametern ab14:
m>0
Multiplikator a, 0 ≤ a < m
Verschiebung c, 0 ≤ c < m
Startwert X0, 0 ≤ X0 < m
Man nimmt einen Startwert, multipliziert mit der Konstanten a, addiert c. Diesen Wert dividiert man durch m. Der Divisionsrest wird als neue Zufallszahl verwendet. Ist c = 0 spricht
man von der multiplikativen Kongruenzmethode15.
Xi+1 ist eine ganze Zahl zwischen 0 und m. Eine Division durch den Modul m bildet die Pseudozufallszahl anschließend auf das Intervall (0,1) ab. Man erhält (0,1)-gleichverteilte Zufallszahlen.
Werden die Parameter Startwert X0 = 7, a = 21, c = 3 und m = 17 gewählt, so erhält man folgende Zufallszahlen, wobei schon nach vier Schritten die Zahl 7 wieder auftritt (Periode)16:
i
Xi+1 = (a * xi + c) mod m
Zi = Xi / m
1
21 * 7 + 3 (mod 17) = 14
0,823529
2
21 * 14 + 3 (mod 17) = 8
0,470588
3
21 * 8 + 3 (mod 17) = 1
0,058824
4
21 * 1 + 3 (mod 17) = 7
0,411765
5
21 * 7 + 3 (mod 17) = 14
0,823529
Tabelle 1: Bildung einer Zufallszahlenfolge (X0 = 7, a = 21, c = 3 und m = 17)
Ein großer Vorteil des Linearen Kongruenz-Generators: Er ist einfach zu programmieren. Ein
Nachteil ist, dass die Perioden, wie man oben an dem Beispiel sieht, sehr kurz sein können. Je
nach Wahl der Parameter a, c, m, können sehr unterschiedliche Zahlenfolgen entstehen.
Hier sind einige Beispiele für a und m, wobei c = 0 (multiplikative Kongruenzmethode)17:
14
Vgl. Knuth (1998): S. 10.
Vgl. Steinhausen, Kapitel 3.2.2.3.
16
Vgl. Steinhausen, Kapitel 3.2.2.3.
15
6
m
a
Periode
231
216+3
229
235
513
233
231-1
16807
231
Tabelle 2: Beispiele für Periodenlänge bei gegebenen Parametern
Die Periode beträgt maximal m, deshalb sollte m eine Zweier- oder Zehnerpotenz sein. Unter
folgenden Voraussetzungen wird die Periode maximal18:
1. c und m sind teilerfremd
2. für jede Primzahl r, die m teilt, ist a-1 ein Vielfaches von r (a-1 ist ein Vielfaches von
p, für alle Primzahlen p, die Teiler von m sind)
3. wenn m ein Vielfaches von 4 ist, dann ist auch a-1 ist ein Vielfaches von 4
Bei Zahlenfolgen des Linearen Kongruenz-Generators treten oft systematische Fehler auf, die
man zwei-dimensional schnell erkennt. Dieses Verfahren nennt man Visualisierung19: Wir
fassen aus einer Zahlenfolge X0, X1, X2, ..., Xm-1 je zwei aufeinander folgende Zahlen zusammen. Das sind die Koordinaten der Punkte:
P0= (X0,X1), P1= (X1,X2) bis Pm-2= (Xm-2,Xm-1)
Man zeichnet diese Punkte in ein Koordinatensystem. Im Idealfall sollten alle Punkte in diesem Gebiet ungefähr gleich verteilt sein, die Dichte der Punktwolke sollte gleich groß sein.
Leider treten gerade bei Linearen Kongruenz-Generatoren Muster, z.B. Linien, auf. Diese
Schwäche lässt sich nicht beheben, da die Erzeugung der Zufallszahlen von ihren Vorgängern
abhängt.
17
Vgl. Steinhausen, Kapitel 3.2.2.3.
Vgl. Knuth (1998): S. 17.
19
Vgl. Hartmann (2004): S. 44 - 46.
18
7
Abbildung 1: Muster20 für Paare aufeinanderfolgender Pseudozufallszahlen (m = 256)
Ebenso ist es möglich, Tripel aus drei hintereinander folgenden Zufallszahlen zu bilden, damit
man eine Visualisierung im drei-dimensionalen Raum erreicht.
5. Güte von Pseudozufallszahlen: Statistische Tests
Echte Zufallszahlen haben die Eigenschaft, dass die Wahrscheinlichkeit für das Eintreffen
jeder Zahl gleich groß ist. Mit statistischen Tests lässt sich die Güte von zufälligen Zahlenfolgen überprüfen, ob sie die Eigenschaften der echten Zufallszahlen erfüllen21. Man testet die
Gleichverteilung (Anpassungstest) und Unabhängigkeit von Pseudozufallszahlen. In der Praxis werden ungefähr sechs verschieden statistische Tests auf eine Folge angewendet. Wenn
die Folge alle Tests besteht, so betrachtet man sie als hinreichend zufällig22.
5.1.
Chi-Quadrat-Anpassungstest23
Der bekannteste Test ist der χ²-Test: Man prüft mit der Nullhypothese, ob auf einem vorab
festgelegten Signifikanzniveau α eine hypothetisch erwartete Verteilungsfunktion Fxe als ein
geeignetes Verteilungsmodell für eine empirisch beobachtete Verteilungsfunktion Fx angesehen werden kann. Die Nullhypothese H0: Fx = Fxe wird gegen die Alternativhypothese HA:
Fx ≠ Fxe getestet.
20
Vgl. Schmidt (2003): S. 64.
Vgl. Steinhausen, Kapitel 3.3.
22
Vgl. Hartmann (2004): S. 47.
23
Vgl. Eckstein (1999): S. 312 f.
21
8
Man erzeugt n Zufallszahlen X1, ..., Xn. Durch Xi / m = ui entstehen Zufallszahlen zwischen 0
und 1. Die Hypothese Ho lautet: Die Pseudozufallszahlen ui sind auf dem Intervall (0,1)
gleichverteilt (ui~U(0,1)), i=1, ... n. Das Intervall [0,1) wird in r gleichlange Teilintervalle I1,
... Ir ( I1 = [0, 1/r) , … , Ir = [(r-1)/r, r/r)) unterteilt. Durch Abzählen, wie viele Zufallszahlen in
einem Teilintervall liegen, erhält man die empirischen Häufigkeiten Zj(u1, ..., un), also die
Anzahl derjenigen Pseudozufallszahlen, die im Intervall ((j-1)/r , j/r) liegen. In jedem Teilintervall sollten erwartungsgemäß n/r = he Zufallszahlen liegen, wobei he ≥ 5 gilt.
Man bildet die Differenz zwischen den beobachteten Häufigkeiten Zj und den erwarteten Häufigkeiten he. Die Differenz wird quadriert, damit die Differenzen immer positiv bleiben und
die Abweichungen sich nicht gegenseitig wieder aufheben. Die absoluten Abweichungen zum
beobachteten Wert werden dann noch gewichtet.
n
χ =∑
2
(Z (u ) − h )
e 2
i
i
(2)
he
i =1
Weil die Testgröße χ² asymptotisch χ² r-1 – verteilt ist, wird bei hinreichend großem n die Hypothese Ho abgelehnt, wenn χ² > χ² r-1, 1-α. R-1 ist die Anzahl der Freiheitsgrade.
In einer Tabelle, die in vielen Statistikbüchern abgedruckt ist, ist aufgelistet, welchen Wert χ²
höchstens annehmen darf, damit wir die Hypothese nicht ablehnen.
Beispiel24: Man hat n = 100.000 Zufallszahlen, a = 0.05 und r = 10 Teilintervalle. Die Häufigkeiten der Zufallszahlen in den Teilintervallen betragen:
z1
z2
z3
z4
z5
z6
z7
z8
z9
z10
9995
10045
10127
9816
10130
10040
9890
9858
10083
10016
Tabelle 3: Häufigkeiten von 100.000 Zufallszahlen in 10 Intervallen
Daraus errechnet man χ² = 10,99 < χ²
Gleichverteilung wird nicht verworfen.
24
25
r-1, 1-α
Vgl. Schmidt (2003): S. 66.
Vgl. Aus der Tabelle über kritische Werte der χ²-Verteilung.
9
= 16,9225. Die Hypothese der (0,1]-
5.2.
Kolmogorov-Smirnoff-Anpassungstest26
Während der χ² -Test die Übereinstimmung der erwarteten mit der tatsächlichen Verteilung
überprüft und nur auf große Stichproben anwendbar ist, überprüft der Kolmogorov-SmirnoffTest, inwieweit die hypothetische Verteilungsfunktion Fxe(xi) mit der zu testenden empirischen Verteilungsfunktion Fx(xi) (kumulierte relative Häufigkeiten der Grundgesamtheit) im
Einklang steht. Um die Verteilung der Zufallszahlen leichter bestimmen zu können, werden
die Zufallszahlen zuerst der Größe nach sortiert, so dass gilt X 1 ≤ X 2 , ..., X n (siehe Beispiel
Anhang 11.2).
Man stellt dann die Nullhypothese auf, dass sich die empirische mit der theoretischen Verteilung (mit einer festgelegten Irrtumswahrscheinlichkeit Alpha) deckt:
H 0 : Fx ( xi ) = Fx ( xi )
e
H A : Fx ( xi ) ≠ Fx ( xi )
e
Als Testgröße bedient man sich der maximalen Abweichung zwischen zu testender und theoretischer Funktion. Diese maximale Abweichung besitzt eine definierte Wahrscheinlichkeit,
die bei wirklichen Zufallszahlenfolgen auftreten würde. Ziel ist es, diese definierte Wahrscheinlichkeit (kritischer Wert) mit der tatsächlichen zu vergleichen.
Es ist zu beachten, dass an jeder Sprungmarke (neuer empirischer Datenpunkt) von Fx (x)
zwei Abstände zu bestimmen sind: Der Abstand des aktuellen Wertes der empirischen Verteilung zum aktuellen ( k1 = Fx ( xi ) − F ( xi ) ) und zum letzten Wert ( k 2 = Fx ( xi ) − F ( xi −1 ) ) der
theoretischen Verteilung.
K n = max
Fx ( xi ) − F ( xi )
Fx ( xi ) − F ( xi −1 )
(3)
Anschließend wird die Irrtumswahrscheinlichkeit festgelegt, z.B. α = 0,05 (entspricht einem
Konfidenzniveau von 95%). Bei kleinen Stichproben wird die Nullhypothese nicht verworfen,
wenn der größte vorkommende Abstand („Prüfgröße“) den tabellierten kritischen Wert nicht
überschreitet. Der kritische Wert für große Stichproben (Grundgesamtheit größer n = 35 Elemente) wird meist nicht mehr tabelliert und muss anhand folgender Formeln approximiert
werden:
Alpha
Approximation für n>35
0,1
0,05
1
∗1,224
n
1
∗1,358
n
Tabelle 4
26
Vgl. Schwarze (1997): Seite 234 f.
10
Ein Vorteil des Kolmogorov-Smirnoff-Test ist, dass keine Klassenbildung erforderlich ist.
Die Zahlen können direkt für den Test herangezogen werden. Der Test ist also dem χ²-Test
immer dann vorzuziehen, wenn keine Klassenbildung vorliegt. Des weiteren sollte der KSATest bei kleinen Stichproben präferiert werden (siehe Beispiel Anhang), da er insbesondere
bei Abweichungen in Form der Verteilungsfunktion empfindlicher reagiert. Ein weiteres Positivum ist seine Verteilungsfreiheit.
5.3.
Serielle Autokorrelation27
Die durch den Generator erzeugten Pseudozufallszahlen müssen paarweise unabhängig sein
oder etwas einfacher gesagt, frei von Mustern. Durch die serielle Autokorrelation misst man
die Abhängigkeit einer Folge von Zahlen. Idealtypisch wäre eine Korrelation ρ k = 0. Weicht
der Korrelationskoeffizient jedoch deutlich von Null ab, so ist mit hoher Wahrscheinlichkeit
keine zufällige Zahlenfolge gegeben.
Eine negative Autokorrelation bedeutet, dass auf hohe Werte (des jeweiligen Lags k) überdurchschnittlich häufig niedrige Werte folgen. Wenn man Zufallspaare mit ähnlichen Werten
erhält, spricht man von positiver Korrelation. Diese Phänomene können bei aufeinanderfolgende Wertepaaren und bei Paaren, die in einer bestimmten Zahlenfolge einen bestimmten
Abstand zueinander besitzen, auftreten.
Bei der letztgenannten Erscheinung spricht man von einer seriellen Autokorrelation k-ter
Ordnung (ρ k ).
n−k
ρk =
∑ (x
i =1
i
n−k
∑ (x
i =1
− µ x ) ∗ ( xi + k − µ x )
n−k
i
− µ x ) ∗ ∑ ( xi + k − µ x )
i =1
n−k
1⎞ ⎛
1⎞
− ⎟ ∗ ⎜ xi + k − ⎟
2⎠ ⎝
2⎠
== i =1
n−k
1 ⎞ n−k ⎛
1⎞
⎛
x
−
⎟ ∗ ∑ ⎜ xi − ⎟
⎜
∑
i
2 ⎠ i =1 ⎝
2⎠
i =1 ⎝
⎛
∑ ⎜⎝ x
i
(4)
Der Stichprobenmittelwert ergibt sich als µ = ½, da man von Pseudozufallszahlen zwischen 0
und 1 ausgeht. Unkorreliertheit bedeutet ρ k = 0. Ein Generator wird also abgelehnt, wenn die
von ihm generierten Zufallszahlenfolgen eine Autokorrelation aufweisen, die signifikant von
Null verschieden ist.
6. Erzeugung beliebig verteilter Zufallszahlen (Transformation)28
Bislang wurden (0,1)-gleichverteilte Zufallszahlen (xn / m = un) erzeugt. Sie sind die Ausgangsbasis für die Erzeugung von Zufallszahlen mit beliebigen anderen Wahrscheinlichkeits-
27
28
Vgl. Gujarati, S .450-452.
Vgl. Steinhausen, Kapitel 3.4.
11
verteilungen. Man transformiert die gleichverteilten Zufallszahlen analytisch durch Bildung
der Umkehrfunktion F-1. Die Verteilungsfunktion un = F(x) ist eine Funktion, die jedem x
einen Wert zwischen 0 und 1 zuordnet. Durch Bildung der Umkehrfunktion x = F-1(un) wird
jedem un zwischen 0 und 1 ein Wert aus dem Wertebereich von F mit F(x) = F(F-1(un)) zugeordnet. Die Transformation kann auch grafisch - man wählt einen y-Wert, zieht eine horizontale Linie bis zum Kurvenpunkt und fällt dann das Lot auf die x-Achse – oder mittels Nachschlagen in einer Tabelle (Table-look-up) erfolgen29.
6.1.
Erzeugung von Zufallszahlen beliebiger (a,b)-Gleichverteilungen30
Mit Hilfe von (0,1)-gleichverteilten Zufallszahlen werden wiederum gleichverteilte Zufallszahlen im Intervall (a,b) erzeugt. Gegeben ist die Verteilungsfunktion F(x) = (x-a) / (b - a),
bzw. un = F(x) = (x-a) / (b - a). Man löst nach x auf und erhält die Transformationsgleichung:
x = a + (b - a) un
(5)
Beispiel: Gegeben ist die (0,1)-gleichverteilte Zufallszahl u = 0,4711, die in eine (1,10)gleichverteilte Zufallszahl transformiert werden soll:
x = 1 + (10 - 1) * 0,4771 = 5,2399
6.2.
Erzeugung von exponentialverteilten Zufallszahlen31
Die Exponentialverteilung gibt die Wahrscheinlichkeit dafür an, dass zwischen dem Eintreten
zweier aufeinander folgender Ereignisse höchsten x Zeiteinheiten vergehen (Beispiel: Lebensdauer einer Glühbirne, Eintreffen von Kunden). Die Dichtefunktion lautet f(x) = µ e-µx, x
≥ 0, bzw. f(x) = 0, x < 0. Die Verteilungsfunktion lautet F(x) = 1 - e-µx.
Sei nun un eine in (0,1)-gleichverteilte Pseudozufallszahl und die Zufallsvariable Xn hat die
Verteilungsfunktion F(x) = 1 - e-µx , so erhalten wir durch Anwendung der Transformationsmethode und Auflösung nach x: xn = -1 / µ ln(1 - un ) eine mit dem Parameter exponentialverteilte Pseudozufallszahl.
Transformation:
F(xn) = 1 - e-µxn
un = F(xn) = 1 - e-µxn
un - 1= - e-µxn
1 - un = e-µxn
ln(1 - un) = -µ xn
xn = (-1/ µ) ln(1- un )
29
Vgl. Steinhausen, Kapitel 3.4.1.
Vgl. Steinhausen, Kapitel 3.4.2.
31
Vgl. Steinhausen, Kapitel 3.4.3.
30
12
Beispiel: Gegeben ist die (0,1)-gleichverteilte Zufallszahl u = 0,4711, mit µ = 0,5, so erhält
man für x:
x = (-1 / 0,5) ln(1 - 0,4711) = 1,2739
Erzeugung von normalverteilten Zufallszahlen32
6.3.
Eine einfache analytische Umformung von (0,1)-gleichverteilten Zufallszahlen in normalverteilte Zufallsvariablen wie bei der Exponentialverteilung ist nicht möglich. Für die Lösung
benötigt man die Aussage des zentralen Grenzwertsatzes: Die Summe von n voneinander unabhängigen Zufallsvariablen mit beliebigen Verteilungen ist näherungsweise normalverteilt.
Wird also aus n Zufallsvariablen die Summe Yn = Σ un gebildet und hat keine der Variablen
un einen überragenden Einfluss, so strebt für n gegen Unendlich die Verteilungsfunktion von
Yn gegen die Verteilungsfunktion einer Normalverteilung. Sie ist asymptotisch normalverteilt
mit den Parametern Σ µ und Σ σ². Für n gegen Unendlich strebt die Verteilung der standardisierten Variable
Xn =
Yn − ∑ µ
∑σ
Σµ: N*µ
Σσ: N*σ
2
(6)
gegen die Standardnormalverteilung N(0;1).
So erhalten wir
Xn =
∑u
n
− nµ
(7)
nσ 2
Beispiel: Bei n = 12 Zufallszahlen (u0 , ... un) mit µ = ½ und σ² = 1/12 erhält man bereits ein
gutes Ergebnis, eine gute Realisation einer Standard-Normalverteilung, auch wenn der Wertebereich nur von –6 bis +6 geht. Echt normalverteilte Zufallsvariable haben den Wertebereich (-∞, +∞).
X
32
n
=
∑
u n − 12 ∗
12
12
1
2 =
∑
un − 6
(8)
n
Vgl. Steinhausen, Kapitel 3.4.4.
13
Die standard-normalverteilten Zufallszahlen (x) transformiert man dann durch
y = xσ + µ
(9)
in beliebige (µ,σ²)-normalverteilte Zufallsvariable (y).
Beispiel: x = 0,486 (standard-normalverteilt) soll in (0.7,0.16)-normalverteilte Zufallsvariable
mit µ = 0,7 und σ = 0,4 transformiert werden:
y = 0,486 * 0,4 + 0,7 = 0,8944
7. Zufallszahlen in der Anwendung – Die Monte-Carlo-Methode
Mit der Monte-Carlo-Methode lassen sich zwei große Problemgruppen bearbeiten:
•
Probleme deterministischer Natur, also Probleme, die eine eindeutige Lösung haben.
Beispiele: Integrale, Berechnung der Zahl Pi
•
Probleme stochastischer Natur, also Probleme, deren Lösung zufällig ist.
Beispiel: Risiko eines Wertpapier-Portfolios (Value-at-Risk), Bepreisung exotischer Optionen
7.1.
Grundprinzip der Monte-Carlo-Simulation: Ein einfaches Beispiel33
Es wird hier die Einsetzbarkeit der Monte-Carlo-Methode bei der Berechnung von Flächen
bzw. der Lösung von Integralen demonstriert (deterministische Simulation).
Die Fläche eines Kreises lässt sich bekanntlich mit der Formel
A = π * r²
(10)
berechnen. Mit der Monte-Carlo-Methode kann man die Zahl π abschätzen. Dabei wird von
einem Einheitskreis (Radius r = 1) ausgegangen, da hier die Fläche gleich π beträgt. Teilt man
den Einheitskreis in Viertel, so beträgt die Fläche des 1. Quadranten π/4. Nun generiert man
Pseudozufallszahlen zwischen 0 und 1 für die x bzw. y Koordinaten eines Punktes.
Ein Punkt kann maximal die Koordinaten P(1,1) besitzen. Die Kreisgleichung im 1. Quadranten des Einheitskreises lautet x² + y² = 1(Satz des Pythagoras), so dass für alle Punkte innerhalb des Kreises gelten muss x² + y² ≤ 1.
33
Vgl. Steinhausen, Kapitel 1.3.3.
14
Der Computer generiert nun mit den Pseudozufallszahlen sehr viele Punkte. In der Realität
können diese Punkte mit Regentropfen verglichen werden, die gleichverteilt auf eine Fläche
von einem Quadratmeter auftreffen. Diese liegen manchmal außerhalb, meistens innerhalb
des Kreisviertels.
Abbildung 2: Das Einheitsquadrat und ¼ des Einheitskreises wird
mit künstlich erzeugten Punkten „beschossen“.
Das sind die sogenannten „Treffer“. Der Anteil der Treffer im Verhältnis zu den Punkten, die
außerhalb des Viertelkreises liegen, konvergiert für eine große Anzahl von Punkten näherungsweise gegen die Fläche des Kreisviertels π/4 (Zentraler Grenzwertsatz, Bernoulli). Multipliziert man die Zahl mit 4, so erhält man eine Annäherung an π. Für diese Berechnung benötigt man schon eine sehr große Anzahl von Pseudozufallszahlen.
Wie man sieht hängt der Erfolg eines derartigen statistischen Experiments von der Güte der
verwendeten Zufallszahlen ab, die in diesem Fall gleichverteilt sein müssen. Diese Tatsache
unterstreicht die Bedeutung der Testverfahren für Pseudozufallszahlen und damit für die Qualität einer Monte-Carlo-Simulation.
7.2.
Allgemeiner Überblick: Leitfaden Monte Carlo Simulation
Die folgende Übersicht rekapituliert die wichtigsten Schritte der Vorgehensweise:
1) Generierung der für einen Monte Carlo Schritt Ein Monte Carlo Schritt entspricht dem Auftreffen
nötigen Pseudo-Zufallszahlen, die zwischen 0 und 1 eines simulierten Punktes. Hierzu sind zwei Zufallszahgleichverteilt sind.
len nötig (x-Koordinate, y-Koordinate).
2) Transformierung der gleichverteilten Pseudo- Zur Berechnung des Verhältnisses der Kreisfläche
Zufallszahlen in die gewünschte Verteilung.
benötigt man gleichverteilte Zufallszahlen, in diesem
Fall würde die Transformation also entfallen.
15
3) Durchführung eines Monte-Carlo-Schrittes mit den Der Punkt (x-y-Paar) trifft auf die Gesamtfläche auf.
eben erzeugten Zufallszahlen.
4) Messen der interessierenden Größen.
Feststellen, ob der Punkt im Kreis aufgetroffen ist oder
nicht („Hit-or-Miss“).
5) Vielfaches Wiederholen der Schritte 1 bis 4 (solan- Zur Berechnung der Kreisfläche müssen ausreichend
ge, bis genügend Systeme für eine ausreichende viele Punkte simuliert werden, z.B. 10.000 WiederhoStatistik zur Verfügung stehen)
lungen
6) Endauswertung: Interessierte Größe je nach Simu- Berechnung des Verhältnisses aus den auf der Kreisflälationsziel (Mittelwerte, Quotient etc.) zusammen- che aufgetroffenen Punkte und der Gesamtanzahl aller
fassen.
simulierten Punkte
7.3.
Simulation stochastischer Prozesse
Eine stochastische Simulation bedient sich der Zufallszahlen, um zeit- bzw. zufallsabhängige
Prozesse zu simulieren. Wird der aktuelle Wert des Prozesses dabei ausschließlich von seinem Vorgängerwert beeinflusst, so spricht man von einem sog. Markov-Prozess34.
In den Finanzwissenschaften bedient man sich des Markov-Prozesses, um mögliche zukünftige Aktienkursbewegungen zu modellieren, mit anderen Worten, um Marktszenarien zu generieren. Dabei geht man davon aus, dass sich Aktienkurse über die Zeit zufällig bewegen. In
der Kapitalmarktforschung begründet man dies mit dem Argument der „schwachen Markteffizienz“.
Der Anwendungsschwerpunkt liegt meist auf der Bestimmung der Verteilung des Aktienkurses zu bestimmten zukünftigen Zeitpunkten35 36. Anhand dieser Verteilung kann beispielsweise festgestellt werden, mit welchem Verlust man mit z.B. 95% Wahrscheinlichkeit rechnen
muss, wenn man einen bestimmten Zeitraum in einer Aktie investiert ist.
Die Entwicklung einer Aktienkursbewegung kann mit Hilfe eines Wiener-Prozesses37 (auch
Brown’sche Bewegung) dargestellt werden, der einen Mittelwert von Null und eine Standardabweichung von 1 aufweist. Es ergibt sich eine sog. diskrete arithmetische Brown‘sche Bewegung als Kursprozess38:
dS = µ S dt + σ S dz = µ S dt + σ S ε
dt
(11)
S: Aktienkurs
µ: mittlere erwartete Rendite des Aktieninvestments
ε: standard-normalverteilte unabhängige Zufallsvariable
34
Vgl. Deutsch in Eller (1998): S. 272, Neftci (2001): S.53 f.
z.B.: Bei einer Option interessiert man sich für die Verteilung des Aktienkurses am Laufzeitende, bei der täglichen Value-at-Risk Berechnung im Risikomanagement von Wertpapierpositionen für die Verteilung des Aktienkurses am Folgetag.
36
Vgl. Schwendner/ Martin/Papies (2002) S. 279.
37
Vgl. Franke/Härdle/Hafner (2001), S.55-63.
38
Vgl. Franke/Härdle/Hafner (2001), S.55-63; Montagna/Nicrosini/Moreni (2002), S.5 f.; Wilmott (2002), S. 101-118.
35
16
Die meisten Theorien gehen jedoch von einem kontinuierlichen Renditeprozess39 aus, was
eine Transformation der Gleichung in einen stetigen Kursprozess (geometrische Brown‘sche
Bewegung) erforderlich macht. Von großer Bedeutung ist hier Ito’s Lemma (Satz aus der stochastischen Analysis40), mit dem diese Transformation von statten geht. Es ergibt sich:
ST = S t ∗ e
T:
t:
µ:
σ:
ε:
⎛ σ2
⎜ µ−
⎜
2
⎝
⎞
⎟∗(T −t )+σε T −t
⎟
⎠
(12)
Zeithorizont
aktueller Zeitpunkt
mittlere erwartete Rendite des Aktieninvestments
mittlere erwartete Rendite des Aktieninvestments
standard-normalverteilte unabhängige Zufallsvariable
Mit dieser Formel ist es möglich, potenzielle zukünftige Kursverläufe zu erzeugen, mit deren
Hilfe sich zufällige Kurse in Abhängigkeit von der Erzeugung von standard-normalverteilten
Zufallszahlen simulieren lassen. Sie ist die Grundlage für die Simulation mittels Monte-CarloMethode.
Beispiel: Bepreisung einer exotischen Option (Asiatische Option) 41 42
Um ein Gefühl für die Anwendungsrelevanz von Monte-Carlo-Simulationen zu bekommen,
wird im Folgenden demonstriert, wie der Preis einer asiatischen Option durch stochastische
Simulation ermittelt werden kann.
Asiatische Optionen sind auch unter dem Namen „Average Option“ bekannt, was ihr Funktionsprinzip bereits sehr gut beschreibt: Der Wert am Verfalltag bestimmt sich aus der Differenz des arithmetischen Durchschnitts des Aktienkurses in einem bestimmten Zeitraum weniger dem Ausübungspreis.
Ganz allgemein gesprochen hängen Optionspreise vom Erwartungswert ihres Auszahlungsprofils bezüglich der Wahrscheinlichkeitsverteilung des Aktienkurses am Laufzeitende, bzw.
wie vom gesamten Kursverlauf („Kurspfad“) bis Laufzeitende ab.43
Da hier wegen der Durchschnittsrechnung alle Kurse bis zum Laufzeitende relevant sind (sog.
„Pfadabhängigkeit“ der Option), stellt sich die Aufgabe, den gesamten zukünftigen Kursverlauf mit Monte-Carlo zu simulieren.
39
Das impliziert für die folgende Eigenschaften: Aktienrenditen sind normalverteilt, Aktienkurse sind lognormalverteilt.
Vgl. Sandmann (2001): S. 47 f.
Beispiel in Anlehnung an: Wilmott (2003), S. 221.
42
Bepreisung unter der Annahme einer dividendenfreien Aktie.
43
Vgl. Taleb (1997): S. 27 f.
40
41
17
An dieser Stelle kommt die im letzten Abschnitt vorgestellte Formel zur Erzeugung zufälliger
Kursbewegungen zum Einsatz. Man geht in mehreren Schritten vor:
1) Generierung der für einen Monte-Carlo-Schritt nötigen Pseudo-Zufallszahlen, die zwischen 0 und 1 gleichverteilt sind.
2) Festlegung der Prämissen. Aktienkurse folgen einem Random Walk mit Drift. An dieser Stelle ist lediglich
relevant, dass diese Tatsache normalverteilte Aktienrenditen impliziert. Die anderen Parameter (Volatilität
der Aktie, mittlere erwartete Aktienrendite, risikoloser Zins zur Barwertberechnung) können empirisch ermittelt oder subjektiv geschätzt werden.
3) Generierung von gleichverteilten Zufallszahlen im Intervall [0;1].
4) Transformieren der Zufallszahlen in die Standardnormalverteilung.
5) Einsetzen der transformierten Zufallszahlen in den Random Walk mit Drift, Berechnung der simulierten
Kurszeitreihe.
6) Berechnung des durchschnittlichen Kurses der simulierten Kurszeitreihe.
7) Berechnung der Auszahlung am Laufzeitende: max[Durchschnittskurs – Basispreis; 0].
8) Stetige Diskontierung des Auszahlungsbetrags auf heute; speichere diesen Betrag.
9) Führe die Schritte 1 bis 7 weitere 250 Mal44 durch.
10) Ermittle den Mittelwert aus allen 250 Simulationen: Er entspricht dem „fairen Wert“ der Asiatischen Option.
Auf diese Weise wurde der Preis einer analytisch komplex zu bewertenden exotischen Option
unter Verwendung von Pseudozufallszahlen in Verbindung mit der Monte-Carlo-Methode
ermittelt.
Abbildung 3: Generierung von 250 Szenarien eines Kursverlaufs zur Bestimmung des Preises einer asiatischen Option (Startwert: 100, Laufzeit 1 Jahr, Volatilität 20% p.a., mittlere
erwartete Rendite 5% p.a., Zeitintervall 0.01 ).
44
250 Simulationsschritte sind in der Monte-Carlo Welt eigentlich zu wenig (Fehlertoleranz). Aufgrund der Begrenzung der ExcelTabellenkalkulation auf 256 Spalten bietet sich diese Anzahl jedoch aus Gründen der Übersichtlichkeit und damit des besseren Verständnisses an.
18
7.4.
Ausgewählte Praktische Anwendungen in den Wirtschaftswissenschaften
Kempf/Günther45 schlagen vor, Monte-Carlo beim Risikomanagement von Kapitalanlagegesellschaften einzusetzen. Im Besonderen handelt es sich dabei um die Berechnung der Risikokennzahl Value-at-Risk („VaR“), dem absoluten Geldbetrag, der mit vorgegebener Wahrscheinlichkeit den maximalen Verlust in einem bestimmten Zeitraum entspricht.
Dr. H.-P. Deutsch46 geht des weiteren darauf ein, dass auch Adressenausfallrisiken (Bonitätsrisiken) mittels stochastischer Simulation adäquat modelliert werden können.
Elsas/El-Shaer/Theissen47 simulieren im Rahmen einer Studie zur Validität des Capital Asset
Pricing Modells (kurz CAPM) einen „idealen“ Markt mittels Monte-Carlo. Das CAPM basiert
– wie die meisten ökonomischen Modelle – auf Annahmen. Beispielsweise wird davon ausgegangen, dass Aktienrenditen normalverteilt sind oder sich Wertpapiere alleine mit ihrem
systematischen Risiko („Beta-Risiko“) bepreisen lassen. Durch das Schaffen einer Idealwelt,
in der alle diese Annahmen erfüllt sind und das anschließende Anwenden des Modells wird
eine Aussage über dessen tatsächliche Brauchbarkeit möglich.
8.
Latin-Hypercube-Methode48
Die Latin-Hypercube-Methode, die maßgeblich von Dr. Ronald Iman49 Anfang der achtziger
Jahre entwickelt wurde, zählt zu den Stratified Sampling Methoden. Hier wird die Verteilung
in disjunkte Intervalle unterteilt, die alle dieselbe Eintrittswahrscheinlichkeit aufweisen. Aus
allen diesen Intervallen werden gleich viele Zufallszahlen (ohne Zurücklegen) gezogen. Diese
Abwandlung der Monte-Carlo-Simulationen durch Klassenunterteilung („Stratified Sampling“) liefert bereits mit wenigen Simulationsschritten aussagekräftige Ergebnisse.
Im Gegensatz zur Monte-Carlo-Methode wird bei dieser Vorgehensweise erst ein Intervall
zufällig ausgewählt. Das Ziehen einer Zufallszahl aus diesem Intervall geschieht dann wiederum zufällig. Die Pseudozufallszahl muss sich nicht in der Klassenmitte des Intervalls befinden. Dieses Verfahren führt dazu, dass vor allem Randverteilungen besser repräsentiert
werden. Der Vorgang wird solange wiederholt, bis aus jedem Intervall ein Zufallswert vorliegt.
Man erhält mit der Latin-Hypercube-Methode trotz weniger Durchläufen präzisere Zufallsstichproben als bei der herkömmlichen Monte-Carlo-Methode, da die gesamte Verteilung
gleichmäßiger erfasst wird.
45
Vgl. Kempf/Günther (2001): S. 60.
Vgl. in: Eller, Roland (1998): S. 304.
Vgl. Elsas/El-Shaer/Theissen (2003): S.7 f.
48
Vgl. Bayer (1999): S.9 f.
49
Dr. Ronald Iman, Sandia National Laboratories, Albuquerque, New Mexico.
46
47
19
Abbildung 4: Die Abbildung zeigt eine Verteilung, die in 20 disjunkte, gleichwahrscheinliche Intervalle aufgespalten wurde, um das Latin-Hypercube Verfahren
anzuwenden.
9.
Fazit und Ausblick
Es wurde gezeigt, dass Pseudo-Zufallszahlen aus der heutigen Welt nicht mehr wegzudenken
sind. In Kombination mit Simulationsmethoden helfen sie dabei, verschiedenste Problemstellungen, u.a. Fragestellungen der Wirtschaftswissenschaften zu verstehen und zu lösen, denn
viele dieser realen Probleme enthalten Zufallskomponenten. Am Beispiel der Berechnung von
Pi wurde klar, dass sogar Fragen beantwortet werden können, die eigentlich gar nichts mit
dem Zufall zu tun haben.
Die Qualität der erzeugten Zahlen ist dabei von zentraler Bedeutung, was dazu geführt hat,
das auch heute noch an „besseren“ Generatoren (Algorithmen) gearbeitet wird. Interessant ist
aber auch die Tatsache, dass viele der Generatoren, Test- und Transformationsverfahren aus
der Anfangszeit der Simulationstechnik noch heute aktuell sind.
Die Einsatzmöglichkeit der in dieser Arbeit vorgestellten Instrumente hängt heute vor allem
von der Leistungsfähigkeit der Computer ab, die - wie die Vergangenheit lehrt – sehr schnell
steigt. Dr. H.-P. Deutsch beschreibt die Zukunft der Anwendung von Zufallszahlen anschaulich: „Viele führende Wissenschaftler gehen davon aus, dass die Computersimulation in naher
Zukunft die wichtigste aller Methoden in den Naturwissenschaften sein wird, wichtiger als
Experiment oder Theorie.“50
50
Vgl. Deutsch in Eller (1998): S. 304.
20
10. Literaturverzeichnis
Eckstein, Peter P.: Repetitorium Statistik, Wiesbaden, 1999, S. 311 – 323
Eller, Roland (Hrsg.): Handbuch des Risikomanagements, Stuttgart, 1998
Franke, Jürgen/Härdle, Wolfgang/Hafner, Christian: Einführung in die Statistik der Finanzmärkte, Berlin, 2001
Gujarati, Damodar: Basic Econometrics, New York, 2003
Hartmann, Stefan: Schüler-SimuLab, Kurs 1, Die Erzeugung von Pseudozufallszahlen, Forschungszentrum caesar, Bonn, 2004, online unter:
http://www.caesar.de/uploads/media/skript-kurs1.pdf (19.04.2005)
Kempf, Arno/Günther, Carsten: Risikomanagement bei Kapitalanlagegesellschaften – Ein
ganzheitlicher Risikoansatz, Frankfurt, 2001
Knuth, Donald E.: The Art of Computer Programming, Volume 2, Seminumerical Algorithms,
Addison-Wesley, Don Mills, Ontario, 1998, S. 1 - 194
Montagna, Guido / Nicrosini, Oreste / Moreni, Nicola: A Path Integral Way to Option Pricing, in: Physica A (Elsevier Science), Heft 310, 2002, S.450-466
Neftci, Salih N.: Introduction to the Mathematics of Financial Derivatives, New York, 2000
Sandmann, Klaus: Einführung in die Stochastik der Finanzmärkte, Berlin, 1999
Schmidt, Prof. Dr. Volker: Markov-Ketten und Monte-Carlo Simulation, Universität Ulm,
2003, online unter:
http://www.mathematik.uni-ulm.de/stochastik/lehre/ss03/markov/skript/skript.html
(19.04.2005)
Schwarze, Jochen: Grundlagen der Statistik, Herne/Berlin, 1997
Schwender, Peter/Martin, Stephan/Papies, Simon: Transparentes Monte Carlo Verfahren zur
Risikosteuerung im Aktienderivatebereich, in: Die Bank, Heft (2002), S. 276-288
21
Steinhausen, Prof. Dr. Detlef: Kapitel 1 Einführung, Fachhochschule Münster, online unter:
http://www.fh-muenster.de/fb9/person/steinha/buch/Kapitel1.htm (19.04.2005)
Steinhausen, Prof. Dr. Detlef: Kapitel 3 Die Erzeugung von Zufallszahlen, Fachhochschule
Münster, online unter:
http://www.fh-muenster.de/fb9/person/steinha/buch/kapitel3.htm (19.04.2005)
Taleb, Nassim: Dynamic Hedging, New York, 1997, S. 403-408, S.415-424, S.459-477
Wilmott, Paul: Paul Wilmott Introduces Quantitative Finance, New York, 2003, S. 101-136,
S. 355-366
22
11. Anhang
11.1.
Algorithmus K
Der folgende Algorithmus beschreibt, auf welche Weise eine zehnstellige positive Zahl X
verändert wird51:
K1. [Zufällige Wahl der Anzahl Iterationsschritte] Y sei die „Milliardenstelstelle“ von X. Die
Schritte K2 bis K13 werden nun genau Y + 1 mal durchgeführt.
K2. [Zufälliger Sprung zu einem Iterationsschritt] Z sei die „Hundertmillionstelstelle“ von X.
Gehe zum Iterationsschritt K(3 + Z).
K3. [Sorgt dafür, dass X ≥ 5 000 000 000 ] Falls X < 5 000 000 000 gilt, dann setze X = X + 5
000 000 000.
K4. [„Mitten-Quadrat-Generator“] Siehe oben, nur diesmal mit zehn Stellen statt mit vier,
also: Nehme das Quadrat von X und wähle davon die mittleren zehn Stellen als neues X.
K5. [Multiplikation] Multipliziere X mit 1 001 001 001 und wähle von dem Ergebnis die letzten zehn Stellen als neues X.
K6. [Pseudo-Komplement] Falls X < 100 000 000 gilt, setze: X = X + 9 814 055 677. Andernfalls setze: X = 10 000 000 000 -X.
K7. [Vertauschung der Hälften] Vertausche die ersten fünf Ziffern der zehnstelligen Zahl X
mit den letzten fünf Ziffern.
K8. [Multiplikation 2] Mache das gleiche wie in K5.
K9. [Verkleinerung der Ziffern] Verkleinere jede der Ziffern von X, die nicht gleich 0 sind,
um eins.
K10. [Modifizierung mit 99 999] Falls X < 100 000 gilt, setze: X = X 2 + 99 999. Andernfalls
setze: X = X - 99 999.
K11. [Normierung] Falls X < 100 000 000 gilt, dann setze X = 10 · X und wiederhole diesen
Schritt.
K12. [Modifizierter „Mitten-Quadrat-Generator“] Multipliziere X mit X-1 und wähle von
dem Ergebnis die mittleren zehn Stellen als neues X.
K13. [Wiederholung? ] Falls Y > 0 gilt, dann erniedrige Y um 1 und kehre zu Schritt K2 zurück. Wenn Y = 0 gilt, dann ist der Algorithmus beendet. Das aktuelle X ist das nächste Glied
der „zufälligen“ Zahlenfolge.
51
Vgl. Hartmann (2004): S. 16 f.
23
Kolmogorov-Smirnoff-Test: Rechenbeispiel52
11.2.
Im diesem Beispiel wurden 10 Zufallszahlen im Intervall [0;1] erzeugt (kleine Stichprobe). Es
wird auf Gleichverteilung getestet. Die Zufallszahlen werden zuerst der Wertigkeit nach sortiert, um deren Verteilungsfunktion Fx (x) nachzubilden (Spalte 3 der Tabelle). Spalte 4 enthält die theoretische kumulierte Häufigkeitsverteilung angetragen.
Die Notwendigkeit, zwei Abstandsmaße k1 (Spalte 5) und k2 (Spalte 6) zu ermitteln, wird in
der folgenden Abbildung nochmals graphisch für das Beispiel verdeutlicht.
Abbildung 5
Der maximale Wert aus k1 und k2 ist 0,163. Der tabellierte kritische Wert für das 95%Konfidenzniveau lautet c(alpha=5%)=0,409.
Da k28 = 0,163 < 0,409 ist die Nullhypothese, dass die Zufallszahlen aus einer Gleichverteilung stammen, nicht zu verwerfen.
i
52
Erzeugte Zufallszahlen
kumulierte Theoretische kumulierte Häufigkeit der
Häufigkeit
Gleichverteilung
Zufallszahlen
k1
k2
1
0.022
2.20%
10.00%
0.078
0.100
2
0.126
12.65%
20.00%
0.074
0.026
3
0.151
15.06%
30.00%
0.149
0.049
4
0.298
29.81%
40.00%
0.102
0.002
5
0.536
53.56%
50.00%
0.036
0.136
6
0.537
53.68%
60.00%
0.063
0.037
7
0.739
73.94%
70.00%
0.039
0.139
8
0.863
86.34%
80.00%
0.063
0.163
9
0.890
89.04%
90.00%
0.010
0.090
Beispiel in Anlehnung an Schwarze (1997)
24
Herunterladen