euler-approximation · 2012-06-08 · technischeuniversitätdortmund fakultätstatistik seminar...

16
Technische Universität Dortmund Fakultät Statistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation Leonie van de Sandt 22. Mai 2012 Prof. Dr. Christine Müller SS 2012

Upload: others

Post on 22-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

Technische Universität DortmundFakultät Statistik

Seminar Grundlagen der Simulation und Statistikvon dynamischen Systemen

Euler-Approximation

Leonie van de Sandt

22. Mai 2012

Prof. Dr. Christine MüllerSS 2012

Page 2: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

Inhaltsverzeichnis

2

Page 3: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

1 Einleitung

Das Thema dieses Berichts ist die Euler-Approximation. Sie bietet ein häufig verwen-detes numerisches Verfahren um Lösungen von stochastischen Differentialgleichungenzu simulieren. Generell basieren Simulationsmethoden von Lösungen stochastischerDifferentialgleichungen auf diskreten Approximationen von stetigen Lösungen und sindnach ihren verschiedenen Merkmalen klassifiziert. Dabei bestehen hauptsächlich zweiOptimalitätskriterien: die schwache Konvergenz und die starke Konvergenz. In diesemBericht wird die Euler-Approximation definiert und erläutert. Nach einer Vorstellungder verwendeten statistischen Methoden wird zunächst die Motivation und Definitionder Euler-Approximation vorgestellt. Anschießend werden Beispiele der Simulation vor-gestellt und grafisch dargestellt. Die zu approximierenden Prozesse in den vorgeführtenSimulationen sind der Ornstein-Uhlenbeck-Prozess und der Cox-Ingersoll-Ross-Prozess.Beim Ornstein-Uhlenbeck-Prozess soll außerdem die Güte der Approximation veran-schaulicht werden. Es wird sich insbesondere bei den Ausführungen der Simulationen anKapitel 2.1 des Buches „Simulation and Inference for Stochastic Differential Equations“von S.M. Iacus aus dem Jahre 2008 orientiert.

2 Statistische Methoden

2.1 Starke Konvergenz

Gegeben sei ein stetiger stochastischer Prozess Y , welcher diskretisiert wird zu Yδ mitgrößter Schrittweite δ. Yδ konvergiert stark gegen Y mit Ordnung γ, falls gilt:

E(|Y (t)− Yδ(t)|) ≤ cδγ,

wobei c konstant und unabhängig von δ ist (vgl. Iacus, 2008, S. 61 und Singer, 1999, S.65).

2.2 Schwache Konvergenz

Ist man nur am Erwartungswert der Funktion g(Y (t)) interessiert, so ist die schwacheKonvergenz von Bedeutung. Gegeben sei ein stetiger stochastischer Prozess Y , welcherdiskretisiert wird zu Yδ mit größter Schrittweite δ. Ebenfalls sei gegeben eine 2(β + 1)

3

Page 4: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

mal stetig differenzierbare Funktion g von polynomiellem Wachstum. Yδ konvergiertstark gegen Y mit Ordnung β, falls gilt:

|E(g(Y (t)))− E(g(Yδ(t)))| ≤ cδβ,

wobei c konstant und unabhängig von δ ist (vgl. Iacus, 2008, S. 62 und Singer, 1999, S.65).

2.3 Der Orstein-Uhlenbeck-Prozess

Der Ornstein-Uhlenbeck-Prozess ist die eindeutige Lösung der stochastischen Differenti-algleichung

dXt = (θ1 − θ2Xt)dt+ θ3dWt

mit X0 = x0, θ3 ∈ R+ und θ1, θ2 ∈ R. Für θ2 > 0 pendelt der Prozess um einengleichmäßigen Wert. Im Gegensatz zur Brownschen Bewegung besitzt dieser Prozess einebegrenzte Varianz für t ≥ 0. Die explizite Lösung der genannten Differentialgleichungist dann gegeben durch

Xt = θ1

θ2+(x0 −

θ1

θ2

)e−θ2t + θ3e

−θ2t∫ t

0e−θ2(u)dWu

(vgl. Iacus, 2008, S. 44).

2.4 Der Cox-Ingersoll-Ross-Prozess

Der Cox-Ingersoll-Ross-Prozess ist die Lösung der stochastischen Differentialgleichung

dXt = (θ1 − θ2Xt)dt+ θ3

