Simulación de Martingala y Desigualdad Maximal de Doob

En este documento, simularemos una martingala simple y calcularemos la probabilidad de que supere un umbral utilizando la Desigualdad Maximal de Doob.

# Instalación del paquete ggplot2 si no está instalado
if (!requireNamespace("ggplot2", quietly = TRUE)) {
  install.packages("ggplot2")
}
# Cargar el paquete ggplot2
library(ggplot2)

Simulación de Martingala

En el siguiente bloque de código, simulamos una martingala simple utilizando variables aleatorias normales acumuladas a lo largo del tiempo.

# Simular una martingala simple
set.seed(123)
n <- 100 # Número de períodos de tiempo
X <- cumsum(rnorm(n)) # Martingala: suma acumulativa de variables aleatorias normales

# Visualizar la martingala con el umbral
lambda <- 2
df <- data.frame(Time = 1:n, Price = X)
ggplot(df, aes(x = Time, y = Price)) +
  geom_line() +
  geom_hline(yintercept = lambda, linetype = "dashed", color = "red") +
  labs(title = "Simulación de una Martingala con Umbral",
       x = "Tiempo", y = "Precio") +
  theme_minimal()

Desigualdad Maximal de Doob

En el siguiente bloque de código, calculamos la probabilidad de que la martingala supere un umbral específico utilizando la Desigualdad Maximal de Doob.

# Calcular la probabilidad usando la Desigualdad Maximal de Doob
P_max_lambda <- mean(pmax(X >= lambda, 0))

# Imprimir resultados
cat("Probabilidad estimada de que la martingala supere el umbral:", P_max_lambda, "\n")
## Probabilidad estimada de que la martingala supere el umbral: 0.53