El Movimiento Browniano es el movimiento aleatorio que se observa en partículas suspendidas en un líquido o gas (un fluido). Este fenómeno es el resultado de los choques constantes de las moléculas del fluido contra las partículas en suspensión.
Fue descrito originalmente por el botánico Robert Brown en 1827 al observar granos de polen, pero no fue explicado físicamente hasta 1905 por Albert Einstein, quien demostró que este movimiento era evidencia directa de la existencia de átomos y moléculas.
Desde el punto de vista de los procesos estocásticos, el movimiento browniano (o proceso de Wiener) se define matemáticamente por las siguientes propiedades:
La relación fundamental de Einstein para el desplazamiento cuadrático medio es: \[\langle x^2 \rangle = 2Dt\] Donde \(D\) es el coeficiente de difusión y \(t\) es el tiempo.
A continuación, simulamos una trayectoria de movimiento browniano en una dimensión.
# Configuración de parámetros
set.seed(123)
n_pasos <- 1000
dt <- 1
pasos <- rnorm(n_pasos, mean = 0, sd = sqrt(dt))
# Calculamos la trayectoria acumulada
trayectoria <- cumsum(pasos)
# Graficamos el resultado
plot(trayectoria, type = "l", col = "blue", lwd = 1,
main = "Simulación de Movimiento Browniano (1D)",
xlab = "Tiempo", ylab = "Posición (W_t)")
abline(h = 0, lty = 2, col = "red")
Para demostrar que el Movimiento Browniano “existe” como objeto
matemático, no basta con simularlo. Necesitamos asegurar que existe una
medida de probabilidad en el espacio de funciones continuas que
satisfaga sus propiedades.
Este teorema garantiza que podemos construir un proceso estocástico a partir de sus distribuciones finito-dimensionales.
Enunciado: Sea \(\{F_{t_1, \dots, t_n}\}\) una familia de funciones de distribución consistentes (que cumplen condiciones de simetría y marginalización). Entonces, existe un espacio de probabilidad \((\Omega, \mathcal{F}, P)\) y un proceso estocástico \(X = \{X_t : t \in T\}\) cuyas distribuciones finito-dimensionales coinciden con dicha familia.
Prueba para el Movimiento Browniano: Para el Browniano, definimos las densidades de transición como gaussianas: \[p(s, x; t, y) = \frac{1}{\sqrt{2\pi(t-s)}} \exp\left(-\frac{(y-x)^2}{2(t-s)}\right)\] 1. Se verifica la Ecuación de Chapman-Kolmogorov, lo que asegura que las distribuciones son consistentes. 2. Por el teorema de Kolmogorov, existe un proceso \(X_t\) con estas distribuciones. Sin embargo, este teorema por sí solo no garantiza que las trayectorias sean continuas, solo que el proceso existe “punto a punto”.
Este es el criterio fundamental para probar la regularidad de las trayectorias.
Enunciado: Un proceso \(X\) posee una modificación continua si existen constantes positivas \(\alpha, \beta, C\) tales que: \[E[|X_t - X_s|^\alpha] \leq C |t - s|^{1 + \beta}\]
Prueba para el Movimiento Browniano: Sabemos que para un Browniano, los incrementos son normales: \(X_t - X_s \sim N(0, t-s)\). Usando las propiedades de los momentos de una distribución normal: 1. Tomemos \(\alpha = 4\). 2. El cuarto momento de una variable \(Z \sim N(0, \sigma^2)\) es \(3\sigma^4\). 3. Aquí, \(\sigma^2 = t-s\). Por lo tanto: \[E[|X_t - X_s|^4] = 3|t - s|^2\] 4. Comparando con el teorema: \(C=3\), \(\alpha=4\) y \(\beta=1\). Como \(1 > 0\), el teorema de Kolmogorov-Chentsov garantiza que el Movimiento Browniano tiene una versión con trayectorias continuas.
Aunque las trayectorias son continuas, son “extremadamente rugosas” (no derivables en ningún punto).
t <- seq(0, 1, length.out = 5000)
dw <- rnorm(length(t)-1, sd = sqrt(diff(t)))
w <- c(0, cumsum(dw))
plot(t, w, type = "l", main = "Continuidad pero no Derivabilidad",
xlab = "Tiempo", ylab = "W(t)", col = "darkgreen")
Una EDE describe la evolución de un sistema influenciado por perturbaciones aleatorias. Formalmente, buscamos un proceso \(X_t\) que satisfaga:
\[dX_t = b(t, X_t) dt + \sigma(t, X_t) dW_t, \quad X_0 = Z\]
Donde: * \(b\) es el coeficiente de deriva (drift). * \(\sigma\) es el coeficiente de difusión. * \(W_t\) es un movimiento browniano estándar.
Para asegurar que una EDE tenga una solución bien definida en un intervalo \([0, T]\), las funciones \(b(t, x)\) y \(\sigma(t, x)\) deben cumplir dos condiciones críticas:
Garantiza la estabilidad y unicidad de la trayectoria. Para todo \(x, y \in \mathbb{R}^n\): \[|b(t, x) - b(t, y)| + |\sigma(t, x) - \sigma(t, y)| \leq K |x - y|\]
Garantiza que la solución no “explote” (tienda a infinito) en tiempo finito: \[|b(t, x)|^2 + |\sigma(t, x)|^2 \leq C(1 + |x|^2)\]
La distinción entre solución fuerte y débil radica en qué elementos del sistema están fijos desde el principio.
Se dice que \(X_t\) es una solución fuerte si: 1. El espacio de probabilidad \((\Omega, \mathcal{F}, P)\) y el movimiento browniano \(W_t\) están fijos de antemano. 2. El proceso \(X_t\) es adaptado a la filtración generada por el browniano (\(\mathcal{F}_t^W\)).
Interpretación: \(X_t\) es una función determinista del ruido de entrada. Si cambias el browniano, la trayectoria cambia, pero la “fórmula” funcional es la misma.
Se dice que existe una solución débil si: 1. Solo se especifican los coeficientes \(b\) y \(\sigma\). 2. Podemos elegir el espacio de probabilidad y el movimiento browniano que mejor convengan para que la ecuación se cumpla.
Nota: Toda solución fuerte es una solución débil, pero el recíproco no es cierto (ejemplo clásico: la Ecuación de Tanaka).
Existen dos niveles de unicidad:
Es una de las EDEs más importantes porque tiene una solución explícita y es estacionaria (reversión a la media).
Ecuación: \[dX_t = \theta (\mu - X_t) dt + \sigma dW_t\]
Solución Analítica (vía Lema de Itô): \[X_t = X_0 e^{-\theta t} + \mu(1 - e^{-\theta t}) + \sigma \int_0^t e^{-\theta(t-s)} dW_s\]
# Parámetros
theta <- 0.7
mu <- 1.5
sigma <- 0.3
x0 <- 10
T_final <- 10
dt <- 0.01
n <- T_final / dt
# Simulación (Euler-Maruyama)
t <- seq(0, T_final, by=dt)
x <- numeric(length(t))
x[1] <- x0
for (i in 2:length(t)) {
dw <- rnorm(1, mean=0, sd=sqrt(dt))
x[i] <- x[i-1] + theta * (mu - x[i-1]) * dt + sigma * dw
}
# Gráfico
plot(t, x, type="l", col="darkblue", lwd=1.5,
main="Simulación del Proceso Ornstein-Uhlenbeck",
xlab="Tiempo", ylab="X_t")
abline(h=mu, col="red", lty=2) # Nivel de reversión
# Parámetros: dX = mu*X*dt + sigma*X*dW (Movimiento Browniano Geométrico)
mu <- 0.05
sigma <- 0.2
dt <- 0.01
t <- seq(0, 2, by = dt)
x <- numeric(length(t))
x[1] <- 1 # Condición inicial
for(i in 2:length(t)) {
dw <- rnorm(1, sd = sqrt(dt))
x[i] <- x[i-1] + mu*x[i-1]*dt + sigma*x[i-1]*dw
}
plot(t, x, type = "l", col = "darkred", main = "Solución Fuerte (MBG)")
## Introducción al Lema de Itô
Para una función \(f(t, X_t)\) y una EDE de la forma \(dX_t = b_t dt + \sigma_t dW_t\), el Lema de Itô establece que el diferencial de la función es:
\[df(t, X_t) = \left( \frac{\partial f}{\partial t} + b_t \frac{\partial f}{\partial x} + \frac{1}{2} \sigma_t^2 \frac{\partial^2 f}{\partial x^2} \right) dt + \sigma_t \frac{\partial f}{\partial x} dW_t\]
Ecuación: \(dX_t = \mu X_t dt + \sigma X_t dW_t\)
Para resolverla, aplicamos Itô a \(f(x) = \ln(x)\). Tenemos las derivadas: \(f' = \frac{1}{x}\), \(f'' = -\frac{1}{x^2}\), \(\dot{f} = 0\).
Sustituyendo: \[d(\ln X_t) = \left( \mu X_t \frac{1}{X_t} - \frac{1}{2} \sigma^2 X_t^2 \frac{1}{X_t^2} \right) dt + \sigma X_t \frac{1}{X_t} dW_t\] \[d(\ln X_t) = \left( \mu - \frac{\sigma^2}{2} \right) dt + \sigma dW_t\]
Solución final: \[X_t = X_0 \exp\left( \left( \mu - \frac{\sigma^2}{2} \right) t + \sigma W_t \right)\]
Ecuación: \(dX_t = \theta(\mu - X_t) dt + \sigma dW_t\)
Usamos el factor integrante \(e^{\theta t}\) definiendo \(f(t, X_t) = X_t e^{\theta t}\). Aplicando Itô: \[d(X_t e^{\theta t}) = \theta \mu e^{\theta t} dt + \sigma e^{\theta t} dW_t\]
Solución final: \[X_t = X_0 e^{-\theta t} + \mu(1 - e^{-\theta t}) + \sigma \int_0^t e^{-\theta(t-s)} dW_s\]
Ecuación: \(dX_t = \frac{b - X_t}{T - t} dt + dW_t\)
Aplicamos Itô a \(f(t, X_t) = \frac{X_t}{T-t}\). Tras integrar y simplificar, obtenemos:
Solución final: \[X_t = X_0 \left(1 - \frac{t}{T}\right) + b\frac{t}{T} + (T-t) \int_0^t \frac{1}{T-s} dW_s\]
set.seed(42)
T_max <- 1
dt <- 0.001
t <- seq(0, T_max, by=dt)
n <- length(t)
dw <- rnorm(n-1, sd=sqrt(dt))
# 1. MBG
x_mbg <- numeric(n); x_mbg[1] <- 1
for(i in 2:n) x_mbg[i] <- x_mbg[i-1] + 0.5*x_mbg[i-1]*dt + 0.2*x_mbg[i-1]*dw[i-1]
# 2. OU
x_ou <- numeric(n); x_ou[1] <- 3
for(i in 2:n) x_ou[i] <- x_ou[i-1] + 5*(1 - x_ou[i-1])*dt + 0.3*dw[i-1]
# 3. Puente Browniano (b=0, T=1)
x_pb <- numeric(n); x_pb[1] <- 1
for(i in 2:(n-1)) x_pb[i] <- x_pb[i-1] + ((0 - x_pb[i-1])/(1 - t[i-1]))*dt + dw[i-1]
x_pb[n] <- 0
# Visualización
plot(t, x_mbg, type="l", col="blue", ylim=c(-1, 4), main="Comparativa de Procesos")
lines(t, x_ou, col="red")
lines(t, x_pb, col="darkgreen")
legend("topright", legend=c("MBG", "Ornstein-Uhlenbeck", "Puente Browniano"),
col=c("blue", "red", "darkgreen"), lty=1)