√XtdWt

mit θ1, θ2, θ3 ∈ R+. Für 2θ1 > θ23 ist der Prozess immer positiv, andernfalls kann er

zusätzlich den Wert 0 annehmen. Die explizite Lösung der obigen Differentialgleichungist dann

Xt = θ1

θ2+(x0 −

θ1

θ2

)e−θ2t + θ3e

−θ2t∫ t

0eθ2u

√XudWu

(vgl. Iacus, 2008, S. 47).

4

Page 5: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

3 Motivation und Definition derEuler-Approximation

Die Euler-Approximation kann Lösungen stochastischer Differentialgleichungen generie-ren. Dabei ist der Itò-Prozess {Xt, 0 ≤ t ≤ T} gegeben als Lösung der stochastischenDifferentialgleichung

dXt = b(t,Xt)dt+ σ(t,Xt)dWt

mit deterministischem Anfangswert Xt0 = X0 und Diskretisierung ΠN = ΠN ([0, T ]) desIntervalls [0, T ], 0 = t0 < t1 < ... < tN = T . Die Euler-Approximation von X ist ein steti-ger stochastischer Prozess Y , welcher dem iterativen Schema

Yi+1 = Yi + b(ti, Yi)(ti+1 − ti) + σ(ti, Yi)(Wi+1 −Wi)

genügt. Hierbei ist i = 0, 1, ..., N − 1 und Y0 = X0. Zur Notation ist zu sagen, dassWi = W (ti) und Yi = Y (ti) gilt. Dabei steht W für den Wiener Prozess. Die Schritt-weite ∆t = ti+1 − ti = 1

Nist dabei konstant. Zwischen den Zeitpunkten ti und ti+1

kann der Prozess verschieden definiert sein. Es liegt nahe hier lineare Interpolationzu verwenden, sodass die Euler-Approximation Y für ein t ∈ [ti, ti+1) definiert wirddurch

Y (t) = Yi + t− titi+1 − ti

(Yi+1 − Yi).

Die Euler-Approximation ist schwach konvergent mit Ordnung β = 1 gegen denzu approximierenden Prozess X und stark konvergent mit Ordnung γ = 1

2 gegenX.

4 Simulation der Euler-Approximation

Um die Euler-Approximation zu simulieren wird das Programm R (R Development CoreTeam, 2011, Version 2.13.1) verwendet.

5

Page 6: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

4.1 Simulation des Ornstein-Uhlenbeck-Prozesses mit derEuler-Approximation

Aus der Definition der Euler-Approximation in Kapitel 3 lässt sich leicht erkennen,dass man zur Simulation mit der Euler-Approximation nur den Wiener Prozess W (t)simulieren muss. Es muss zunächst ein geeigneter Prozess Xt gewählt werden, der eineLösung der Gleichung

dXt = b(t,Xt)dt+ σ(t,Xt)dWt

ist. Zu simulieren ist dann die Euler-Approximation Yt. Man wähle hier als Beispiel aus Ia-cus(2008) den Ornstein-Uhlenbeck-Prozess, der eine Lösung der Gleichung

dXt = (θ1 − θ2Xt)dt+ θ3dWt

ist. Dabei ist dann b(t, x) = (θ1−θ2x) und σ(t, x) = θ3. Außerdem ist noch der StartwertX0 = x zu wählen, sowie die Parameter θ1, θ2 und θ3, welche in diesem Beispiel die WerteX0 = 10, θ1 = 0, θ2 = 5 und θ3 = 3.5 haben. Der Euler-Algorithmus ist dann beschriebendurch den folgenden R-Code (vgl. Iacus, 2008, S. 63).

>set.seed(123)>T <- 1>x <- 10>theta <- c(0, 5, 3.5)>Z <- BM(x=x,T=T,N=100)>>N <- 100>Dt <- T/N>t <- seq(0,T,by=Dt)>Y <- numeric(N+1)>Y[1] <- x>>for(i in 1:N){+ Y[i+1] <- Y[i] + (theta[1] - theta[2]*Y[i])*Dt + theta[3]*(Z[i+1]-Z[i])}>Y <- ts(Y,start=0, deltat=T/N)>plot(Y)

Dabei ergibt sich der schwarz gefärbte Pfad in Abbildung ??.

6

Page 7: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

Time

Y

