You are on page 1of 3

Simulacin

Cristian Pachacama
6 de diciembre de 2016

Movimiento Browniano
El movimiento browniano es el movimiento aleatorio que se observa en algunas partculas microscpicas que
se hallan en un medio fluido (por ejemplo, polen en una gota de agua).
Se lo modeliza mediante un proceso estocstico {X(t)}tR que cumple:
X(0) = 0
X(t) tiene incrementos estacionarios e independientes.
X(t) X(s) se distribuye como una Normal de media cero y varianza (t s)
Una generalizacin y formalizacin de este proceso es el Proceso de Wiener, que considera el moviemiento
browniano pero que sigue una distribucion normal de media (t s) y varianza 2 (t s).
Notemos que se
puede construir la variable (X(t) X(s)) considerando la relacin: (X(t) X(s)) = t sZ + (t s),
donde Z N (0, 1). As se sigue que:

X(ti+1 ) = X(ti ) + (X(ti+1 ) X(ti )) = X(ti ) + ti+1 ti Zi+1 + (ti+1 ti )


p

Para 0 = t0 < t1 < ... < tk = T , y Zi N (0, 1) para todo i N. Dicho esto se vuelve simple implemntar un
algoritmo que simule una trayectoria del movimiento browniano, lo haremos utilizando el siguiente cdigo de
R:
mov_brown<-function(Tiempo=10,pasos=0.01,mu=0,sigma=1){
t<-seq(0,Tiempo,pasos)
x<-numeric(length(t))
for(i in 1:(length(t)-1)){
Z<-rnorm(1)
x[i+1]<-x[i]+sigma*sqrt(t[i+1]-t[i])*Z+mu*(t[i+1]-t[i])
}
data.frame(t,x)
}
Q<-mov_brown()
library(ggplot2)

ggplot(Q,aes(x=t,y=x))+geom_line()

1
0

1
x

0.0 2.5 5.0 7.5 10.0


t

Como vemos el cdigo anterior simula una trayectoria de un movimiento Browniano. Ahora para generar
varias trayectorias usamos el cdigo siguiente:
library(plyr)
Nmov_brown<-function(n=1,tiempo=10,pasos=0.01,mu=0,sigma=1){
C<- lapply(1:n, function(n) data.frame(mov_brown(tiempo,pasos,mu,sigma),simulacion=n))
#Genera N dataframes con los procesos
C<-ldply(C, data.frame)
#Une en una sola dataframe
C$simulacion<-factor(C$simulacion)
#Convierte en factores
qplot(t,x,data=C,geom="line",colour=simulacion,xlab="Tiempo",
ylab="X(t)",main="Movimiento Browniano",alpha=I(0.8))
}

Con lo que optenemos el siguiente grfico:


Nmov_brown(n=6,tiempo=10)

2
Movimiento Browniano

simulacion
1
2
0
X(t)

3
4
5
6
3

6
0.0 2.5 5.0 7.5 10.0
Tiempo

You might also like