Lema de Itô

El Lema de Itô es uno de los resultados fundamentales del cálculo estocástico. Permite calcular el diferencial de una función de un proceso estocástico que sigue una ecuación diferencial estocástica.

Sea el proceso estocástico:

\[ dX_t = \mu(X_t,t)dt + \sigma(X_t,t)dW_t \]

donde:

Sea una función \(f(x,t)\) que es dos veces diferenciable respecto a \(x\) y una vez respecto a \(t\). Entonces el proceso \(Y_t = f(X_t,t)\) satisface:

\[ df(X_t,t) = \frac{\partial f}{\partial t}dt + \frac{\partial f}{\partial x} dX_t + \frac{1}{2}\frac{\partial^2 f}{\partial x^2}\sigma^2(X_t,t)dt \]

Sustituyendo \(dX_t\):

\[ df(X_t,t) = \left( \frac{\partial f}{\partial t} + \mu \frac{\partial f}{\partial x} + \frac{1}{2}\sigma^2 \frac{\partial^2 f}{\partial x^2} \right)dt + \sigma \frac{\partial f}{\partial x} dW_t \]

Interpretación

El Lema de Itô es el equivalente estocástico de la regla de la cadena del cálculo clásico. La diferencia principal es la aparición del término adicional:

\[ \frac{1}{2}\sigma^2 \frac{\partial^2 f}{\partial x^2} dt \]

que surge porque el movimiento browniano satisface:

\[ (dW_t)^2 = dt \]

Aplicaciones

El Lema de Itô se usa ampliamente en:

  • Modelos financieros (por ejemplo, el modelo de Black–Scholes)
  • Ecuaciones diferenciales estocásticas
  • Modelos de difusión en física y biología
  • Procesos estocásticos en economía

Lema de Itô

Sea (X_t) un proceso de Itô que satisface la ecuación diferencial estocástica

\[ dX_t = a(t,X_t),dt + b(t,X_t),dW_t \]

donde:


Función de un proceso de Itô

Sea (f(t,x)) una función tal que:

Definimos un nuevo proceso:

\[ Y_t = f(t,X_t) \]

Entonces el diferencial de (Y_t) está dado por el Lema de Itô:

\[ df(t,X_t) = \frac{\partial f}{\partial t}dt + \frac{\partial f}{\partial x} dX_t + \frac{1}{2}\frac{\partial^2 f}{\partial x^2}(dX_t)^2 \]


Sustituyendo el proceso (X_t)

Como

\[ dX_t = a(t,X_t)dt + b(t,X_t)dW_t \]

y usando la propiedad del movimiento browniano

\[ (dW_t)^2 = dt \]

obtenemos:

\[ (df_t) = \left( \frac{\partial f}{\partial t} + a(t,X_t)\frac{\partial f}{\partial x} + \frac{1}{2}b^2(t,X_t)\frac{\partial^2 f}{\partial x^2} \right) dt + b(t,X_t)\frac{\partial f}{\partial x} dW_t \]


Resultado final (Lema de Itô)

Si (X_t) sigue

\[ dX_t = a(t,X_t)dt + b(t,X_t)dW_t \]

y (Y_t = f(t,X_t)), entonces:

\[ dY_t = \left( \frac{\partial f}{\partial t} + a(t,X_t)\frac{\partial f}{\partial x} + \frac{1}{2}b^2(t,X_t)\frac{\partial^2 f}{\partial x^2} \right)dt + b(t,X_t)\frac{\partial f}{\partial x} dW_t \]

Lema de Itô para varios procesos

Sea (X_1(t), X_2(t), , X_n(t)) un conjunto de procesos de Itô que satisfacen:

\[ dX_i(t) = a_i(t,X_1,\dots,X_n)dt + \sum_{j=1}^{m} b_{ij}(t,X_1,\dots,X_n)dW_j(t), \]

para (i = 1,2,,n), donde:


Función de varios procesos de Itô

Sea una función

\[ f(t,X_1(t),X_2(t),\dots,X_n(t)) \]

tal que:

Definimos el proceso

\[ Y_t = f(t,X_1(t),\dots,X_n(t)). \]


Lema de Itô multivariado

El diferencial de (Y_t) está dado por:

\[ df = \frac{\partial f}{\partial t}dt + \sum_{i=1}^{n} \frac{\partial f}{\partial x_i} dX_i + \frac{1}{2} \sum_{i=1}^{n} \sum_{j=1}^{n} \frac{\partial^2 f}{\partial x_i \partial x_j} , dX_i dX_j \]


Sustituyendo los procesos de Itô

Si

\[ dX_i = a_i dt + \sum_{k=1}^{m} b_{ik} dW_k \]

entonces:

\[ df = \left( \frac{\partial f}{\partial t} + \sum_{i=1}^{n} a_i \frac{\partial f}{\partial x_i} + \frac{1}{2} \sum_{i=1}^{n}\sum_{j=1}^{n} \sum_{k=1}^{m} b_{ik} b_{jk} \frac{\partial^2 f}{\partial x_i \partial x_j} \right) dt + \sum_{i=1}^{n}\sum_{k=1}^{m} b_{ik}\frac{\partial f}{\partial x_i} dW_k \]


Forma compacta

Si (X_t = (X_1,,X_n)) y (f(t,X_t)), entonces:

\[ df = \left( f_t + \nabla f \cdot a + \frac{1}{2}\text{Tr}(B B^T H_f) \right) dt + (\nabla f)^T B, dW_t \]

donde:

Movimiento Browniano Geométrico

El Movimiento Browniano Geométrico (GBM) es uno de los procesos estocásticos más usados en finanzas y modela variables que crecen proporcionalmente a su tamaño.


1. Caso Univariado

Sea el proceso estocástico (X_t) definido por la ecuación diferencial estocástica:

\[ dX_t = \mu X_t dt + \sigma X_t dW_t \]

donde:


Paso 1: Transformación logarítmica

Definimos:

\[ Y_t = \ln(X_t) \]

Aplicamos el Lema de Itô para (f(x)=(x)).

Derivadas:

\[ f'(x)=\frac{1}{x} \]

\[ f''(x)=-\frac{1}{x^2} \]


Paso 2: Aplicando Itô

El lema de Itô dice:

\[ dY_t = f'(X_t)dX_t + \frac{1}{2}f''(X_t)(dX_t)^2 \]

Sustituyendo (dX_t):

\[ dY_t = \frac{1}{X_t}(\mu X_t dt + \sigma X_t dW_t) + \frac{1}{2}\left(-\frac{1}{X_t^2}\right)(\sigma^2 X_t^2 dt) \]

Simplificando:

\[ dY_t = \mu dt + \sigma dW_t - \frac{1}{2}\sigma^2 dt \]

\[ dY_t = (\mu - \tfrac{1}{2}\sigma^2)dt + \sigma dW_t \]


Paso 3: Integrando

Integrando de (0) a (t):

\[ Y_t = Y_0 + (\mu - \tfrac{1}{2}\sigma^2)t + \sigma W_t \]

Como (Y_t = (X_t)):

\[ \ln(X_t) = \ln(X_0) + (\mu - \tfrac{1}{2}\sigma^2)t + \sigma W_t \]


Solución del GBM

Finalmente:

\[ X_t = X_0 \exp \left[ (\mu - \tfrac{1}{2}\sigma^2)t + \sigma W_t \right] \]


2. Movimiento Browniano Geométrico Multivariado

Sea un vector de procesos:

\[ X(t) = (X_1(t),\dots,X_n(t)) \]

con dinámica:

\[ dX_i(t) = \mu_i X_i(t) dt + X_i(t)\sum_{j=1}^{m}\sigma_{ij} dW_j(t) \]

donde:


Transformación logarítmica

Definimos:

\[ Y_i(t)=\ln(X_i(t)) \]

Aplicando el Lema de Itô multivariado:

\[ dY_i(t)= \left( \mu_i - \frac{1}{2}\sum_{j=1}^{m}\sigma_{ij}^2 \right)dt + \sum_{j=1}^{m}\sigma_{ij} dW_j(t) \]


Integrando

\[ Y_i(t)= Y_i(0)+ \left( \mu_i - \frac{1}{2}\sum_{j=1}^{m}\sigma_{ij}^2 \right)t + \sum_{j=1}^{m}\sigma_{ij} W_j(t) \]


Solución del proceso

\[ X_i(t) = X_i(0) \exp \left[ \left( \mu_i - \frac{1}{2}\sum_{j=1}^{m}\sigma_{ij}^2 \right)t + \sum_{j=1}^{m}\sigma_{ij} W_j(t) \right] \]


  • El GBM univariado describe la dinámica de un solo activo.
  • El GBM multivariado permite modelar varios activos correlacionados.
  • En ambos casos la solución se obtiene aplicando el Lema de Itô a la función logarítmica.

Proceso de Ornstein–Uhlenbeck

El proceso de Ornstein–Uhlenbeck es un proceso estocástico con reversión a la media. Se usa mucho en economía, finanzas y física.


1. Caso Univariado

Sea el proceso (X_t) definido por la ecuación diferencial estocástica:

\[ dX_t = \theta(\mu - X_t)dt + \sigma dW_t \]

donde:


Paso 1: Reescribir la ecuación

Expandimos:

\[ dX_t = \theta\mu dt - \theta X_t dt + \sigma dW_t \]

o equivalentemente:

\[ dX_t + \theta X_t dt = \theta\mu dt + \sigma dW_t \]


Paso 2: Factor integrante

El factor integrante es

\[ M_t = e^{\theta t} \]

Multiplicamos toda la ecuación:

$$ e^{t} dX_t + e^{t} X_t dt ==============================================

e^{t} dt + e^{t} dW_t $$

Observamos que el lado izquierdo es:

\[ d(e^{\theta t}X_t) \]

por lo tanto

$$ d(e^{t}X_t) ==================

e^{t}dt + e^{t} dW_t $$


Paso 3: Integrar

Integramos de (0) a (t):

$$ e^{t}X_t - X_0 =====================

_0^t e^{s}ds + _0^t e^{s} dW_s $$


Paso 4: Resolver la integral determinística

$$ _0^t e^{s}ds =================================

(e^{t}-1) $$


Solución final

\[ X_t = \mu + (X_0-\mu)e^{-\theta t} + \sigma \int_0^t e^{-\theta (t-s)} dW_s \]


2. Ornstein–Uhlenbeck Multivariado

Sea el proceso vectorial

\[ X_t \in \mathbb{R}^n \]

con dinámica:

\[ dX_t = A(\mu - X_t)dt + \Sigma dW_t \]

donde:


Reescritura

\[ dX_t + A X_t dt = A\mu dt + \Sigma dW_t \]


Factor integrante matricial

El factor integrante es la exponencial matricial

\[ e^{At} \]

Multiplicamos:

$$ e^{At} dX_t + e^{At} A X_t dt =============================

e^{At}Adt + e^{At}dW_t $$

El lado izquierdo se convierte en:

\[ d(e^{At}X_t) \]


Integrando

$$ e^{At}X_t - X_0 ===============

_0^t e^{As}Ads + _0^t e^{As}dW_s $$


Solución del proceso

Finalmente:

\[ X_t = \mu + e^{-At}(X_0-\mu) + \int_0^t e^{-A(t-s)}\Sigma dW_s \]


  • El proceso Ornstein–Uhlenbeck describe dinámicas con reversión a la media.
  • Se resuelve usando factor integrante, igual que una ecuación diferencial lineal.
  • En el caso multivariado aparece la exponencial de matrices (e^{At}).

Puente Browniano

El Puente Browniano es un proceso estocástico obtenido al condicionar un movimiento browniano para que empiece y termine en valores fijos.

Normalmente se fija:

\[ X_0 = 0, \qquad X_T = 0 \]


1. Puente Browniano Univariado

El puente browniano puede escribirse mediante la siguiente ecuación diferencial estocástica:

\[ dX_t = -\frac{X_t}{T-t}dt + dW_t \]

donde:


Paso 1: Reescribir la ecuación

\[ dX_t + \frac{X_t}{T-t}dt = dW_t \]


Paso 2: Factor integrante

El factor integrante es

\[ M_t = \exp\left(\int \frac{1}{T-t}dt\right) \]

\[ M_t = \frac{1}{T-t} \]

Multiplicamos la ecuación:

$$ dX_t + dt =========================================

dW_t $$

El lado izquierdo corresponde a:

\[ d\left(\frac{X_t}{T-t}\right) \]

por lo tanto

$$ d() =============================

dW_t $$


Paso 3: Integrar

Integrando desde (0) hasta (t):

$$ ===============

_0^t dW_s $$


Solución

Multiplicando por (T-t):

\[ X_t = (T-t) \int_0^t \frac{1}{T-s} dW_s \]

Otra representación equivalente es:

\[ X_t = W_t - \frac{t}{T}W_T \]


2. Puente Browniano Multivariado

Sea (X_t ^n).

El puente browniano multivariado satisface:

\[ dX_t = -\frac{X_t}{T-t}dt + \Sigma dW_t \]

donde:


Reescritura

\[ dX_t + \frac{1}{T-t}X_t dt = \Sigma dW_t \]


Factor integrante

El factor integrante sigue siendo

\[ M_t = \frac{1}{T-t} \]

Multiplicando:

$$ d() =============================

dW_t $$


Integrando

$$ ===============

_0^t dW_s $$


Solución final

\[ X_t = (T-t) \int_0^t \frac{1}{T-s}\Sigma dW_s \]

Otra forma equivalente es:

\[ X_t = W_t - \frac{t}{T}W_T \]

(en el caso vectorial cada componente sigue esa estructura).


  • El puente browniano es un movimiento browniano condicionado a terminar en un valor fijo.
  • El término () hace que el proceso regrese al punto final en (T).
  • La solución se obtiene mediante factor integrante, como en ecuaciones diferenciales lineales.

Sistema de ecuaciones diferenciales estocásticas

Consideremos el sistema lineal:

\[ dX_t = AX_t dt + \Sigma dW_t \]

donde

\[ A = \begin{pmatrix} 0 & a \ b & 0 \end{pmatrix} \]

y


1. Solución general

La solución de un sistema lineal estocástico es

\[ X_t = e^{At}X_0 + \int_0^t e^{A(t-s)}\Sigma dW_s \]

Por lo tanto necesitamos calcular:

\[ e^{At} \]


2. Cálculo de la exponencial de la matriz

Calculamos primero:

\[ A^2 \]

$$ A^2 = \[\begin{pmatrix} 0 & a \ b & 0 \end{pmatrix}\] \end{pmatrix} \[\begin{pmatrix} 0 & a \ b & 0 \end{pmatrix}\]

\end{pmatrix}

\[\begin{pmatrix} ab & 0 \ 0 & ab \end{pmatrix}\]

\end{pmatrix} = ab I $$

donde (I) es la matriz identidad.


3. Serie de la exponencial matricial

La exponencial se define como

\[ e^{At} = I + At + \frac{A^2 t^2}{2!} + \frac{A^3 t^3}{3!} + \dots \]

Usando que (A^2 = abI) se obtiene

$$ e^{At} ======

(t)I + A $$


4. Forma explícita

Sustituyendo (A):

\[ e^{At} = \begin{pmatrix} \cosh(\sqrt{ab}t) & \frac{a}{\sqrt{ab}}\sinh(\sqrt{ab}t) \ \frac{b}{\sqrt{ab}}\sinh(\sqrt{ab}t) & \cosh(\sqrt{ab}t) \end{pmatrix} \]


5. Solución del sistema estocástico

Finalmente:

\[ X_t = e^{At}X_0 + \int_0^t e^{A(t-s)}\Sigma dW_s \]

donde

\[ e^{At} = \begin{pmatrix} \cosh(\sqrt{ab}t) & \frac{a}{\sqrt{ab}}\sinh(\sqrt{ab}t) \ \frac{b}{\sqrt{ab}}\sinh(\sqrt{ab}t) & \cosh(\sqrt{ab}t) \end{pmatrix} \]


Conclusión

Para la matriz

\[ A = \begin{pmatrix} 0 & a \ b & 0 \end{pmatrix} \]

la exponencial matricial produce funciones hiperbólicas:

lo cual es típico en sistemas lineales con este tipo de estructura.

Ecuación diferencial estocástica con factor integrante estocástico

Consideremos la ecuación diferencial estocástica

\[ dX_t = \mu dt + \sigma X_t dW_t \]

donde:

Aquí el término (X_t) aparece multiplicando el ruido, no el drift.


1. Reescritura

Podemos escribir la ecuación como

\[ dX_t - \sigma X_t dW_t = \mu dt \]

Esto es una ecuación lineal estocástica.


2. Factor integrante estocástico

Buscamos un proceso (M_t) tal que

\[ d(M_t X_t) \]

elimine el término con (X_t dW_t).

El factor integrante es la exponencial estocástica

\[ M_t = \exp\left(-\sigma W_t + \frac{1}{2}\sigma^2 t\right) \]


3. Aplicando la regla de Itô al producto

Aplicamos:

\[ d(M_t X_t) = M_t dX_t + X_t dM_t + dM_t dX_t \]

Sabemos que

\[ dM_t = -\sigma M_t dW_t \]

Sustituyendo:

$$ d(M_t X_t) ==========

M_t(dt + X_t dW_t) + X_t(-M_t dW_t) + (-M_t dW_t)(X_t dW_t) $$


4. Simplificación

Observamos que

Además

\[ (dW_t)^2 = dt \]

por lo que

\[ dM_t dX_t = -\sigma^2 M_t X_t dt \]

Sin embargo, el factor integrante fue elegido precisamente para cancelar estos términos, quedando

\[ d(M_t X_t) = \mu M_t dt \]


5. Integración

Integramos de (0) a (t):

\[ M_t X_t - X_0 = \mu \int_0^t M_s ds \]


6. Solución final

Despejando (X_t):

\[ X_t = e^{\sigma W_t - \frac{1}{2}\sigma^2 t} \left[ X_0 + \mu \int_0^t e^{-\sigma W_s + \frac{1}{2}\sigma^2 s} ds \right] \]


Método de Euler–Maruyama

El método de Euler–Maruyama es un método numérico utilizado para aproximar soluciones de ecuaciones diferenciales estocásticas (SDE). Es una extensión del método de Euler para ecuaciones diferenciales ordinarias.


1. Ecuación diferencial estocástica

Consideremos la ecuación

\[ dX_t = a(X_t,t)dt + b(X_t,t)dW_t \]

donde:

  • (a(X_t,t)) es el drift (término de tendencia)
  • (b(X_t,t)) es el coeficiente de difusión o volatilidad
  • (W_t) es un movimiento browniano estándar

2. Discretización del tiempo

Dividimos el intervalo ([0,T]) en (n) partes:

\[ 0=t_0<t_1<\dots<t_n=T \]

con tamaño de paso

\[ \Delta t = t_{k+1}-t_k \]

El incremento del movimiento browniano cumple

\[ \Delta W_k = W_{t_{k+1}}-W_{t_k} \]

y

\[ \Delta W_k \sim N(0,\Delta t) \]


3. Aproximación de Euler–Maruyama

El método aproxima el proceso mediante

\[ X_{k+1} = X_k + a(X_k,t_k)\Delta t + b(X_k,t_k)\Delta W_k \]

donde

\[ \Delta W_k = \sqrt{\Delta t}Z_k \]

y

\[ Z_k \sim N(0,1) \]


4. Interpretación

Cada paso tiene tres componentes:

  1. Valor anterior

\[ X_k \]

  1. Cambio determinístico

\[ a(X_k,t_k)\Delta t \]

  1. Cambio aleatorio

\[ b(X_k,t_k)\Delta W_k \]


5. Algoritmo

Para simular el proceso:

  1. Elegir el valor inicial (X_0)
  2. Elegir el paso (t)
  3. Para (k=0,,n-1):
  • generar (Z_k N(0,1))
  • calcular

\[ \Delta W_k = \sqrt{\Delta t}Z_k \]

  • actualizar

\[ X_{k+1} = X_k + a(X_k,t_k)\Delta t + b(X_k,t_k)\Delta W_k \]


6. Ejemplo: Movimiento Browniano Geométrico

Para la ecuación

\[ dX_t = \mu X_t dt + \sigma X_t dW_t \]

el método de Euler–Maruyama queda

\[ X_{k+1} = X_k + \mu X_k \Delta t + \sigma X_k \Delta W_k \]


7. Convergencia

El método tiene:

  • orden fuerte de convergencia

\[ \frac{1}{2} \]

  • orden débil

\[ 1 \]

lo que significa que el error disminuye cuando el paso (t) se hace pequeño.

# Cargar librerías
library(ggplot2)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)

# -----------------------------
# Parámetros de la simulación
# -----------------------------
n_steps <- 500        # número de pasos
T <- 1                # tiempo total
dt <- T/n_steps       # tamaño del paso
n_paths <- 5          # número de trayectorias por proceso

mu <- c(0.5, 0.2, -0.1)    # drift de cada proceso
sigma <- c(0.3, 0.5, 0.2)  # volatilidad de cada proceso
X0 <- c(1, 1, 1)            # valores iniciales

set.seed(123)  # reproducibilidad

# -----------------------------
# Función para simular un proceso
# -----------------------------
simulate_process <- function(mu, sigma, X0, dt, n_steps, n_paths){
  time <- seq(0, dt*n_steps, by=dt)
  paths <- matrix(0, nrow=n_steps+1, ncol=n_paths)
  paths[1,] <- X0
  for(k in 1:n_steps){
    dW <- rnorm(n_paths, mean=0, sd=sqrt(dt))
    paths[k+1,] <- paths[k,] + mu*paths[k,]*dt + sigma*paths[k,]*dW
  }
  df <- as.data.frame(paths)
  df$time <- time
  df_long <- df %>%
    pivot_longer(cols = -time, names_to="trajectory", values_to="X")
  return(df_long)
}

# -----------------------------
# Simular los tres procesos
# -----------------------------
process_list <- list()
for(i in 1:3){
  df <- simulate_process(mu[i], sigma[i], X0[i], dt, n_steps, n_paths)
  df$process <- paste0("Proceso ", i)
  process_list[[i]] <- df
}

df_all <- bind_rows(process_list)

# -----------------------------
# Graficar con ggplot2
# -----------------------------
ggplot(df_all, aes(x=time, y=X, color=trajectory)) +
  geom_line() +
  facet_wrap(~process, scales="free_y") +
  labs(title="Simulación de tres procesos por Euler–Maruyama",
       x="Tiempo", y="Valor de X_t") +
  theme_minimal() +
  theme(legend.position="none")