0.0 0.2 0.4 0.6 0.8 1.0

02

46

810

N=10N=100N=1000

Abbildung 1: Simulation des Ornstein-Uhlenbeck-Prozesses mithilfe der Euler-Approximation

Wenn man nun die Schrittweite ∆t verändert, erhält man die anderen beiden Pfade in Ab-bildung ??. Der blaue Pfad hat die Schrittweite ∆t = 1

10 und der rote Pfad hat die Schritt-weite ∆t = 1

1000 . Um die Approximation zu veranschaulichen, kann man den Ornstein-Uhlenbeck-Prozess zunächst durch die Integralschreibweise

Xt = θ1

θ2+(x0 −

θ1

θ2

)e−θ2t + θ3e

−θ2t∫ t

0e−θ2(u)dWu

grafisch darstellen. In Abbildung ?? ist der Ornstein-Uhlenbeck-Prozess mit der Inte-graldarstellung und mithilfe der Euler-Approximation mit der Schrittweite ∆t = 1

10

erzeugt worden. In den Abbildungen ?? und ?? ist dies für die Schrittweiten ∆t = 1100

und ∆t = 11000 geschehen.

Man erkennt, dass die Euler-Approximation gegen den Ornstein-Uhlenbeck-Prozessapproximiert. Bei kleinerer Schrittweite liegen die beiden Graphen fast übereinander.Bei einer recht großen Schrittweite mit ∆t = 1

10 sieht die Approximation eher schlechtaus. Auffällig ist, dass sich die Graphen mehr am Anfang des Zeitintervalls unterscheiden.Sie laufen bei größer werdendem t ∈ [0, T ] zusammen. Dies ist besonders gut bei derSchrittweite ∆t = 1

100 zu erkennen.

7

Page 8: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

Time

Y

0.0 0.2 0.4 0.6 0.8 1.0

−2

02

46

810

Euler−Approximationvia Integral

Abbildung 2: Simulation des Ornstein-Uhlenbeck-Prozesses mithilfe der Euler-Approximation und durch die Integraldarstellung an 10 Zeitpunkten

Time

Y

0.0 0.2 0.4 0.6 0.8 1.0

02

46

810

Euler−Approximationvia Integral

Abbildung 3: Simulation des Ornstein-Uhlenbeck-Prozesses mithilfe der Euler-Approximation und durch die Integraldarstellung an 100 Zeitpunkten

8

Page 9: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

Time

Y

0.0 0.2 0.4 0.6 0.8 1.0

02

46

810

Euler−Approximationvia Integral

Abbildung 4: Simulation des Ornstein-Uhlenbeck-Prozesses mithilfe der Euler-Approximation und durch die Integraldarstellung an 1000 Zeitpunkten

4.2 Simulation des Cox-Ingersoll-Ross-Prozesses mit derEuler-Approximation

Ein weiteres Beispiel für die Simulation einer Lösung der gegebenen stochastischenDifferentialgleichung durch die Euler-Approximation ist der Cox-Ingersoll-Ross-Prozess.Er löst die Differentialgleichung

dXt = (θ1 − θ2Xt)dt+ θ3

√XtdWt

mit X0 = 5. Hier ist also b(t, x) = θ1− θ2Xt und σ(t, x) = θ3√Xt. In diesem Beispiel ist

(θ1, θ2, θ3) = (1, 1, 1). Im Folgenden ist der R-Code dargestellt.

>set.seed(123)>T <- 10>x <- 10>theta <- c(1, 1, 1)>Z <- BM(x=x,T=T,N=100)>

9

Page 10: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

>N <- 100>Dt <- T/N>t <- seq(0,T,by=Dt1)>Y <- numeric(N1+1)>Y[1] <- x>>for(i in 1:N){+ Y[i+1] <- Y1[i] + (theta[1] - theta[2]*Y[i])*Dt ++ theta[3]*sqrt(Y[i])*(Z[i+1]-Z[i])}>Y <- ts(Y,start=0, deltat=T/N)>plot(Y)

Es ergibt sich die Grafik in Abbildung ??.

Time

Y

0 2 4 6 8 10

02

46

810 N=50

N=100N=1000

Abbildung 5: Simulation des Cox-Ingersoll-Ross-Prozesses mithilfe der Euler-Approximation

Es wurden die Schrittweiten ∆t = 1050 , ∆t = 10

