El movimiento browniano es el movimiento aleatorio que se observa en las partículas de un medio fluido (líquido o gas), como resultado de choques contra las moléculas de dicho fluido.
El movimiento browniano o tambie conocido como proceso Wiener, es un proceso estocástico de tiempo continuo valorado en honor al matemático estadounidense Norbert Wiener por sus investigaciones sobre las propiedades matemáticas del movimiento browniano unidimensional. A menudo también se le llama movimiento browniano debido a su conexión histórica con el proceso físico del mismo nombre observado originalmente por el botánico escocés Robert Brown . Es uno de los procesos de Lévy más conocidos (procesos estocásticos càdlàg con incrementos independientes estacionarios ) y ocurre con frecuencia en matemática aplicada , economía , finanzas cuantitativas , biología evolutiva y física .
La funcion de distribución no codicionada, es una distribucion normal \(\mu = 1\) y varianza \(\sigma ^{2} = t\)
La esperanza de \(W_{t}\) es cero \(E(W_{t}) = 0\)
La varianza de \(W_{t}\) es t \(Var(W_{t}) = t\)
De lo anterior se tiene que \(W_{t} = W_{t}-W_{0} \sim N(0,t)\)
N = 150
x = rnorm(N, 0 ,1);
x = append(0,x)
x = cumsum(x);
plot(x, type = "l",xlab = "tiempo", ylab="f(x)",col = "darkblue")
N = 15
xdis = rnorm(N, 0 ,1);
ydis = rnorm(N, 0 ,1);
xdis = cumsum(xdis);
xdis = append(0,xdis);
ydis = cumsum(ydis);
ydis = append(0,ydis);
plot(xdis, ydis, type="l",xlab = "f(y)", ylab="f(x)",col = "darkblue")
N = 50
xdist = rnorm(N, 0 ,1);
ydist = rnorm(N, 0 ,1);
zdist = rnorm(N, 0 ,1);
xdist = cumsum(xdist);
xdist = append(0,xdist);
ydist = cumsum(ydist);
ydist = append(0,ydist);
zdist = cumsum(zdist);
zdist = append(0,zdist);
scatterplot3d(xdist,ydist,zdist,type = "l",xlab="f(x)",ylab="f(y)",zlab="f(z)", col.axis="darkgray")
El Movimiento Browniano geométrico se define como un proceso estocástico continuo tal que
\(x(t) = z_{0}exp(\mu t + \sigma W(t) )\) donde “\(W(t)\)” es un proceso Wiener.
Satisface la siguiente ecuación diferencial estocástica (EDE): \(dx_{t} = \mu x_{t} dt + \sigma x_{t} d W_{t}\)
Valor esperado \(E(x(t)) = z_{0}exp(\mu t + \frac{1}{2} \sigma^{2}t)\)
Varianza \(Var(x(t)) = z_{0}^2 exp(2 \mu t + \sigma^{2}t)(exp(\sigma^2t)-1)\)
m <- 10
n <- 1000
mu <- 0.15
sigma <- 0.3
s0 <- 10
T1 <- 5
set.seed(70967993)
MotiBr <- matrix(rnorm(m*n, 0, sqrt(T1/n)), n, m)
MotiBr <- apply(MotiBr, 2, diffinv)
temp <- (0:n)/n*T1
MotiBr <- (mu - sigma^2/2)*temp + sigma*MotiBr
MotiBr <- t(s0*exp(MotiBr))
#Creo data.frame para usar ggplot 2
dat <- data.frame(X = as.vector(MotiBr),
idx = seq(nrow(MotiBr)),
tiempo = rep(seq(ncol(MotiBr)), each = nrow(MotiBr)))
ggplot(dat, aes(x = tiempo, y = X, group = idx)) +
geom_point(alpha = 0.5,color = "#6684A1")+ geom_line()
set.seed(2019)
a = BBridge(x=0, y=0, t0=0, T=1, N=100)
b = BM(x=0, t0=0, T=1, N=100)
c = GBM(x=1, r=0, sigma=1, T=1, N=100)
par(mfrow=c(2,2))
plot(BM(a),xlab = "tiempo", main="Movimiento Browniano")
plot(BBridge(b),xlab = "tiempo", main="Brownian Bridge")
plot(GBM(c),xlab = "tiempo", main="Movimiento Browniano Geometrico")