Stochastik-Praktikum Simulation stochastischer Prozesse Peter Frentrup Humboldt-Universität zu Berlin 27. November 2017 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 1 / 24
Übersicht 1 Random Walk 2 Brownsche Bewegung 3 Diffusionen und Stochastische DGL (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 2 / 24
Vorbemerkungen Ein stochastischer Prozess X = (X t ) t T ist eine indizierte Kollektion von Zufallsgrößen. Genauer: X : Ω T (X, F), X (ω, t) := X t (ω) messbar t T. Sei T geoordnet (Zeit, z.b. N, [0, T ]). Für fixiertes ω Ω heißt X (ω, ) ein Pfad des stochastischen Prozesses X. Filtration (F t ) t T : wachsende Familie von Sub-σ-Algebren von F auf X (X, F, (F t ) t T, P) heißt filtrierter Wahrscheinlichkeitsraum. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 3 / 24
Random Walk Definition Es seien Z i, i {1,..., n}, i.i.d. Zufallsvariablen mit P[Z i = 1] = p = 1 P[Z i = 1]. Die Zufallsvariable S n := n i=1 Z i beschreibt eine (eindimensionale) Irrfahrt (random walk) in Z. Für p = 1/2 ist dies die so genannte symmetrische Irrfahrt. S n nimmt Werte in [ n, n] an. n: E[S n ] = 0 und Var(S n ) = n. Reskaliert konvergiert die Irrfahrt in Verteilung gegen die Brownsche Bewegung (ZGWS bzw. Donsker): S n t n D Bt bzw. allgemeiner S n n D B (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 4 / 24
Reskalierter symmetrischer Random Walk 1D-Brownsche Bewegung als Limes des Simple Random Walk 1.5 1.0 0.5 0.0 0.5 1.0 0.0 0.2 0.4 0.6 0.8 1.0 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 5 / 24
Python: Random Walk d e f simplescaledrandomwalk ( n, T ) : Perform a random walk o f n s t e p s on [ 0, T ] w i t h s p a c i a l s c a l i n g f a c t o r s q r t (T/n ). t s = np. l i n s p a c e ( 0, T, n+1) c o i n s = np. random. u n i f o r m ( s i z e=n+1) dxs = ( 2. 0 ( c o i n s > 0. 5 ) 1) np. s q r t ( f l o a t (T) / n ) dxs [ 0 ] = 0. 0 x s = np. cumsum ( dxs ) r e t u r n ts, x s ts, x s = simplescaledrandomwalk ( 1 0, 1) p l t. p l o t ( ts, xs, r ) (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 6 / 24
Übersicht 1 Random Walk 2 Brownsche Bewegung 3 Diffusionen und Stochastische DGL (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 7 / 24
Brownsche Bewegung Definition Sei (F t ) eine Filtration. Ein (F t )-adaptierter stochastischer Prozess (B t ) t 0 auf (Ω, F, (F t ), P) heißt (Standard-)brownsche Bewegung (oder Wiener-Prozess) bzgl. (F t ), falls gilt: (BB1) B 0 = 0 P-f.s., (BB2) Für alle t s ist (B t B s ) unabhängig von F s, (BB3) (BB4) Zuwächse (B t B s ), 0 s t, sind N (0, t s)-verteilt, (B t ) t 0 hat P-f.s. stetige Pfade. Oft ist z.b. F t := σ(b u : u t). (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 8 / 24
Satz Ist B = (B t ) t 0 eine brownsche Bewegung, so auch jeder der folgenden Prozesse: (i) B 1 := B (Spiegelungsprinzip) (ii) Für festes s 0: B 2 t := B s+t B s, t 0 (Zeithomogenität) (iii) Für festes c > 0: B 3 t := c 1 B c 2 t, t 0 (Skalierung) (iv) Für festes T > 0: Bt 4 := B T B T t, 0 t T (Zeitinversion) { (v) Bt 5 tb := 1/t, t > 0, (Inversion) 0, t = 0. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 9 / 24
Satz Ist B = (B t ) t 0 eine brownsche Bewegung, so auch jeder der folgenden Prozesse: (i) B 1 := B (Spiegelungsprinzip) (ii) Für festes s 0: B 2 t := B s+t B s, t 0 (Zeithomogenität) (iii) Für festes c > 0: B 3 t := c 1 B c 2 t, t 0 (Skalierung) (iv) Für festes T > 0: Bt 4 := B T B T t, 0 t T (Zeitinversion) { (v) Bt 5 tb := 1/t, t > 0, (Inversion) 0, t = 0. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 9 / 24
Satz Ist B = (B t ) t 0 eine brownsche Bewegung, so auch jeder der folgenden Prozesse: (i) B 1 := B (Spiegelungsprinzip) (ii) Für festes s 0: B 2 t := B s+t B s, t 0 (Zeithomogenität) (iii) Für festes c > 0: B 3 t := c 1 B c 2 t, t 0 (Skalierung) (iv) Für festes T > 0: Bt 4 := B T B T t, 0 t T (Zeitinversion) { (v) Bt 5 tb := 1/t, t > 0, (Inversion) 0, t = 0. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 9 / 24
Satz Ist B = (B t ) t 0 eine brownsche Bewegung, so auch jeder der folgenden Prozesse: (i) B 1 := B (Spiegelungsprinzip) (ii) Für festes s 0: B 2 t := B s+t B s, t 0 (Zeithomogenität) (iii) Für festes c > 0: B 3 t := c 1 B c 2 t, t 0 (Skalierung) (iv) Für festes T > 0: Bt 4 := B T B T t, 0 t T (Zeitinversion) { (v) Bt 5 tb := 1/t, t > 0, (Inversion) 0, t = 0. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 9 / 24
Satz Ist B = (B t ) t 0 eine brownsche Bewegung, so auch jeder der folgenden Prozesse: (i) B 1 := B (Spiegelungsprinzip) (ii) Für festes s 0: B 2 t := B s+t B s, t 0 (Zeithomogenität) (iii) Für festes c > 0: B 3 t := c 1 B c 2 t, t 0 (Skalierung) (iv) Für festes T > 0: Bt 4 := B T B T t, 0 t T (Zeitinversion) { (v) Bt 5 tb := 1/t, t > 0, (Inversion) 0, t = 0. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 9 / 24
Markov-Eigenschaft und Simulation Korollar Aus den Eigenschaften der brownschen Bewegung und dem vorangehenden Satz folgt die Markov-Eigenschaft: B t := B t+s B s, t 0 ist eine brownsche Bewegung und unabhängig von F s. Die bedingte (reguäre) Verteilung von B t+s gegeben F s ist also die Normalverteilung N (B s, t) und hängt nur von B s und t ab. Exakte zeitdiskrete Simulation als gaußscher Random Walk! (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 10 / 24
Python: Brownsche Bewegung auf Zeitgitter d e f standardbrownianmotion ( n, T ) : S i m u l a t e a 1D s t a n d a r d Brownian motion on [ 0, T ] w i t h n Brownian i n c r e m e n t s. t s = np. l i n s p a c e ( 0, T, n+1) dxs = np. random. normal ( l o c =0, s c a l e=np. s q r t ( f l o a t (T) / n ), s i z e =(n+1)) dxs [ 0 ] = 0. 0 x s = np. cumsum ( dxs ) r e t u r n ts, x s t s = np. l i n s p a c e ( 0, 1, 100) x s = np. s q r t ( t s ) p l t. p l o t ( ts, xs, r, ts, xs, r ) f o r i i n range ( 0, 1 0 0 ) : ts, Bs = standardbrownianmotion (1000, 1) p l t. p l o t ( ts, Bs, l i n e w i d t h =0.1) (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 11 / 24
100 brownsche Bewegungen 3 2 1 0 1 2 3 0.0 0.2 0.4 0.6 0.8 1.0 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 12 / 24
Weitere Eigenschaften der brownschen Bewegung Satz Es sei B = (B t ) t 0 eine brownsche Bewegung. Dann gilt: 1 Die Pfade von B sind fast sicher nirgends differenzierbar. 2 Die Pfade von B sind auf jedem Intervall fast sicher von unbeschränkter Variation. 3 Das Wachstumsverhalten lässt sich durch das Gesetz vom iterierten Logarithmus beschreiben: lim sup t B t (ω) 2t log(log(t)) = 1 für P fast alle ω Ω. 4 Eine brownsche Bewegung ist stetiger zentrierter Gauß-Prozess mit Cov(B s, B t ) = s t s, t 0 (g.d.w.). (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 13 / 24
Fast-sichere-Konvergenz: Lévy-Konstruktion der B.B. Konstruktion mit pfadweise f.s.-konvergenz (statt Verteilungskonvergenz wie bei Donsker): Sei n N 0, D n := {k/2 n : k N, 0 k 2 n } und D := n=1 D n. (Z t ) t D seien unabh. standardnormalverteilte Zufallsvariablen. Funktionenfolge F n : [0, 1] R definiert durch F 0 (t) := tz 1 und 2 Z t, t D n+1 n \ D n 1, F n (t) := 0, t D n 1, linear interpoliert, sonst. Dann ist B t := f.s.- lim N N 0 F n(t) eine brownsche Bewegung auf [0, 1]. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 14 / 24
Fast-sichere-Konvergenz: Lévy-Konstruktion der B.B. Dann ist B t := f.s.- lim N N 0 F n(t) eine brownsche Bewegung auf [0, 1]. Dabei ist B 0 = 0, B 1 = Z 1 und B t = B t +B t + 2 + Zt, wobei 2 n+1 B+ t den rechten und Bt den linken Nachbarpunkt nach einer Intervallhalbierung bezeichnen. Konkret gilt z.b. für die ersten Schritte B 1/2 = B 0 + B 1 2 + Z1 /2 2, B 1/4 = B 0 + B 1/2 2 + Z1 /4 und B 3/4 = B1 /2 + B 1 8 2 Der entstehende Prozess hat zu jeder Zeit t die Varianz t.... + Z3 /4 8 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 14 / 24
Lévy-Konstruktion der brownschen Bewegung 0.6 0.4 0.2 0.0 0.2 0.4 0.0 0.2 0.4 0.6 0.8 1.0 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 15 / 24
Zweidimensionale Brownschen Bewegung Definition Ein stochastischer Prozess (B t ) t 0 mit Werten im R d heißt d-dimensionale brownsche Bewegung, falls die Koordinaten (B i ) t, i {1,..., d}, stochastisch unabhängige eindimensionale brownsche Bewegungen sind. d e f standardbrowninanmotion2d ( n, T ) : dbxy = np. random. normal ( l o c =0, s c a l e=np. s q r t ( f l o a t (T) / n ), s i z e =(n+1, 2 ) ) dbxy [ 0, : ] = 0. 0 r e t u r n dbxy. cumsum ( a x i s =0) Bxy = standardbrowninanmotion2d ( 1000, T=1.0) p l t. p l o t ( Bxy [ :, 0 ], Bxy [ :, 1 ] ) (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 16 / 24
2D brownsche Bewegung 0.50 0.25 0.00 start 0.25 0.50 0.75 1.00 1.25 end 0.8 0.6 0.4 0.2 0.0 0.2 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 17 / 24
Übersicht 1 Random Walk 2 Brownsche Bewegung 3 Diffusionen und Stochastische DGL (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 18 / 24
Diffusionen Unter einem Diffusionsprozess versteht man z.b. einen Prozess der Form X t = X 0 + µt + σb t, t 0, mit einer brownschen Bewegung B. Ein X t wie oben wird teils als allgemeine Brownsche Bewegung mit Drift µ und Volatilität σ bezeichnet. Allgemeiner erfüllt ein Diffusion eine stochastische DGL dx t = µ dt + σ db t mit Koeffizienten µ, σ, die Funktionen von (t, X t ) sein dürfen (oben: Konstanten). (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 19 / 24
Python: Diffusion d e f d i f f u s i o n ( x0, n, T, mu, sigma ) : S i m u l a t e dx t = mu dt + sigma db t on [ 0,T] w i t h X 0 = x0, u s i n g n i n c r e m e n t s. Return ( ts, Xs ), time and s p a c e c o o r d i n a t e s. dt = T/n t s = np. l i n s p a c e ( 0,T, n+1) dxs = mu dt + sigma np. random. normal ( l o c =0, s c a l e=np. s q r t ( dt ), s i z e=n+1) dxs [ 0 ] = x0 Xs = np. cumsum ( dxs ) r e t u r n ts, Xs ts, Xs = d i f f u s i o n ( 0, 10000, 5, 1, 0. 5 ) p l t. p l o t ( ts, Xs ) (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 20 / 24
0 Diffusion 1 2 3 4 5 0 1 2 3 4 5 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 21 / 24
Diffusionen mit Konfidenzbändern bei ±1STD 0 2 4 6 8 0 1 2 3 4 5 (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 22 / 24
SDGL Approximation: Das Eulerschema Was eine Lösung (X t ) einer stochastischen DGL der Form X 0 = x 0, dx t = µ(t, X t ) dt + σ(t, X t ) db t genau ist, wird erst durch die VL Stochastische Analysis geklärt! (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 23 / 24
SDGL Approximation: Das Eulerschema stochastischen DGL X 0 = x 0, dx t = µ(t, X t ) dt + σ(t, X t ) db t Das Eulerschema ist intuitiv plausibel als numerische SDGL-Approximation X t entlang eines diskreten Zeitgitters t k = k/n mit t := 1/n und B tk := B tk B tk 1 : X 0 := x 0, Xtk = X tk 1 + µ(t, X tk 1 ) t + σ(t, X tk 1 ) B tk, wobei die B tk = B tk B tk 1 als i.i.d. N (0, t)-verteilte Zufallsvariablen simuliert werden. (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 23 / 24
Beispiel zum Eulerschema Die Stochastische Analysis wird zeigen, dass die SDGL X 0 = 1, dx t = X t a db t mit a R als Lösung die geometrische brownsche Bewegung X t = exp(ab t a 2 t/2) hat, das sogenannte Stochastische Exponential von ab t. Das Eulerschema liefert als zeitdiskrete Approximation hierfür X 0 = 1, Xtk := X tk 1 + X tk 1 a B tk (Humboldt-Universität zu Berlin) Zufallszahlen und Monte Carlo 27. November 2017 24 / 24