100 und ∆t = 101000 gewählt. Zu beachten ist

hier, dass die Schrittweite nicht zu groß sein darf, da beim Cox-Ingersoll-Ross-Prozesssonst negative Werte entstehen können, welche ein Problem bei σ(t, x) verursachen, daman hier aus einer negativen Zahl eine Wurzel ziehen müsste.

10

Page 11: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

5 Zusammenfassung

Die Euler-Approximation ist ein Verfahren, um stochastische Prozesse zu approximierenund zu simulieren. Sie eignet sich hierzu gut, da sie nach der Ordnung γ = 1

2 stark undnach der Ordnung β = 1 schwach gegen den zu approximierenden Prozess konvergiert.Sie folgt einem iterativen Schema, welches den Wiener Prozess beinhaltet. Man muss zurSimulation nur den Wiener Prozess simulieren. Bei den durchgeführten Beispielen ist er-kennbar, dass die Graphen der Euler-Approximation des Ornstein-Uhlenbeck-Prozessesbei unterschiedlichen Schrittweiten ∆t verschieden sind. Je kleiner die Schrittweitegewählt wird, desto genauer wird die Approximation. Dies ist erkennbar, wenn mandie Euler-Approximation mit der Integraldarstellung des Ornstein-Uhlenbeck-Prozessesvergleicht. Bei kleinerer Schrittweite stimmt die Approximation fast mit der Integraldar-stellung überein, während bei einer recht großen Schrittweite von ∆t = 1 keine guteApproximation erkennbar ist. Die Simulation des Cox-Ingersoll-Ross-Prozesses weistebenfalls verschiedene Approximationen bei verschieden gewählter Schrittweite auf.Insgesamt ist die Euler-Approximation ein weit verbreitetes und einfaches Verfahrenzur Simulation von stochastischen Prozessen. Bei der Simulation ist jedoch auf eineausreichend kleine Schrittweite zu achten.

11

Page 12: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

A Anhang

A.1 RCode

#Ornstein-Uhlenbeck mit Euler-Approximationset.seed(123)T <- 1x <- 10theta <- c(0, 5, 3.5)Z <- BM(x=x,T=T,N=1000)

N1 <- 100Dt1 <- T/N1t1 <- seq(0,T,by=Dt1)Y1 <- numeric(N1+1)Y1[1] <- xZ1 <- Z[c(0,seq(1,1001,10))]

for(i in 1:N1){Y1[i+1] <- Y1[i] + (theta[1] - theta[2]*Y1[i])*Dt1 + theta[3]*(Z1[i+1]-Z1[i])}

Y1 <- ts(Y1,start=0, deltat=T/N1)plot(Y1,ylab="Y")

N2 <- 10Dt2 <- T/N2t2 <- seq(0,T,by=Dt2)Y2 <- numeric(N2+1)Y2[1] <- xZ2 <- Z[c(0,seq(1,1001,100))]

for(i in 1:N2){Y2[i+1] <- Y2[i] + (theta[1] - theta[2]*Y2[i])

*Dt2 + theta[3]*(Z2[i+1]-Z2[i])}Y2 <- ts(Y2,start=0, deltat=T/N2)

12

Page 13: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

lines(Y2,col="RED")

N3 <- 1000Dt3 <- T/N3t3 <- seq(0,T,by=Dt3)Y3 <- numeric(N3+1)Y3[1] <- x

for(i in 1:N3){Y3[i+1] <- Y3[i] + (theta[1] - theta[2]*Y3[i])

*Dt3 + theta[3]*(Z[i+1]-Z[i])}Y3 <- ts(Y3,start=0, deltat=T/N3)lines(Y3,col="BLUE")

legend("topright",c("N=10","N=100","N=1000"),ol=c("RED","BLACK","BLUE"),lwd=2,cex=1.5)

#Lösung mit Integral Ornstein-Uhlenbeck

itosumOU.N1 <- 0XOUalls.N1 <- rep(x,N1+1)for(i in 1:N1){

itosumOU.N1<-itosumOU.N1+exp(theta[2]*t1[i])*(Z1[i+1]-Z1[i])XOUalls.N1[i+1]<-theta[1]/theta[2] + (x-theta[1]/theta[2])*exp(-theta[2]*t1[i])+theta[3]*exp(-theta[2]*t1[i])*itosumOU.N1

}

