Michael Gnewuch Monte-Carlo- und Multilevel-MonteCarlo-Methoden und ihre Anwendung in der Finanzmathematik CAU Kiel, SS 2015, Stand 5. Juni 2015 2 INHALTSVERZEICHNIS Inhaltsverzeichnis 1 Einleitung 3 2 Algorithmen, Fehler und Kosten 2.1 Monte-Carlo- und deterministische Algorithmen . . . . . . . . . . . . . . . 2.2 Fehler und Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Zählprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 6 3 Verfahren der Direkten Simulation 3.1 Direkte Simulation . . . . . . . . . . . . . . . . . . . . . . . 3.2 Beispiel: Cox-Ross-Rubinstein-Modell zur Optionsbewertung 3.3 Stärkere Konvergenzaussagen für die direkte Simulation . . . 3.3.1 Anwendung des starken Gesetzes der großen Zahlen . 3.3.2 Anwendung des zentralen Grenzwertsatzes . . . . . . 3.4 Varianzschätzung und Konfidenzintervalle . . . . . . . . . . . 3.4.1 Standardmethode zur Schätzung von σ 2 (Y ) . . . . . . 3.4.2 Konfidenzintervalle . . . . . . . . . . . . . . . . . . . 4 Simulation von Zufallsverteilungen 4.1 Allgemeinere Methoden . . . . . . 4.1.1 Inversionsmethode . . . . . 4.1.2 Verwerfungsmethode . . . . 4.2 Simulation von Normalverteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 9 11 11 13 17 17 18 . . . . 21 21 21 21 21 3 1 Einleitung Monte-Carlo-Methoden: Algorithmen, die Zufallszahlen verwenden. Neben Operationen Vergleich von Zahlen, Grundrechenarten, Funktionenauswertungen ist auch der Aufruf eines Zufallszahlengenerators zugelassen. In der Literatur werden Monte-Carlo-Methoden auch stochastische oder randomisierte Algorithmen genannt. Das Gebiet der Monte-Carlo-Methoden heißt auch stochastische Simulation oder Experimentelle Stochastik. Geburtsstunde“: John von Neumann und Stanislaw Ulam hatten Mitte der 1940er Jahre ” die Idee, Computer und randomisierte Algorithmen zur Lösung von nuklearphysikalischen Problemen einzusetzten. Name Monte-Carlo-Methode“ entstammt der Arbeit ” • N. Metropolis, S. Ulam. The Monte Carlo method. Journal of the American Statistical Association 44 (1949), 335–341. Zufallszahlengeneratoren: Wir nehmen an, einen idealen Zufallszahlengenerator zur Verfügung zu haben, der unabhängige, in [0, 1] gleichverteilte Zufallszahlen ausgibt. In der Praxis nutzt man meist Pseudozufallszahlengeneratoren ( PRNGs“), die nach Initia” lisierung deterministische Folgen von Zahlen liefern. Vorteil von PRNGs: • Sind schnell, ökonomisch und portabel. • Sind Initialisierung ( Saat“) und Generator bekannt, so lassen sich Computerexperi” mente wiederholen. Es gibt verschiedene Typen von Pseudozufallsgeneratoren. Überprüfen der Güte eines PRNGs: • Empirisch durch statistische Test. • Wie gleichverteilt sind n-Tupel von Zufallszahlen im Rn ? In der Praxis sollte man ...: • ... PRNGs verwenden, die sich für ähnliche Probleme bewährt haben. • ... wichtige Rechnungen mit vom Typ her verschiedenen Generatoren durchführen. Bewährte“ PRNGs: ” • Mersenne Twister von Matsumoto und Nishimura. • Software-Packet von L’Ecuyer, Simard, Chen und Kelton für Parallelrechner. 4 2 2 ALGORITHMEN, FEHLER UND KOSTEN Algorithmen, Fehler und Kosten Um bei geg. Problemstellung die Frage nach der Optimalität von Algorithmen beantworten zu können, brauchen wir Definitionen der Begriffe (zuässiger) Algorithmus, Fehler und Kosten. 2.1 Monte-Carlo- und deterministische Algorithmen Zur Programmierung von Monte-Carlo-Algorithmen sind folgende Operationen zulässig: • Input: reellwertige Funktionen f1 , f2 , . . . , fk , reelle Zahlen f1∗ , f2∗ , . . . , f`∗ • Arithmetische Operationen: vier Grundrechenarten mit reellen Zahlen, indirekte Adressierung auf abzählbarer Menge von Registern • Bedingte Sprünge, die von Ergebnis eines Vergleichs a ≤ b? abhängen • Aufruf elementarer Fkt. wie exp, log, sin oder floor • Aufruf eines Zufallszahlengenerators für x ∈ [0, 1] • Aufruf eines Orakels: bestimme fi (x) • Output: out = out(f1 , . . . , fk , f1∗ , . . . , f`∗ ) ist endliche Folge reeller Zahlen Eine Maschine, die solche Programme verarbeiten kann, heißt algebraische RAM ( Random ” Access Machine“) mit Orakel, das zu Grunde liegende Berechenbarkeitsmodell heißt Real Number Model, s. z.B. • Erich Novak. The real number model in numerical analysis. J. Complexity 11 (1995), 57–73. Ein Monte-Carlo-Algorithmus oder randomisierter Algorithmus ist ein Programm, das aus einer endlichen Folge der oben genannten Operationen besteht. Bei unseren Betrachtungen gehen wir davon aus, das die benutzte Programmiersprache einen idealen Datentyp reelle ” Zahl“ und einen idealen Zufallszahlengenerator bereitstellt. Ein randomisierter Algorithmus, der keinen Aufruf eines Zufallszahlengenerators enthält, heißt deterministischer Algorithmus. • Prinzip der unvollständigen Information: Deterministischen und randomisierten Algorithmen steht über die Eingabefkt. f1 , . . . , fk nur die folgende Information zur Verfügung: – Globale Information wie Zugehörigkeit zu gewissen Funktionenklassen – Endliche Orakelaufrufe 2.2 Fehler und Kosten 5 Diese Information reicht i. Allg. nicht aus, um die Fkt. f1 , . . . , fk und damit die zugehörige Lösung des zu Grunde liegenden numerischen Problems exakt zu bestimmen. In diesem Sinn ist die Information, die die Algorithmen über die zu lösende Probleminstanz erhalten unvollständig. Das Prinzip der unvollständigen Information führt dazu, dass sich die Komplexitätstheorie kontinuierlicher numerischer Probleme ( Information-Based Complexity“) wesentlich von ” der Komplexitätstheorie diskreter mathematischer Probleme im Turing-Modell unterscheidet. Z.B. lassen sich viele Komplexitätsaussagen ohne Hypothesen wie P6=NP beweisen. S. z.B. • J. F. Traub, G. W. Wasilkowski, H. Woźniakowski. Information-Based Complexity. Academic Press, San Diego, 1988. • J. F. Traub, A. G. Werschulz. Complexity and Information. Cambridge University Press, Cambridge, 1998. 2.2 Fehler und Kosten F Menge, bestehend aus Tupeln von Funktionen und reellen Zahlen, S:F →R Lösungsfunktion, deren Werte S(f ), f ∈ F , wir mit Algo. approximieren wollen. X Raum der Folgen in [0, 1], (Ω, Σ, P ) Wahrscheinlichkeitsraum, X Folge von unabhängigen Zufallsvariablen Xi , die gleichverteilt auf [0, 1] sind. Vorstellung: Vor Beginn der eigentlichen Berechnung wird unendliche Folge von Zufallszahlen ausgewürfelt“, auch wenn der MC-Algo. nur ein endliches Anfangsstück dieser ” Folge verwendet. Jeder MC-Algo. def. dann Menge T ⊆ F × X , die aus den Paaren von Eingaben f und Folgen x besteht, für die der Algo. terminiert. Abb. m : T → R ordnet jedem Paar (f, x) ∈ T Ausgabe m(f, x) zu. Setze ( M : F × Ω → R , M (f, ω) = m(f, X(ω)) für (f, X(ω)) ∈ T , 0 sonst. Annahme: Der betrachtete MC-Algo. und alle f ∈ F erfüllen: (i) Es ex. A ∈ Σ mit P (A) = 1 so, dass (f, X(ω)) ∈ T für alle ω ∈ A gilt. (ii) Die Abb. M (f ) := M (f, ·) : Ω → R ist Zufallsvariable. Ist die genaue Befehlsfolge uninteressant, so identifizieren“ wir den MC-Algo. mit M = ” (M (f ))f ∈F . 6 2 ALGORITHMEN, FEHLER UND KOSTEN Definition 2.1. f ∈ F , M (f ) ∈ L2 (Ω). Der Fehler des MC-Algo. M für Approx. von S bei Eingabe f ist 1/2 . ∆(M, f ) = E (S(f ) − M (f ))2 Es gilt ∆(M, f )2 = (S(f ) − E[M (f )])2 + σ 2 (M (f )), wobei σ = √ Var, Var die Varianzfunktion. Definition 2.2. Die Größe E [M (f )] − S(f ) heißt Bias von M bei Eingabe f . Ist der Bias für alle f ∈ F null, so heißt M erwartungstreu für die Approx. von S auf F . Ist M erwartungstreu, so gilt für alle f ∈ F ∆(M, f ) = σ(M (f )). Kosten von Berechnungen im Real Number Model“: ” • Arithmetische und Vergleichsoperationen sowie Aufruf des Zufallszahlengenerators kosten 1 (d.h. eine Einheit). • Orakelaufruf zur Auswertung von Funktionen f mit dom(f ) ⊆ Rd kosten c ≥ d. Annahme: Kosten für Berechnung von M (f ) durch MC-Algo. M ist für jedes f ∈ F Zufallsvariable cost(M, f, ·) : Ω → N. Definition 2.3. Sei f ∈ F und cost(M, f, ·) ∈ L1 (Ω). Die (mittleren) Kosten des MC-Algo. M bei Eingabe f sind cost(M, f ) = E[cost(M, f, ·)]. Ist M deterministisch, so sind M (f, ·) und cost(M, f, ·) konstant für alle f ∈ F . Kann man Fehler oder Kosten nicht exakt bestimmen, so studiert man deren asymptotisches Verhalten. Definition 2.4. Zwei Folgen (an ), (bn ) in [0, ∞) heißen schwach-asymptotisch äquivalent an bn , falls Konstanten 0 < c1 ≤ c2 und ein n0 ∈ N ex. mit c 1 an ≤ b n ≤ c 2 an 2.3 Zählprobleme [Vorgehen wie in [7, Kapitel 2.3].] für alle n ≥ n0 . 7 3 Verfahren der Direkten Simulation Vereinfachte Schreibweisen: Ist die Eingabe f des Monte-Carlo-Algorithmus M fixiert oder irrelevant, so schreiben wir kurz M = M (f ), 3.1 ∆(M ) = ∆(M, f ), cost(M ) = cost(M, f ). Direkte Simulation Bei der Direkten Simulation wird ein Wert a ∈ R durch das arithmetische Mittel einer Folge von unabhängigen und identisch verteilten (i.i.d.) Zufallsvariablen mit (gemeinsamen) Erwartungswert a approximiert. Definition 3.1. Sei a ∈ R und Y eine reell-wertige Zufallsvariable mit E[Y ] = a. Y heißt Basisexperiment. Sei (Yi )i∈N eine Folge von i.i.d. Zufallsvariablen mit der gleichen Verteilung wie Y . Dann heißen die Yi unabhängige Kopien oder Wiederholungen von Y . Der Algorithmus n 1X Dn = Yi (1) n i=1 heißt direkte Simulation von a. Bemerkung 3.2. Dn ist erwartungstreu, i.e., E[Dn ] = a. Ist Y ∈ L2 (Ω), so ∆(Dn ) = σ(Dn ) = (E[(Dn − a)2 ])1/2 . Beispiel 3.3. (a) (2) Klassische Monte-Carlo-Methode“: Hier ist ” Z a = S(f ) = f (x) dx, [0,1]d und das Basisexperiment ist Y = Y (f ) = f (X) mit einer auf [0, 1]d gleichverteilten Zufallsvariable X. Dann Z Z Z X E[Y ] = (f ◦ X)(ω) dP (ω) = f (x) dP (x) = f (x) dx = a, [0,1]d Ω [0,1]d wobei P X das Wahrscheinlichkeitsmaß der Zufallsvariable X ist. Ferner n 1X Dn = M (f ) = f (Xi ), n i=1 wobei (Xi )i∈N eine Folge von unabhängigen Kopien von X ist. (b) Zählprobleme: Vgl. Aufgabe 1.1. 8 3 VERFAHREN DER DIREKTEN SIMULATION Wichtige Fragen: 1. In welchem Sinn und wie schnell konvergiert Dn gegen a? 2. Wie soll man das Basisexperiment Y wählen? 3. Wie lässt sich die Zufallsvariable Y mit der Hilfe von Zufallszahlen (in [0, 1]) simulieren? Frage 3 wird in Kapitel 4 besprochen; hier nehmen wir an, dass wir einen Algorithmus zur Verfügung haben, der Y mit Kosten cost(Y ) simuliert. Zu Frage 1: Satz 3.4. Sei Y ∈ L2 (Ω). Dann gilt für den Fehler der direkten Simulation Dn = 1 n Pn i=1 Yi σ(Y ) ∆(Dn ) = √ . n Beweis. 1 ∆(Dn )2 = σ 2 (Dn ) = 2 σ 2 n n X i=1 ! Yi n n 1 X 2 σ 2 (Y ) 1 X 2 σ (Yi ) = 2 σ (Y ) = . = 2 n i=1 n i=1 n Korollar 3.5. Sei Y ∈ L2 (Ω). Dann haben wir lim ∆(Dn ) = lim E[(Dn − a)2 ] n→∞ 1/2 n→∞ = 0, (3) d.h., Dn konvergiert im quadratischen Mittel gegen a. Zudem konvergiert Dn stochastisch gegen a, lim P (|Dn − a| ≥ ε) = 0 für alle ε > 0. (4) n→∞ Genauer gilt P (|Dn − a| ≥ ε) ≤ 1 σ 2 (Y ) σ 2 (Dn ) = ε2 n ε2 für alle ε > 0. (5) Beweis. Gleichung (3) folgt sofort aus Theorem 3.4 und (4) folgt aus (5). Die Ungleichung (5) hingegen folgt aus der Tschebyscheff-Ungleichung und der stochastischen Unabhängigkeit der Kopien Y1 , . . . , Yn von Y . Die Identität (4) ist gerade das schwache Gesetz der großen Zahlen angewandt auf die Zufallsvariablen Y1 , Y2 , . . .. Zu Frage 2: Implementiert man Dn direkt wie in (1), so gilt cost(Dn ) = n (cost(Y ) + 1) n cost(Y ). 3.2 Beispiel: Cox-Ross-Rubinstein-Modell zur Optionsbewertung 9 Satz 3.4 impliziert das nachfolgende Korollar. Korollar 3.6. Gelten Y ∈ L2 (Ω) und cost(Y ) ≥ 1, so p p √ cost(Y )σ(Y ) cost(Y )σ(Y ) p ≤ ∆(Dn ) ≤ 2 p . cost(Dn ) cost(Dn ) Somit gilt p cost(Y )σ(Y ) ∆(Dn ) p cost(Dn ) Bemerkung 3.7. tional zu gleichmäßig in Y . (6) (i) Um einen Fehler ∆(Dn ) ≤ ε zu erhalten, muss man Kosten propor- cost(Y )σ 2 (Y ) ε2 investieren. Daher sollte man versuchen, das Basisexperiment Y so zu wählen, dass cost(Y )σ 2 (Y ) minimiert wird! (ii) 3.2 Essenz von (6)“: Bei fixiertem Basisexperiment Y ist die Konvergenzrate der direkten ” Simulation 1/2: ∆(Dn ) cost(Dn )−1/2 . Beispiel: Cox-Ross-Rubinstein-Modell zur Optionsbewertung Binomial- oder Cox-Ross-Rubinstein-Modell: Zwei Basisgüter: Aktie und festverzinsliches Wertpapier ( Bond“). ” Preisverlauf der Basisgüter wird zu Zeitpunkten t = 0, 1, . . . , T wie folgt beschrieben: • Preis Bt des Bonds: Bt = (1 + r)t für festes r > 0. • Preis Xt der Aktie: Seien 0 < d < 1 + r < u, p ∈ (0, 1), und seien V1 , . . . , VT unabhängige Zufallsvariablen mit P (Vt = u) = p und P (Vt = d) = 1 − p. (7) Der Preis X0 zum Zeitpunkt t = 0 sei bekannt und Xt = Xt−1 Vt = X0 V1 · · · Vt für t = 1, 2, . . . , T. Der Aktienpreis kann zum Zeitpunkt t genau die t + 1 Werte X0 ut , X0 ut−1 d, . . . , X0 udt−1 , X0 dt annehmen und es gibt 2T mögliche Preisverläufe ( Pfade“), die den T -Tupeln aus {u, d}T entsprechen. ” Finanzderivate: Abgeleitete Finanzinstrumente“, deren Werte auf Preisverlauf der Ba” sisgüter beruhen. Ein Beispiel sind Optionen. Hier wollen wir zwei wichtige Fälle unterscheiden: 10 3 VERFAHREN DER DIREKTEN SIMULATION • Pfadunabhängige Optionen: Die Auszahlung hängt nur vom Wert der Aktie zum Zeitpunkt T ab, ist also von der Form c : R → R und beträgt zum Zeitpunkt T dann c(XT ). Beispiel: Europäischer Call [Put]. Hierbei räumt der Stillhalter des Calls [Puts] dem Inhaber das Recht ein, eine Aktie zum Zeitpunkt T zum vereinbarten Ausübungspreis K zu kaufen [verkaufen]. Für dieses Recht zahlt der Inhaber dem Stillhalter zum Zeitpunkt t = 0 eine Prämie, den Optionspreis. Bei Ausübung kauft [verkauft] der Stillhalter in der Realität nicht die Aktie, sondern zahlt dem Inhaber den Differenzbetrag c(XT ) = max{XT − K, 0} =: (XT − K)+ [c(XT ) = (K − XT )+ ]. • Pfadabhängige Optionen: Die Auszahlung hängt vom Preisverlauf der Aktie ab und hat die Form c : RT +1 → R und beträgt zum Zeitpunkt T dann c(X0 , X1 , . . . , XT ). Beispiel: Barriere-Option. Eine Barriere-Option ist der up-and-out“-europäische ” Call: Der Inhaber erhält vom Stillhalter die Auszahlung XT − K, falls XT > K und zudem für alle t ∈ {0, 1, . . . , T } Xt < L gilt; hierbei ist L > max{K, X0 } die vereinbarte Barriere. Sonst erfolgt keine Auszahlung. Also ist c(X0 , X1 , . . . , XT ) = (XT − K)+ · 1[0,L] (max{X0 , X1 , . . . , XT }). Weiteres Beispiel: Asiatischer Call: Die Auszahlung basiert auf dem Durschnittspreis der Aktie und ist ! T X 1 c(X0 , X1 , . . . , XT ) = . Xt − K T t=1 + Der Preis einer Option wird mit dem Prinzip der Arbitragefreiheit bestimmt, das besagt, dass ohne Anfangskapital kein risikoloser Profit beim Handel mit Option, Aktie und Bond erzielt werden kann. Der faire Preis der Option ist dann der Erwartungswert der diskontinuierten Auszahlung (1 − r)T c(X0 , . . . , XT ) bzgl. eines neuen Wahrscheinlichkeitsmaßes auf {u, d}T . Dies erhält man, indem man den Parameter p durch q= 1+r−d ∈ (0, 1) u−d ersetzt. Das neue Wahrscheinlichkeitsmaß wird mit Pq , Erwartungswerte bzgl. Pq werden mit Eq bezeichnet. Der faire Optionspreis s(c) ist also s(c) = 1 Eq c(X0 , . . . , XT )]. T (1 + r) 3.3 Stärkere Konvergenzaussagen für die direkte Simulation 11 Es gilt Eq [Vt ] = qu + (1 − q)d = 1 + r, also Eq [Xt ] = X0 Eq [V1 ] · · · Eq [Vt ] = X0 Bt . Der Parameter q ist dadurch ausgezeichnet, dass sich die Aktie im Mittel wie das festverzinsliche Wertpapier verhält. Pfadunabhängige Optionen: Anzahl L = |{t ∈ {1, . . . , T } | Vt = u}| der Aufwärtsbewegungen des Aktienpreises sind binomialverteilt mit Parametern T , q: T k k T −k Pq ({XT = X0 u d }) = Pq ({L = k}) = q (1 − q)T −k . k Daraus folgt T X T k 1 1 L T −L L T −L s(c) = E q c X0 u d = c X0 u d q (1 − q)T −k . (1 + r)T (1 + r)T k=0 k Der Aufwand zur direkten Berechnung von s(c) ist linear in T , also vertretbar. Pfadunabhängige Optionen: Im allg. Fall gilt s(c) = 1 (1 + r)T X c (X0 , X0 ν1 , . . . , X0 ν1 · · · νT ) q |{t | νt =u}| (1 − q)|{t | νt =d}| . ν∈{u,d}T Der Aufwand zur Berechnung von s(c) ist im allg. Fall exponentiell in T und nur für kleine Werte von T möglich. Hier bietet sich direkte Simulation an: Man verwendet unabhängige Kopien des Zufallsvektors (V1 , . . . , VT ) und erzeugt damit unabhängige Preisverläufe im Binomialmodell. Als Approximation des fairen Preises nimmt man das arithmetische Mittel der Auszahlungen der Preisverläufe. Erzeugung des Zufalls: Nehme U gleichverteilt auf [0, 1] und setze V = u falls U ≤ q und V = d, falls U > q. V besitzt dann dieselbe Verteilung wie jede der Zufallsvariablen Vt . 3.3 3.3.1 Stärkere Konvergenzaussagen für die direkte Simulation Anwendung des starken Gesetzes der großen Zahlen Sei Y ∈ L1 (Ω) mit E[Y ] = a. Annahme bei der direkten Simulation: Wir haben unabhängige Kopien Y1 , Y2 , . . . von Y und nutzen Realisierungen Y1 (ω), Y2 (ω), . . . für festes ω ∈ Ω um für verschiedene n ∈ N Näherungen n 1X Dn (ω) = Yi (ω) n i=1 zu berechnen. 12 3 VERFAHREN DER DIREKTEN SIMULATION Frage: Gilt Dn (ω) → a für n → ∞? (8) Und wenn ja, mit welcher Konvergenzrate? Bemerkung 3.8. Das (8) fast sicher gilt, ist gerade die Aussage des starken Gesetzes der großen Zahlen (bei identischer Verteilung), s. z.B. [4, 11.18]. Daraus folgt: (a) Realisierungen, bei denen die Folge (Dn (ω))n∈N nicht gegen a konvergiert, treten mit Wahrscheinlichkeit 0 auf. (b) Gleichung (4) gilt bereits unter der Voraussetzung Y ∈ L1 (Ω), da fast sichere Konvergenz immer schon stochastische Konvergenz impliziert. Um eine Aussage über die Konvergenzrate der fast sicheren Konvergenz von Dn gegen a zu erhalten, nutzen wir folgende Verschärfung des Gesetzes der großen Zahlen, s. z.B. [5, Satz 5.29]. Satz 3.9. Seien X1 , X2 , . . . unabhängige, quadratintegrierbare Zufallsvariablen mit E[Xn ] = 0 für alle n ∈ N und sup{σ 2 (Xn ) | n ∈ N} < ∞. Dann gilt für die Folge P Sn = ni=1 Xi , n ∈ N, und jedes ε > 0 lim sup n→∞ |Sn | 1/2 n (ln(n))1/2+ε =0 fast sicher. Korollar 3.10. Sei Y ∈ L2 (Ω). Dann existiert eine messbare Menge Ω0 ⊆ Ω mit P (Ω0 ) = 1 so, dass lim n1/2−δ (Dn (ω) − a) = 0 für alle ω ∈ Ω0 und jedes δ > 0. n→∞ Beweis. Folgt direkt aus Satz 3.9, angewandt auf Xi := Yi − E[Yi ] = Yi − a. Gilt σ(Y ) > 0, so erhält man für die Konvergenzrate der fast sicheren Konvergenz leider nicht 1/2, wie bei der Konvergenz im quadratischen Mittel: Satz 3.11 (Hartmann-Wintner-Gesetz vom iterierten Logarithmus). Seien X1 , X2 , . . . unahbhängige, identisch verteilte, quadratintegrierbare reellwertige Zufallsvariablen mit P E[Xi ] = 0 für alle i ∈ N. Dann gilt für die Folge Sn = ni=1 Xi , n ∈ N, und Sn = σ(X1 ) lim sup p n→∞ 2n ln ln(n) fast sicher Sn lim inf p = −σ(X1 ) n→∞ 2n ln ln(n) fast sicher Für Satz 3.11 siehe z.B. [5, Satz 22.11]. 3.3 Stärkere Konvergenzaussagen für die direkte Simulation 13 Korollar 3.12. Sei Y ∈ L2 (Ω) mit σ(Y ) > 0. Dann lim sup n−1/2 |Dn − a| = ∞ fast sicher. n∈N Beweis. Setze Xi = Yi − a für alle i ∈ N. Dann ist Sn = n(Dn − a) und die Behauptung folgt aus Satz 3.11. Bemerkung 3.13. In der Praxis ist es kaum möglich, zwischen Konvergenzraten 1/2 und 1/2 − δ für beliebig kleines δ > 0 zu unterscheiden. 3.3.2 Anwendung des zentralen Grenzwertsatzes Seien Y ∈ L2 (Ω), σ(Y ) > 0. Standardisierte Summe: Dn∗ √ Dn − E[Dn ] n = = (Dn − a) σ(Dn ) σ(Y ) (9) mit E[Dn∗ ] = 0 und σ(Dn∗ ) = 1. Aus Korollar 3.12 folgt, dass die Folge (Dn∗ )n∈N fast sicher nicht konvergiert. Ist X eine reellwertige Zufallsvariable, so bezeichne F X ihre Verteilungsfunktion und C X die Menge aller Stetigkeitspunkte von F X . Definition 3.14. Seien X und X1 , X2 , . . . reellwertige Zufallsvariablen. (Xn )n∈N konvergiert in Verteilung gegen X, falls für alle u ∈ C X gilt: limn→∞ F Xn (u) = F X (u). Sei Φ die Verteilungsfunktion der Standardnormalverteilung, d.h. Z u 1 2 Φ(u) = √ e−x /2 dx. 2π −∞ Es gilt Φ(−u) = 1 − Φ(u) und Φ ist insbesondere Lipschitz-stetig mit Lipschitz-Konstante √ 1/ 2π. Die folgende Version des zentralen Grenzwertsatzes findet sich z.B. in [6, Satz 12.8]. Satz 3.15 (Zentraler Grenzwertsatz). Die Verteilungsfunktionen der standardisierten Summen Dn∗ konvergieren gleichmäßig gegen Φ: ∗ lim sup |F Dn (u) − Φ(u)| = 0. n→∞ u∈R (10) Insbesondere liegt also Konvergenz in Verteilung vor und man sagt, die Dn∗ , n ∈ N, sind asymptotisch standardnormalverteilt. Setze r Z ∞ 2 2 Ψ(u) := 2(1 − Φ(u)) = e−x /2 dx. π u 14 3 VERFAHREN DER DIREKTEN SIMULATION Satz 3.16. Sei Y ∈ L2 (Ω) mit σ(Y ) > 0. Dann α α = 0. lim sup P |Dn − a| ≥ √ −Ψ n→∞ α≥0 σ(Y ) n Beweis. Aus (10) folgt lim sup |P (v < Dn∗ ≤ u) − (Φ(u) − Φ(v))| ≤ lim sup (|F Dn (u) − Φ(u)| + |F Dn (v) − Φ(v))|) = 0. n→∞ −∞<v≤u<∞ ∗ ∗ n→∞ −∞<v≤u<∞ Ferner gilt für alle ε ∈ (0, 1) lim sup P (Dn∗ = u) ≤ lim sup P (u − ε < Dn∗ ≤ u) n→∞ u∈R ≤ lim sup |P (u − ε < n→∞ u∈R n→∞ u∈R Dn∗ ≤ u) − (Φ(u) − Φ(u − ε))| + sup |Φ(u) − Φ(u − ε)|, u∈R und der vorletzte Term ist Null und der letzte Term strebt gegen für ε gegen Null selbst gegen Null auf Grund der gleichmäßigen Stetigkeit von Φ. Das impliziert limn→∞ supu∈R P (Dn∗ = u) = 0, was wiederum lim sup n→∞ −∞<v≤u<∞ |P (v < Dn∗ < u) − (Φ(u) − Φ(v))| = 0 nach sich zieht. Für v = −u erhalten wir lim sup |P (|Dn∗ | ≥ u) − (1 − Φ(u) + Φ(−u))| = lim sup |P (|Dn∗ | ≥ u) − Ψ(u)| = 0. n→∞ u≥0 n→∞ u≥0 Da für u = α/σ(Y ) gerade {|Dn∗ | √ α α n ≥ u} = |Dn − a| ≥ = |Dn − a| ≥ √ σ(Y ) σ(Y ) n gilt, folgt die Behauptung. Korollar 3.17. Sei Y ∈ L2 (Ω) mit σ(Y ) > 0. Sei (εn )n∈N eine Folge in [0, ∞). Setze pn := P (|Dn − a| ≥ εn ). Dann gilt ( lim pn = n→∞ α Ψ( σ(Y ) ) 0 √ falls limn→∞ εn n = α < ∞, √ falls limn→∞ εn n = ∞. √ Beweis. Setze αn := εn n und cn := Ψ(αn /σ(Y )). Konvergiert (αn )n∈N gegen α ∈ R, so folgt limn→∞ cn = Ψ(α/σ(Y )). Gilt limn→∞ αn = ∞, so folgt limn→∞ cn = 0. Aus Satz 3.16 folgt limn→∞ |pn − cn | = 0. Definition 3.18. Es seien f, g : R → R zwei Funktionen, und es existiere ein r0 > 0 3.3 Stärkere Konvergenzaussagen für die direkte Simulation 15 mit g(r) > 0 für alle r ≥ r0 . Wir sagen f und g sind stark asymptotisch äquivalent und (u) schreiben f (u) ≈ g(u), falls limu→∞ fg(u) = 1. Analog definieren wir stark asymptotische Äquivalenz für Folgen. 2 Lemma 3.19. Es gilt 1 − Φ(u) ≈ √12π u1 exp − u2 . Beweis. Aufgabe 2 des Übungsblatts 2. √ Für α > 0, n ∈ N sei εn = α/ n. Vergleichen jetzt Grenzwert Ψ(α/σ(Y )) der Wahrscheinlichkeiten pn aus Korollar 3.17 mit Schranke pn ≤ σ 2 (Y )/α2 aus TschebyscheffUngleichung: • Ψ(α/σ(Y )) < 1 für alle α > 0, die Tschebyscheff-Ungleichung hingegen liefert nur für α > σ(Y ) nicht-triviale Schranken. • Ψ(α/σ(Y )) < 31 (σ 2 (Y )/α2 ) für alle α > 0. • Aus Lemma 3.19 folgt Ψ α σ(Y ) r α2 α 2 σ(Y ) exp − 2 =2 1−Φ ≈ ; σ(Y ) π α 2σ (Y ) somit ist Ψ(α/σ(Y )) für große Werte α viel kleiner als σ 2 (Y )/α2 . [S. Tabelle 3.2, Zettel.] Beispiel 3.20 (Numerische Integration). Seien f (x) = x−1/4 und Z a= 0 1 4 f (x) dx = x3/4 3 1 x=0 4 = . 3 P Approximation von a durch direkte Simulation: Dn = n1 ni=1 f (Xi ), wobei X eine auf [0, 1] gleichverteilte Zufallsvariable und X1 , X2 , ... unabhängige Kopien von X sind. Berechnen Approximationen pbn,ε für Wahrscheinlichkeiten pn,ε = P (|Dn − 43 | ≥ ε) durch direkte Simulation: Dazu wird für jedes n das Basisexperiment Yn,ε = 1{|Dn − 4 |≥ε} 3 m = 108 mal wiederholt. Es ist 2 Z σ (Y ) = 0 [S. Tabelle 3.3, Zettel.] 1 2 4 2 −1/4 dx = . x − 3 9 16 3 VERFAHREN DER DIREKTEN SIMULATION Für ε = 10−2 und n ≥ 5 · 104 liegen große relative Abweichungen zwischen pbn,ε und √ Ψ(ε n/σ(Y )) vor. Das lässt keine Schlüsse über die Approximationsgenauigkeit des Zentralen Grenzwertsatzes zu, sondern ist ein grundsätzliches Problem der direkten Simulation: Die zu approximierende Größe multipliziert mit der Anzahl m der Wiederholungen darf nicht zu klein sein! Gilt im Beispiel pn,ε ≤ 1/2m, so folgt für jedes pbn,ε ∈ {0, 1/m, 2/m, . . . , 1} |b pn,ε − pn,ε | ≥ 1. pn,ε Für m = 108 Wiederholung lassen sich also Wahrscheinlichkeiten p ≤ 5 · 10−9 bestenfalls mit relativer Abweichung 1 approximieren. Satz 3.21 (Hoeffding-Ungleichung). X1 , X2 , . . . unabhängige, zentrierte Zufallsvariablen mit αi ≤ Xi ≤ βi , αi , βi ∈ R. Für alle η > 0 gilt n ! X 2η 2 . P Xi ≥ η ≤ 2 exp − Pn 2 i=1 (βi − αi ) i=1 Beweis. Aufgabe 1 des Übungsblatts 2. Korollar 3.22. Das Basisexperiment Y mit E[Y ] = a erfülle α ≤ Y ≤ β, α, β ∈ R. Für alle ε > 0 gilt 2nε2 P (|Dn − a| ≥ ε) ≤ 2 exp − . (11) (β − α)2 Beweis. Setze Xi = Yi − a und η = nε. Dann folgt (11) aus der Hoeffding-Ungleichung. √ Seien 0 ≤ Y ≤ 1, α > 0 und εn = α/ n für n ∈ N. Für pn = P (|Dn − a| ≥ εn ) vergleichen wir die obere Schranke 2 exp(−2α2 ) aus (11) mit dem Grenzwert Ψ(α/σ(Y )) der pn aus Korollar 3.17: Nach Lemma 3.19 gilt α α 1 − Φ Ψ σ(Y ) σ(Y ) 1 σ(Y ) 1 2 = ≈√ exp −2α −1 2 exp(−2α2 ) exp(−2α2 ) 4σ 2 (Y ) 2π α 1 α 1 2 − ln(2π) . = exp −2α − 1 − ln 4σ 2 (Y ) σ(Y ) 2 Es gilt σ 2 (Y ) ≤ 1/4 mit Gleichheit genau dann, wenn P (Y = 1) = 1/2 = P (Y = 0). Selbst im Fall σ 2 (Y ) = 1/4 ist Ψ(α/σ(Y )) für großes α deutlich kleiner als 2 exp(−2α2 ). [S. Tabelle 3.4, Zettel.] 3.4 Varianzschätzung und Konfidenzintervalle 3.4 17 Varianzschätzung und Konfidenzintervalle 3.4.1 Standardmethode zur Schätzung von σ 2 (Y ) Im Allg. kennt man die Varianz σ 2 (Y ) des Basisexperiments Y nicht. Um die Identität für den mittleren quadratischen Fehler der Direkten Simulation (s. Satz 3.4), die TschebyscheffUngleichung (s. (5)), Bemerkung 3.7(i) oder z.B. die asymptotischen Resultate aus Korollar 3.17 nutzen zu können, benötigen wir einen Näherungswert für σ 2 (Y ). Definition 3.23. Seien Y1 , Y2 , . . . unabhängige Kopien des Basisexperiments Y . Dann heißt die Zufallsvariable n 1 X (Yi − Dn )2 Vn = n − 1 i=1 empirische Varianz. Eine Realisierung Vn (ω) nennt man dann empirische Varianz oder Stichprobenvarianz der Daten Y1 (ω), Y2 (ω), . . .. Es gilt n n 1 X 2 2 1 X 2 Vn = Yi − Yi − 2Yi Dn + Dn2 = n − 1 i=1 n − 1 i=1 n−1 = 1 n−1 n X Yi2 − i=1 n X i=1 ! Yi Dn + n D2 n−1 n n D2 . n−1 n (12) Satz 3.24. (a) Sei Y ∈ L2 (Ω). Dann ist Vn erwartungstreu für die Approximation von σ 2 (Y ), i.e., E[Vn ] = σ 2 (Y ). (b) Sei Y ∈ L4 (Ω). Dann ist Vn ∈ L2 (Ω) und 1 ∆ (Vn ) = E (Vn − σ 2 (Y ))2 = σ 2 (Vn ) = n 2 n−3 4 4 σ (Y ) . E[(Y − a) ] − n−1 Satz 3.25. Sei Y ∈ L2 (Ω). Dann gilt fast sicher limn→∞ Vn = σ 2 (Y ). Beweis. Analog wie in (12) folgt n n 1 X 1 X n Vn = ((Yi − a) − (Dn − a))2 = (Yi − a)2 − (Dn − a)2 . n − 1 i=1 n − 1 i=1 n−1 Nach starkem Gesetz der großen Zahlen gilt fast sicher lim n→∞ n (Dn − a)2 = lim (Dn − a)2 = 0 n→∞ n−1 18 3 VERFAHREN DER DIREKTEN SIMULATION und, angewandt auf die Folge (Yi − a)2 , i ∈ N, unabhängiger Zufallsvariablen, n 1 X lim (Yi − a)2 = lim n→∞ n − 1 n→∞ i=1 3.4.2 n n−1 n 1X (Yi − a)2 = σ 2 (Y ). n i=1 Konfidenzintervalle Gesucht: Zu vorgegebenem δ > 0 und gegebenen Realisierungen Y1 (ω), Y2 (ω), . . . , Yn (ω) ein möglichst kleines Intervall In (ω) = [Dn (ω) − Ln (ω), Dn (ω) + Ln (ω)], (13) P (a ∈ In ) ≥ 1 − δ (14) das erfüllt; hierbei sei die reellwertige Zufallsvariable Ln von der Form Ln = `n (Y1 , . . . , Yn ) für eine messbare Abbildung `n : Rn → [0, ∞). So ein Intervall In heißt Konfidenzintervall zum Niveau 1 − δ für a = E[Y ]. 1. Ansatz via Tschebyscheff-Ungleichung: Sei Y ∈ L2 (Ω). Aus der TschebyscheffUngleichung folgt σ 2 (Dn ) σ(Y ) ≤ 2 = δ. P |Dn − a| > √ σ (Y )/nδ nδ √ Somit gilt für Ln = σ(Y )/ nδ in (13): P (a ∈ In ) = P (Dn − Ln ≤ a ≤ Dn + Ln ) = P (|Dn − a| ≤ Ln ) ≥ 1 − δ. Probleme: • In lässt sich nur mit Kenntnis von σ 2 (Y ) berechnen; die Varianz ist aber in der Regel unbekannt. • Die Tschebyscheff-Ungleichung überschätzt vor allem für große n σ(Y ) P |Dn − a| > √ nδ und gibt daher zu große Konfidenzintervalle an. 2. Ansatz via Hoeffding-Ungleichung: Sei α ≤ Y ≤ β. Für kleine Werte von δ lassen sich mit der Hoeffding-Ungleichung kleinere Konfidenzintervalle als mit der TschebyscheffUngleichung konstruieren. 3.4 Varianzschätzung und Konfidenzintervalle 19 Satz 3.26. Sei α ≤ Y ≤ β für α, β ∈ R. Dann erhält man für r ln(2/δ) Ln = · (β − α) 2n ein Konfidenzintervall In = [Dn − Ln , Dn + Ln ] zum Niveau 1 − δ für a = E[Y ]. Beweis. Aus Korollar 3.22 folgt P (|Dn − a| > Ln ) ≤ 2 exp(−2nL2n /(β − α)2 ) = 2 exp(− ln(2/δ)) = δ. Also P (a ∈ In ) = 1 − P (|Dn − a| > Ln ) ≥ 1 − δ. Das Konfidenzintervall In aus Satz 3.26 hat deterministische (!) Länge r 2 ln(2/δ) (β − α). 2Ln = n Die Anzahl n der Wiederholungen des Basisexperiments Y kann apriori so gewählt werden, dass zu gewähltem δ eine vorgegebene obere Schranke für die Länge des Konfidenzintervalls nicht überschritten wird. 3. Ansatz via Zentralem Grenzwertsatz: Hat man keine zusätzliche Informationen über die Verteilung des Basisexperiments Y , so lässt sich immer noch der Zentrale Grenzwertsatz zur Konstruktion asymptotischer Konfidenzintervalle verwenden. Dazu benötigen wir die folgenden Hilfsmittel: Lemma 3.27. Seien X, Z Zufallsvariablen und (Xn )n∈N , (Zn )n∈N Folgen von Zufallsvariablen mit Xn → X und Zn → Z in Verteilung. Ist Z konstant, so folgt Xn + Zn → X + Z und Xn · Zn → X · Z in Verteilung. Beweis. Wir nutzen, dass für konstante Zufallsvariable Z die Konvergenz Zn → Z in Verteilung schon äquivalent zur stochastischen Konvergenz Zn → Z ist. Sei Z = c. Sei ferner t ∈ C X , also t + c ∈ C X+Z . Es gilt für ε > 0 {Xn ∈ (−∞, t − ε]} ∩ {|Zn − c| ≤ ε} ⊆ {Xn + Zn ∈ (−∞, t + c]} ⊆ {Xn ∈ (−∞, t + ε]} ∪ {|Zn − c| > ε}. Ist t − ε ∈ C X , so folgt aus Zn → Z in Wahrscheinlichkeit P (Xn + Zn ∈ (−∞, t + c]) ≥ P (Xn ∈ (−∞, t − ε]) − P (|Zn − c| > ε) → P (X ∈ (−∞, t − ε]) = P (X + Z ∈ (−∞, t + c − ε]). 20 3 VERFAHREN DER DIREKTEN SIMULATION Es gilt lim P (X + Z ∈ (−∞, t + c − ε]) = P (∪ε>0 {X + Z ∈ (−∞, t + c − ε]}) ε↓0 =P (X + Z ∈ (−∞, t + c)) = P (X + Z ∈ (−∞, t + c]), da t + c ∈ C X+Z . Daraus folgt lim inf P (Xn + Zn ∈ (−∞, t + c]) ≥ P (X + Z ∈ (−∞, t + c]). n→∞ Andererseits P (Xn + Zn ∈ (−∞, t + c]) ≤ P (Xn ∈ (−∞, t + ε]) + P (|Zn − c| > ε) → P (X ∈ (−∞, t + ε]) für n → ∞ und t + ε ∈ C X . Nun gilt lim P (X ∈ (−∞, t + ε]) = P (∩ε>0 {X ∈ (−∞, t + ε]}) = P (X ∈ (−∞, t]), ε↓0 also lim sup P (Xn + Zn ∈ (−∞, t + c]) ≤ P (X + Z ∈ (−∞, t + c]). n→∞ Insgesamt folgt Xn + Zn → X + Z in Verteilung. Analog beweist man Xn Zn → XZ in Verteilung. Sei Φ−1 : (0, 1) → R die Umkehrfunktion der streng monoton wachsenden Verteilungsfunktion Φ der Standardnormalverteilung. Für α ∈ (0, 1) heißt Φ−1 (α) (unteres) α-Quantil der Standardnormalverteilung. Satz 3.28. Sei Y ∈ L2 (Ω) und σ(Y ) > 0. Mit δ p −1 Ln = Φ Vn /n 1− 2 ist In = [Dn − Ln , Dn + Ln ] ein asymptotisches Konfidenzintervall zum Niveau 1 − δ für a, i.e., lim P (a ∈ In ) = 1 − δ. n→∞ Beweis. Wir setzen ( Ven (ω) = Vn (ω) , falls Vn (ω)) 6= 0, 1, sonst, 1/2 und Zn = σ(Y )/Ven . Es gilt n Ven √ 1/2 (Dn − a) = Zn n (Dn − a) = Zn Dn∗ σ(Y ) 21 mit standardisierter Summe Dn∗ wie in (9). Ferner gilt a ∈ In genau dann, wenn 1/2 δ Vn 1− |Dn − a| ≤ Ln = Φ . 2 n −1 Dies führt zu {a ∈ In } = ({a ∈ In } ∩ {Vn = 0}) ∪ |Zn Dn∗ | ≤Φ −1 δ 1− 2 ∩ {Vn 6= 0} . Aus Satz 3.25 folgt limn→∞ P (Vn = 0) = 0 und Zn → 1 fast sicher, also insbesondere in Verteilung. Der Zentrale Grenzwertsatz und Lemma 3.27 implizieren, dass Zn Dn∗ asymptotisch standardnormalverteilt ist. Also gilt δ δ δ −1 ∗ −1 −1 1− lim P |Zn Dn | ≤ Φ 1− 1− =Φ Φ −Φ −Φ = 1−δ. n→∞ 2 2 2 Insgesamt erhalten wir limn→∞ P (a ∈ In ) = 1 − δ. Beispiel 3.29 (Numerische Integration – Revisited). Seien wie in Beispiel 3.20 f (x) = x−1/4 R1 und a = 0 f (x) dx = 34 ; Basisexperiment sei Y = f (X) mit X uniform verteilt auf [0, 1] (vgl. Beispiel 3.20). Es ist σ 2 (Y ) = 2/9. [S. Abbildungen 3.10 und 3.11, Zettel] 4 4.1 4.1.1 Simulation von Zufallsverteilungen Allgemeinere Methoden Inversionsmethode Gegeben: Verteilungsfunktion F : R → [0, 1]. Gesucht: Zufallsvariable X mit Verteilungsfunktion F X = F . Die verallgemeinerte Inverse G : (0, 1) → R von F X ist definiert durch G(x) = inf{y ∈ R | F X (y) ≥ x} für alle x ∈ (0, 1). Ist U eine auf [0, 1] gleichverteilte Zufallsvariable, so leistet X = G(U ) gerade das Gewünschte (s. Aufgabe 3 auf Blatt 3). 4.1.2 4.2 Verwerfungsmethode Simulation von Normalverteilungen Zur Erinnerung: 22 4 SIMULATION VON ZUFALLSVERTEILUNGEN Definition 4.1. Das (eindeutig bestimmte) Wahrscheinlichkeitsmaß auf Rd mit LebesgueDichte ! d X 1 h(x) = (2π)−d/2 exp − x2 für x ∈ Rd 2 j=1 j heißt d-dimensionale Standardnormalverteilung. Ein Zufallsvektor Z heißt k-dimensional normalverteilt, falls ein d ∈ N, eine Matrix L ∈ Rk×d , ein Vektor b ∈ Rk und ein d-dimensionaler standardnormalverteilter Zufallsvektor X existiert mit Z = LX + b. (15) Bemerkung 4.2. Ein d-dimensionaler Zufallsvektor X ist standardnormalverteilt genau dann, wenn seine Komponenten unabhängig und (eindimensional) standardnormalverteilt sind. Definition 4.3. Für k-dimensionale Zufallsvektor Z = (Z1 , . . . , Zk )T ist E[Z] = (E(Z1 ), . . . , E(Zk ))T der Erwartungswert und k Cov(Z) = Cov(Zi , Zj ) i,j=1 ∈ Rk×k die Kovarianzmatrix von Z. Bemerkung 4.4. (i) Für Z = LX + b gilt E[Z] = L E[X] + b und Cov(Z) = LCov(X)LT . (ii) Jede Kovarianzmatrix ist symmetrisch und positiv-semidefinit; dies folgt sofort aus V T Cov(Z)V = σ 2 (V T Z) ≥ 0 für alle V ∈ Rk . Bemerkung 4.5. (i) Ist X d-dimensional standardnormalverteilt, so ist E[X] = 0 und Cov(X) = Idd ∈ Rd×d ; dies folgt sofort aus Bemerkung 4.2 (ii) Ist Z von der Form (15), so gilt E[Z] = b und Cov(Z) = LLT . LITERATUR 23 Literatur [1] M. B. Giles, Multilevel Monte Carlo path simulation, Oper. Res. 56 (2008), 607–617. [2] M. B. Giles, Multilevel Monte Carlo methods, in: Monte Carlo and Quasi-Monte Carlo Methods 2012, 83–103, Springer, Heidelberg, 2013. [3] P. Glasserman, Monte Carlo Methods in Financial Engineering, Springer-Verlag, New York, 2004. [4] A. Irle, Wahrscheinlichkeitstheorie und Statistik, Teubner, Stuttgart/Leipzig/Wiesbaden, 2001. [5] A. Klenke, Wahrscheinlichkeitstheorie, 3. Auflage, Springer-Verlag, Berlin Heidelberg, 2013. [6] U. Krengel, Einführung in die Wahrscheinlichkeitstheorie und Statistik, 8. Auflage, Vieweg, Wiesbaden, 2005. [7] T. Müller-Gronbach, E. Novak, K. Ritter, Monte Carlo-Algorithmen, Springer-Verlag, Berlin Heidelberg, 2012.