Rendimientos, volatilidad y movimiento browniano geométrico
Distribución empírica, pruebas de normalidad y proyección del precio
Autores/as
Santiago Álvarez Tostado Estrada
Francisco Uriel Ledezma Chávez
Jorge Isaac López Ávila
Juan Pablo Morán Errejón
Fecha de publicación
21 de septiembre de 2026
Fuente de datos
Yahoo Finance / BMV
Corte financiero
31 de diciembre de 2025
Moneda
MXN por acción; rendimientos adimensionales
Periodo cubierto
27 de febrero de 2006–26 de agosto de 2026
1 Introducción
ImportantePendiente de redacción
Propósito del análisis y estructura del documento.
2 Metodología
El rendimiento logarítmico diario se define como
\[
r_t = \ln\!\left(\frac{S_t}{S_{t-1}}\right)
\]
Los rendimientos logarítmicos son aditivos en el tiempo, propiedad que hace exacto el escalamiento por horizonte. Bajo el supuesto de independencia serial, la media y la volatilidad se anualizan como
jb <-jarque_bera_table(list("Rendimientos"= sample_returns$log_return,"Precio"= sample_prices$adjusted,"Logaritmo del precio"=log(sample_prices$adjusted)))report_table(jb, caption ="Prueba de Jarque-Bera sobre las tres series.")
Tabla 3: Prueba de Jarque-Bera sobre las tres series.
Serie
Observaciones
Asimetría
Curtosis
Exceso de curtosis
Estadístico
Valor p
Rechaza normalidad
Rendimientos
1,258
-1.1301
23.837
20.8371
23,026.38
0
TRUE
Precio
1,258
0.6767
2.673
-0.3271
101.62
0
TRUE
Logaritmo del precio
1,258
0.1420
2.349
-0.6513
26.46
0
TRUE
Ver código
mu <-mean(sample_returns$log_return)sigma <-sd(sample_returns$log_return)ggplot(sample_returns, aes(log_return)) +geom_histogram(aes(y =after_stat(density)), bins =80,fill = RISK_PALETTE[1], alpha =0.7) +stat_function(fun = dnorm, args =list(mean = mu, sd = sigma),colour = RISK_PALETTE[2], linewidth =0.7) +scale_x_continuous(labels =label_percent(accuracy =1)) +labs(x ="Rendimiento logarítmico diario", y ="Densidad",caption ="Barra: distribución empírica. Línea: normal con la media y la desviación de la muestra." )
Figura 1: Distribución empírica de los rendimientos diarios frente a la normal ajustada.
Media igual a cero
\[
t = \frac{\bar{r}}{s/\sqrt{n}} \;\sim\; t_{\,n-1}
\]
La Tabla 4 reporta la estimación y la decisión estadística correspondiente.
Ver código
report_table(mean_zero_test(sample_returns$log_return),caption ="Prueba t de media diaria igual a cero.")
Tabla 4: Prueba t de media diaria igual a cero.
Observaciones
Media
Error estándar
Estadístico
Grados de libertad
Valor p
Límite inferior
Límite superior
Rechaza media cero
1,258
0.0008
0.0006
1.345
1,257
0.1787
-0.0004
0.002
FALSE
ImportantePendiente de redacción
Interpretación en términos de eficiencia de mercado. No rechazar la hipótesis de media cero es el resultado interesante, no el decepcionante.
de modo que \(\ln S_t\) es normal y \(S_t\) es lognormal. El intervalo de confianza se construye sobre los cuantiles de la lognormal, no como una banda simétrica alrededor de la media: el precio no puede ser negativo y su distribución es asimétrica a la derecha.
La Tabla 5 presenta las proyecciones construidas con parámetros diarios.
Ver código
gbm <-gbm_params(sample_returns$log_return)s0 <- sample_prices$adjusted[which.max(sample_prices$date)]report_table(gbm_projection(s0, gbm$nu_daily, gbm$sigma_daily, params()$gbm$horizons_days),caption ="Proyección con parámetros diarios. Horizonte en días hábiles.")
Tabla 5: Proyección con parámetros diarios. Horizonte en días hábiles.
Horizonte
Precio inicial (MXN)
Esperado (MXN)
Mediana (MXN)
Límite inferior (MXN)
Límite superior (MXN)
Confianza
Amplitud del intervalo (MXN)
10
471
475.8
474.8
417.0
540.5
0.95
0.2601
20
471
480.7
478.6
398.4
574.9
0.95
0.3689
40
471
490.5
486.2
375.1
630.2
0.95
0.5246
6 Modelo con parámetros anuales
La Tabla 6 expresa la misma proyección en horizontes anuales.
Ver código
horizons_years <-params()$gbm$horizons_months /12report_table(gbm_projection(s0, gbm$nu_annual, gbm$sigma_annual, horizons_years),caption ="Proyección con parámetros anualizados. Horizonte en años.")
Tabla 6: Proyección con parámetros anualizados. Horizonte en años.
Horizonte
Precio inicial (MXN)
Esperado (MXN)
Mediana (MXN)
Límite inferior (MXN)
Límite superior (MXN)
Confianza
Amplitud del intervalo (MXN)
0.25
471
502.1
495.2
357.6
685.7
0.95
0.6626
0.50
471
535.1
520.6
328.5
824.9
0.95
0.9536
0.75
471
570.4
547.3
311.4
961.8
0.95
1.1884
1.00
471
608.0
575.3
300.0
1,103.3
0.95
1.3961
ImportantePendiente de redacción
Cómo se amplifica la incertidumbre al ampliar el horizonte: el ancho del intervalo crece con \(\sqrt{t}\) mientras el valor esperado crece con \(t\).
7 Discusión
ImportantePendiente de redacción
¿Son normales los rendimientos? ¿Es el precio normal o lognormal? ¿Qué implica suponer normalidad al modelar riesgo, y qué riesgos introduce ese supuesto en la toma de decisiones? La respuesta debe apoyarse en los estadísticos calculados arriba, no en la teoría general.
8 Conclusiones
ImportantePendiente de redacción
Síntesis de hallazgos y validez del modelo teórico frente a los datos.