itosumOU.N2<-0XOUalls.N2<-rep(x,N2+1)for(i in 1:N2){

itosumOU.N2<-itosumOU.N2+exp(theta[2]*t2[i])*(Z2[i+1]-Z2[i])XOUalls.N2[i+1]<-theta[1]/theta[2] + (x-theta[1]/theta[2])*

exp(-theta[2]*t2[i])+theta[3]*exp(-theta[2]*t2[i])*itosumOU.N2}

13

Page 14: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

itosumOU.N3<-0XOUalls.N3<-rep(x,N3+1)for(i in 1:N3){

itosumOU.N3<-itosumOU.N3+exp(theta[2]*t3[i])*(Z[i+1]-Z[i])XOUalls.N3[i+1]<-theta[1]/theta[2] + (x-theta[1]/theta[2])*

exp(-theta[2]*t3[i])+theta[3]*exp(-theta[2]*t3[i])*itosumOU.N3}XOUalls.N1 <- ts(XOUalls.N1,start=0, deltat=T/N1)XOUalls.N2 <- ts(XOUalls.N2,start=0, deltat=T/N2)XOUalls.N3 <- ts(XOUalls.N3,start=0, deltat=T/N3)

#Cox-Ingersoll-Ross mit Euler-Approximationset.seed(123)T <- 10x <- 10theta <- c(1, 1, 1)Z <- BM(x=x,T=T,N=1000)

N1 <- 100Dt1 <- T/N1t1 <- seq(0,T,by=Dt1)Y1 <- numeric(N1+1)Y1[1] <- xZ1 <- Z[c(0,seq(1,1001,10))]

for(i in 1:N1){Y1[i+1] <- Y1[i] + (theta[1] - theta[2]*Y1[i])*Dt1 + theta[3]*

sqrt(Y1[i])*(Z1[i+1]-Z1[i])}Y1 <- ts(Y1,start=0, deltat=T/N1)

N2 <- 50 #Anzahl SchritteDt2 <- T/N2 #Schrittweite

14

Page 15: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

t2 <- seq(0,T,by=Dt2)Y2 <- numeric(N2+1) #Vektor für SimulationspunkteY2[1] <- xZ2 <- Z[c(0,seq(1,1001,20))]

for(i in 1:N2){Y2[i+1] <- Y2[i] + (theta[1] - theta[2]*Y2[i])*Dt2 + theta[3]*

sqrt(Y2[i])*(Z2[i+1]-Z2[i])}Y2 <- ts(Y2,start=0, deltat=T/N2)

N3 <- 1000Dt3 <- T/N3t3 <- seq(0,T,by=Dt3)Y3 <- numeric(N3+1)Y3[1] <- x

for(i in 1:N3){Y3[i+1] <- Y3[i] + (theta[1] - theta[2]*Y3[i])*Dt3 + theta[3]*

sqrt(Y3[i])*(Z[i+1]-Z[i])}Y3 <- ts(Y3,start=0, deltat=T/N3)

plot(Y1,ylab="Y",ylim=c(min(min(Y1),min(Y2),min(Y3)),max(max(Y1),max(Y2),max(Y3))))

lines(Y2,col="RED")lines(Y3,col="BLUE")

legend("topright",c("N=50","N=100","N=1000"),col=c("RED","BLACK","BLUE"),lwd=2,cex=1.5)

15

Page 16: Euler-Approximation · 2012-06-08 · TechnischeUniversitätDortmund FakultätStatistik Seminar Grundlagen der Simulation und Statistik von dynamischen Systemen Euler-Approximation

Literatur

Iacus, Stefano M. (2008). Simulation and Inference for Stochastic Differential Equations:With R Examples. 1. Auflage. New York: Springer.

Iacus, Stefano Maria (2009). sde: Simulation and Inference for Stochastic DifferentialEquations. R package version 2.0.10. url: http://CRAN.R-project.org/package=sde.

R Development Core Team (2011). R 2.13.1: A Language and Environment for StatisticalComputing. ISBN 3-900051-07-0. R Foundation for Statistical Computing. Vienna,Austria. url: http://www.R-project.org/.

Singer, Hermann (1999). Finanzmarktökonometrie: Zeitstetige Systeme und ihre An-wendung in Ökonometrie und empirischer Kapitalmarktforschung. Berlin, Heidelberg:Physica.

16