Trabajo final de semestre – EconometrÃa Instituto Tecnológico Metropolitano (ITM)
Autora: Yised Melissa Valencia Correa
| Elemento | Descripción |
|---|---|
| Activo elegido | Alphabet Inc., acciones Clase A (GOOGL), NASDAQ. Precio de cierre ajustado, frecuencia diaria, cinco años de historia. |
| Pregunta de investigación | ¿Un modelo ARIMA, especificado y calibrado manualmente
(sin auto.arima()), permite pronosticar el precio de GOOGL
mejor que una caminata aleatoria y sustentar una estrategia de inversión
rentable? |
| Horizonte de inversión | 30 dÃas hábiles bursátiles (h = 30). |
| Capital | USD 100.000. |
| Muestra | 85 % entrenamiento / 15 % validación (división cronológica). |
| Modelos evaluados | ARIMA(1,1,0), (0,1,1), (1,1,1), (2,1,1), (1,1,2) y (2,1,2), más el benchmark Random Walk. |
Principal conclusión.
La siguiente tabla resume los seis indicadores de comparación (AIC, BIC, RMSE, MAE, MAPE y MASE) para todos los modelos. La columna RMSE reportado recoge los resultados empÃricos del trabajo, y el resto de columnas se recalcula al compilar el documento con los datos descargados (pueden variar marginalmente si Yahoo Finance revisa los precios ajustados). Al Random Walk no le corresponden AIC ni BIC porque no estima parámetros.
| Modelo | RMSE reportado | RMSE | MAE | MAPE | MASE | AIC | BIC | |
|---|---|---|---|---|---|---|---|---|
| 1 | Random Walk | 0.086691 | 0.193971 | 0.162859 | 1.83694 | 5.66499 | — | — |
| 2 | ARIMA(1,1,0) | 0.086695 | 0.194013 | 0.162906 | 1.83746 | 5.66663 | -3873.93 | -3863.99 |
| 3 | ARIMA(0,1,1) | 0.086696 | 0.194014 | 0.162907 | 1.83746 | 5.66666 | -3873.93 | -3863.99 |
| 5 | ARIMA(2,1,1) | 0.087034 | 0.193408 | 0.162232 | 1.83003 | 5.64318 | -3872.20 | -3852.32 |
| 6 | ARIMA(1,1,2) | 0.087082 | 0.193541 | 0.162379 | 1.83165 | 5.64830 | -3872.12 | -3852.24 |
| 4 | ARIMA(1,1,1) | 0.087131 | 0.194014 | 0.162907 | 1.83746 | 5.66665 | -3871.93 | -3857.02 |
| 7 | ARIMA(2,1,2) | 0.087285 | 0.194121 | 0.163017 | 1.83868 | 5.67050 | -3869.49 | -3844.64 |
Alphabet Inc. es el conglomerado matriz de Google, constituido en 2015. Sus acciones Clase A (GOOGL, con derecho a voto) cotizan en el NASDAQ, en dólares estadounidenses (USD), con sesión regular de lunes a viernes de 9:30 a 16:00 (hora de Nueva York). Es uno de los activos más lÃquidos y de mayor capitalización del mercado estadounidense, componente de los principales Ãndices bursátiles. Sus ingresos provienen de Google Services (publicidad en Search y YouTube, suscripciones, dispositivos), Google Cloud y Other Bets como Waymo (Alphabet Inc., 2024a).
Fuente de datos. Precios diarios (apertura, máximo,
mÃnimo, cierre, volumen y cierre ajustado) descargados automáticamente
desde Yahoo Finance (Yahoo Finance, s. f.) con el
paquete quantmod (Ryan y Ulrich, 2024). La información
corporativa proviene de los informes oficiales de Alphabet ante la SEC
(Alphabet Inc., 2024a).
Frecuencia. Se eligió frecuencia diaria por tres razones: (i) el activo es muy lÃquido y se negocia todos los dÃas hábiles; (ii) cinco años de datos diarios dan más de 1.200 observaciones, suficientes para calibrar y reservar un bloque de validación; (iii) el horizonte de inversión (30 dÃas hábiles) es corto y requiere granularidad diaria. Los datos semanales o mensuales reducirÃan la muestra a unas 260 o 60 observaciones.
A continuación se presentan los estadÃsticos descriptivos del precio y de los rendimientos, y la evolución histórica de la serie.
| EstadÃstico | Valor |
|---|---|
| Observaciones | 1254.0000 |
| MÃnimo (USD) | 82.6436 |
| Máximo (USD) | 402.1212 |
| Media (USD) | 181.2626 |
| Mediana (USD) | 152.3570 |
| Desv. estándar (USD) | 83.0559 |
| Rendimiento log. diario medio (%) | 0.0717 |
| Volatilidad diaria (%) | 2.0219 |
| Volatilidad anualizada (%) | 32.0974 |
| AsimetrÃa de rendimientos | 0.0148 |
| Curtosis en exceso de rendimientos | 3.0014 |
| Año | Rend. medio diario (%) | Volatilidad anualizada (%) | MÃnimo diario (%) | Máximo diario (%) |
|---|---|---|---|---|
| 2021 | 0.108 | 23.818 | -3.121 | 4.840 |
| 2022 | -0.198 | 38.667 | -9.586 | 7.377 |
| 2023 | 0.184 | 30.401 | -9.992 | 7.026 |
| 2024 | 0.122 | 27.983 | -7.797 | 9.735 |
| 2025 | 0.203 | 32.211 | -7.572 | 9.242 |
| 2026 | 0.034 | 31.361 | -7.400 | 9.496 |
¿Qué nos dicen estos gráficos? La volatilidad es, en palabras simples, qué tanto se mueve el precio de un dÃa a otro. Al mirar la lÃnea roja se nota que ese movimiento no es siempre igual: hay épocas tranquilas, en las que la acción sube o baja poco, y épocas agitadas, en las que los cambios diarios son mucho más grandes. Además, esas épocas tienden a venir en bloques, no de forma aislada: después de un dÃa turbulento suele venir otro. La mayor agitación se observó alrededor del 11/11/2022 y la mayor calma alrededor del 06/06/2024.
Esto importa porque el modelo ARIMA trata la incertidumbre como si fuera siempre la misma. Eso casi no afecta al pronóstico del precio esperado, pero sà al «margen de error» que lo rodea: en épocas agitadas ese margen podrÃa quedarse corto, y en épocas tranquilas, quedarse largo. Retomamos este punto más adelante: en la sección 4 se explica el modelo GARCH, pensado justamente para este fenómeno; en la sección 6 se revisa si los residuos del modelo muestran este comportamiento; y en la sección 9 se tiene en cuenta al simular los escenarios de riesgo.
Implicaciones econométricas. Estos eventos sugieren (i) persistencia y raÃz unitaria en el nivel del precio, (ii) rupturas ocasionales de volatilidad y (iii) sensibilidad a variables externas como tasas de interés y el Ãndice de mercado, que motivan ARIMAX. No hay una razón económica clara para esperar estacionalidad en un precio bursátil diario, hipótesis que se contrasta en la sección 5.
Antes de estimar cualquier modelo se fijan los parámetros de decisión:
Los datos se descargan con quantmod::getSymbols() para
los cinco años anteriores a la fecha de compilación. Se verifican las
condiciones básicas de calidad:
| Verificación | Resultado |
|---|---|
| Primera fecha | 2021-10-22 |
| Última fecha | 2026-10-21 |
| Observaciones descargadas | 1254 |
| Fechas duplicadas | 0 |
| Fechas fuera de orden | 0 |
| Valores faltantes (NA) en las series descargadas | 0 |
| Precios ajustados no positivos | 0 |
| DÃas de la semana presentes (1 = lunes, 5 = viernes) | 1, 2, 3, 4, 5 |
| Saltos de más de 5 dÃas calendario | 0 |
na.omit() (no se imputan, para no introducir información
artificial).| Variable | Descripción | Unidad |
|---|---|---|
GOOGL.Open / High /
Low / Close |
Precios de apertura, máximo, mÃnimo y cierre (sin ajuste por dividendos) | USD por acción |
GOOGL.Volume |
Volumen negociado | Acciones |
GOOGL.Adjusted |
Cierre ajustado por splits y dividendos. Variable principal del estudio. | USD por acción |
Se trabaja con tres representaciones de la serie: el precio \(y_t\), el rendimiento logarÃtmico \(r_t=\ln P_t-\ln P_{t-1}\) (solo descriptivo) y la serie transformada Box-Cox \(y_t^{(\lambda)}\), sobre la que se estiman los modelos. Se aplicarán diferencias según las pruebas de estacionariedad (sección 5).
La separación cronológica se hace antes de calibrar: 85 % para entrenamiento y 15 % para validación. Este porcentaje queda dentro del rango recomendado (15 %-25 %). Se escoge el extremo inferior para conservar más información en la estimación, y aun asà quedan cerca de 190 observaciones (unos nueve meses), bastante más que el horizonte de 30 dÃas. Todo parámetro dependiente de la muestra, incluido \(\lambda\), se estima solo con el entrenamiento.
| Conjunto | Observaciones | Desde | Hasta |
|---|---|---|---|
| Entrenamiento (85%) | 1065 | 2021-10-22 | 2026-01-21 |
| Validación (15%) | 189 | 2026-01-22 | 2026-10-21 |
| Total | 1254 | 2021-10-22 | 2026-10-21 |
La transformación de Box y Cox (1964) busca estabilizar la varianza. Se estima \(\lambda\) solo con el entrenamiento, con el método de Guerrero y, como contraste, con máxima verosimilitud:
| Método | Lambda |
|---|---|
| Guerrero (usado) | 0.1333 |
| Máxima verosimilitud | -0.4000 |
Justificación. El \(\lambda\) estimado es
0.1333. Un valor cercano a 0 equivale a la
transformación logarÃtmica, que es lo habitual en precios financieros,
donde la amplitud de las variaciones crece con el nivel. La
transformación sà se aplica porque estabiliza la varianza y convierte
las variaciones del precio en cambios proporcionales. Los modelos se
estiman sobre y (serie Box-Cox) y los pronósticos se
devuelven a USD con InvBoxCox().
La metodologÃa sigue el enfoque Box-Jenkins (Box et al., 2015; Hyndman y Athanasopoulos, 2021). Sea \(\{y_t\}\) una serie de tiempo y \(\varepsilon_t\) una innovación (ruido blanco): \(E(\varepsilon_t)=0\), \(Var(\varepsilon_t)=\sigma^2\) y \(Cov(\varepsilon_t,\varepsilon_{t-k})=0\) para \(k\neq 0\). La innovación es la parte de \(y_t\) que no se puede anticipar con la información pasada, \(\varepsilon_t=y_t-E(y_t\mid \mathcal I_{t-1})\).
El operador rezago se define como \(L\,y_t=y_{t-1}\), de modo que \(L^k y_t=y_{t-k}\). Con él, un polinomio en \(L\) resume la memoria del proceso:
\[ \phi(L)=1-\phi_1L-\dots-\phi_pL^p,\qquad \theta(L)=1+\theta_1L+\dots+\theta_qL^q . \]
\[ y_t=c+\phi_1y_{t-1}+\dots+\phi_py_{t-p}+\varepsilon_t \;\Longleftrightarrow\; \phi(L)\,y_t=c+\varepsilon_t . \]
El parámetro \(p\) es el número de rezagos propios que explican el valor actual. Condición de estacionariedad: todas las raÃces de \(\phi(z)=0\) deben estar fuera del cÃrculo unitario. En el caso AR(1), con \(|\phi_1|<1\), sustituyendo recursivamente:
\[ y_t=\frac{c}{1-\phi_1}+\sum_{j=0}^{\infty}\phi_1^{\,j}\,\varepsilon_{t-j}, \]
es decir, un MA(\(\infty\)) de coeficientes decrecientes (representación de Wold). Los choques pasados pierden peso geométricamente y la media y la varianza son constantes. Si \(\phi_1=1\), los choques no se disipan:
\[ y_t=y_{t-1}+\varepsilon_t=y_0+\sum_{s=1}^{t}\varepsilon_s,\qquad Var(y_t)=t\,\sigma^2 , \]
y el proceso es no estacionario en media y varianza (raÃz unitaria o caminata aleatoria).
\[ y_t=\mu+\varepsilon_t+\theta_1\varepsilon_{t-1}+\dots+\theta_q\varepsilon_{t-q}=\mu+\theta(L)\,\varepsilon_t . \]
El parámetro \(q\) es el número de choques pasados que aún afectan al presente. Un MA finito siempre es estacionario. Condición de invertibilidad: las raÃces de \(\theta(z)=0\) deben estar fuera del cÃrculo unitario. En MA(1), con \(|\theta_1|<1\):
\[ \varepsilon_t=\sum_{j=0}^{\infty}(-\theta_1)^{j}\,(y_{t-j}-\mu), \]
es decir, el MA(1) invertible equivale a un AR(\(\infty\)). La invertibilidad garantiza que la innovación se pueda recuperar de los datos y que la representación sea única.
Combinando ambos componentes se obtiene el ARMA(p,q): \(\phi(L)\,y_t=c+\theta(L)\,\varepsilon_t\). Si la serie tiene raÃz unitaria, \(\phi(L)\) contiene el factor \((1-L)\) y se puede escribir \(\phi(L)=\tilde\phi(L)(1-L)\). Aplicar \((1-L)^d\) elimina la no estacionariedad en media:
\[ \phi(L)\,(1-L)^d\,y_t=c+\theta(L)\,\varepsilon_t . \]
Con \(d=1\), \(w_t=(1-L)y_t=y_t-y_{t-1}\) es un ARMA(p,q) estacionario. Para el caso de una caminata aleatoria:
\[ y_t=y_0+\sum_{s=1}^{t}\varepsilon_s \;\Longrightarrow\; (1-L)\,y_t=\varepsilon_t \sim RB(0,\sigma^2), \]
de modo que la diferencia es ruido blanco. Los parámetros \((p,d,q)\) son el orden autorregresivo, el número de diferencias y el orden de medias móviles. Los modelos evaluados son casos intermedios entre la caminata aleatoria ARIMA(0,1,0) y un ARIMA de mayor orden. En particular, el ARIMA(1,1,0) seleccionado es:
\[ (1-\phi_1L)(1-L)\,y_t=\varepsilon_t \;\Longrightarrow\; y_t=(1+\phi_1)\,y_{t-1}-\phi_1\,y_{t-2}+\varepsilon_t . \]
Si \(\phi_1\approx 0\), el modelo colapsa a la caminata aleatoria. Esto explica que su pronóstico sea casi igual al del benchmark. La varianza del error de pronóstico crece con el horizonte (\(\approx h\,\sigma^2\) en la caminata aleatoria), por lo que los intervalos se ensanchan con \(\sqrt{h}\).
El modelo ARIMAX agrega un vector de regresores \(\mathbf x_t\) (por ejemplo, el Ãndice S&P 500, tasas de interés, precio de la energÃa o inflación):
\[ \phi(L)\,(1-L)^d\,y_t=c+\boldsymbol\beta'\mathbf x_t+\theta(L)\,\varepsilon_t . \]
Por qué \(\mathbf x_t\) puede aportar información. El proceso autorregresivo solo usa la historia de \(y_t\). Si el rendimiento de GOOGL depende de factores comunes de mercado o macroeconómicos que no están resumidos en sus propios rezagos, \(\mathbf x_t\) puede reducir la varianza del error de pronóstico.
Interpretación de \(\boldsymbol\beta\). Cada \(\beta_k\) mide el cambio asociado en \(y_t\) ante una variación unitaria de \(x_{k,t}\), manteniendo los demás términos fijos. Es un efecto estadÃstico (asociación condicional), no causal. La simultaneidad, las variables omitidas y la causalidad inversa impiden leerlo como causa (por ejemplo, GOOGL pesa en el S&P 500).
Problema de pronosticar \(\mathbf x_{T+h}\). Para pronosticar \(y_{T+h}\) se necesita \(\mathbf x_{T+h}\), que en el momento de decidir no se conoce. Hay tres salidas: (i) usar solo rezagos \(\mathbf x_{t-h}\), ya disponibles; (ii) pronosticar primero \(\mathbf x_t\), lo que añade su propio error; (iii) trabajar con escenarios de \(\mathbf x_t\). Usar el valor realizado de \(\mathbf x_{T+h}\) en el test serÃa fuga de información (data leakage).
La estructura \((p,d,q)(P,D,Q)_s\) añade polinomios de periodo \(s\):
\[ \Phi(L^s)\,\phi(L)\,(1-L)^d(1-L^s)^D\,y_t=c+\boldsymbol\beta'\mathbf x_t+\Theta(L^s)\,\theta(L)\,\varepsilon_t . \]
La periodicidad \(s\) es el número de observaciones que tarda en repetirse un patrón: \(s=5\) (semana de negociación), \(s=21\) (mes) o \(s=252\) (año) en datos diarios; \(s=12\) si fueran mensuales. La dinámica regular \((p,d,q)\) describe la dependencia entre observaciones contiguas, y la estacional \((P,D,Q)_s\) la dependencia entre observaciones separadas por múltiplos de \(s\). Incluir componentes estacionales exige evidencia (picos de ACF/PACF en rezagos \(s,2s,\dots\), un patrón gráfico o una razón económica), que se examina en la sección 5.
Los ARIMA suponen \(Var(\varepsilon_t)=\sigma^2\) constante. Los rendimientos financieros muestran agrupamiento de volatilidad, que se modela con GARCH(p,q) (Engle, 1982; Bollerslev, 1986):
\[ \varepsilon_t=\sigma_t z_t,\quad z_t\sim i.i.d.(0,1),\qquad \sigma_t^2=\omega+\sum_{i=1}^{q}\alpha_i\,\varepsilon_{t-i}^2+\sum_{j=1}^{p}\beta_j\,\sigma_{t-j}^2 , \]
con \(\omega>0\), \(\alpha_i,\beta_j\ge0\) y \(\sum\alpha_i+\sum\beta_j<1\) (estacionariedad en covarianza). Un ARIMA-GARCH modela media y varianza a la vez: la media sigue igual, pero los intervalos de predicción se vuelven condicionales al nivel de volatilidad reciente. Si se detecta heterocedasticidad marcada, el procedimiento correcto es reaplicar la identificación, estimación y diagnóstico sobre el modelo conjunto.
Todos los modelos anteriores se construyen combinando unos pocos operadores. La siguiente tabla los resume, con lo que hace cada uno y dónde aparece:
| Operador | Definición | Función en el modelo |
|---|---|---|
| Rezago \(L\) | \(L^k y_t=y_{t-k}\) (y \(Lc=c\) para una constante) | Desplaza la serie \(k\) periodos hacia atrás; permite escribir la memoria del proceso como un polinomio. |
| Diferencia \((1-L)\) | \((1-L)y_t=y_t-y_{t-1}\); \((1-L)^2=1-2L+L^2\) | Elimina la tendencia estocástica (raÃz unitaria). El exponente \(d\) es el número de veces que se aplica. |
| Diferencia estacional \((1-L^s)\) | \((1-L^s)y_t=y_t-y_{t-s}\) | Elimina un patrón que se repite cada \(s\) periodos. Solo se usarÃa con evidencia de estacionalidad. |
| Polinomio autorregresivo \(\phi(L)\) | \(1-\phi_1L-\dots-\phi_pL^p\) | Recoge cómo el pasado propio de la serie influye en el presente. |
| Polinomio de medias móviles \(\theta(L)\) | \(1+\theta_1L+\dots+\theta_qL^q\) | Recoge cómo los choques pasados siguen afectando al presente. |
| Polinomios estacionales \(\Phi(L^s)\) y \(\Theta(L^s)\) | \(1-\Phi_1L^s-\dots-\Phi_PL^{Ps}\) y \(1+\Theta_1L^s+\dots+\Theta_QL^{Qs}\) | Igual que los anteriores, pero actuando sobre rezagos múltiplos de \(s\). |
| Combinación lineal de regresores \(\boldsymbol\beta'\mathbf x_t\) | \(\beta_1x_{1,t}+\dots+\beta_kx_{k,t}\) | Incorpora variables exógenas en ARIMAX y SARIMAX. |
| Polinomios ARCH y GARCH \(\alpha(L)\) y \(\beta(L)\) | \(\alpha(L)=\sum_{i=1}^{q}\alpha_iL^i\), \(\beta(L)=\sum_{j=1}^{p}\beta_jL^j\) | Permiten escribir la varianza condicional como \(\sigma_t^2=\omega+\alpha(L)\varepsilon_t^2+\beta(L)\sigma_t^2\). |
| Esperanza condicional \(E(\cdot\mid\mathcal I_{t-1})\) | Valor esperado dado el pasado | Define la innovación \(\varepsilon_t\) y el pronóstico óptimo. |
Con estos operadores, los modelos de este trabajo se escriben en forma compacta: el ARIMA(1,1,0) es \(\phi(L)(1-L)y_t=\varepsilon_t\) con \(\phi(L)=1-\phi_1L\), y la caminata aleatoria es \((1-L)y_t=\varepsilon_t\). La ecuación caracterÃstica \(\phi(z)=0\) (o \(\theta(z)=0\)) se obtiene reemplazando \(L\) por una variable \(z\); sus raÃces determinan la estacionariedad y la invertibilidad.
Cada modelo solo es confiable si se cumplen ciertos supuestos. La tabla indica cuáles son y en qué parte del trabajo se verifican:
| Modelo | Supuesto | Cómo se verifica en este trabajo |
|---|---|---|
| AR(p) | Estacionariedad: las raÃces de \(\phi(z)=0\) están fuera del cÃrculo unitario (módulo mayor que 1). | ADF y KPSS sobre la serie diferenciada y módulo de las raÃces estimadas (sección 5). |
| MA(q) | Invertibilidad: las raÃces de \(\theta(z)=0\) están fuera del cÃrculo unitario. | Módulo de las raÃces estimadas (sección 5). |
| ARIMA(p,d,q) | Orden de integración correcto: la serie diferenciada \(d\) veces es estacionaria. | ADF y KPSS en niveles y en primera diferencia, que llevan a \(d=1\) (sección 5). |
| ARIMA(p,d,q) | Innovaciones de ruido blanco: media cero, varianza constante y sin autocorrelación. | ACF de residuos y prueba de Ljung-Box (sección 6). |
| ARIMA(p,d,q) | Normalidad de las innovaciones (solo necesaria para intervalos gaussianos). | Jarque-Bera, Shapiro-Wilk, histograma y Q-Q; si se rechaza, se usa bootstrap de residuos (secciones 6 y 9). |
| ARIMA(p,d,q) | Relación lineal y parámetros estables en el tiempo. | Gráfico de residuos; se reconoce como limitación (sección 10). |
| ARIMAX | Exogeneidad: \(\mathbf x_t\) no está correlacionada con \(\varepsilon_t\), y \(\mathbf x_{T+h}\) está disponible o se puede pronosticar sin fuga de información. | Argumento económico (sección 4.5); no se estima en este trabajo. |
| SARIMAX | Patrón estacional estable de periodo \(s\). | ACF en rezagos estacionales (sección 5); se descarta por falta de evidencia. |
| GARCH(p,q) | \(z_t\) i.i.d. con media 0 y varianza 1; \(\omega>0\), \(\alpha_i,\beta_j\ge0\) y \(\sum\alpha_i+\sum\beta_j<1\). | Ljung-Box sobre residuos al cuadrado y prueba ARCH-LM para detectar la necesidad de GARCH (sección 6). |
| Todos | Sin fuga de información: parámetros y transformaciones estimados solo con el entrenamiento. | Diseño de la separación train-test (sección 3). |
Criterios de información usados para comparar candidatos (\(k\) parámetros, \(T\) observaciones):
\[ AIC=-2\ln L+2k,\quad AICc=AIC+\frac{2k(k+1)}{T-k-1},\quad BIC=-2\ln L+k\ln T . \]
Primero se inspecciona el gráfico: la serie en niveles tiene tendencia y no revierte a una media, mientras que su primera diferencia oscila alrededor de un valor constante.
Se aplican dos pruebas con hipótesis nulas opuestas
(Dickey y Fuller, 1979; Kwiatkowski et al., 1992), implementadas con
tseries (Trapletti y Hornik, 2024):
| Prueba | H0 | Se concluye estacionariedad si |
|---|---|---|
| ADF | RaÃz unitaria (no estacionaria) | p-valor < 0.05 |
| KPSS | Estacionariedad en nivel | p-valor > 0.05 |
| Serie | Prueba | EstadÃstico | p-valor | Conclusión |
|---|---|---|---|---|
| Niveles (Box-Cox) | ADF | -1.4622 | 0.8060 | No estacionaria |
| Niveles (Box-Cox) | KPSS | 9.2788 | 0.0100 | No estacionaria |
| Primera diferencia | ADF | -9.9803 | 0.0100 | Estacionaria |
| Primera diferencia | KPSS | 0.5051 | 0.0405 | No estacionaria |
tseries trunca los p-valores al rango [0.01, 0.1]. Como
verificación adicional, la prueba ADF de urca (Pfaff,
2008), con constante y selección de rezagos por AIC:
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression drift
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
-0.19267 -0.02238 0.00074 0.02131 0.18976
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.00909 0.01463 -0.62 0.53
z.lag.1 0.00152 0.00206 0.74 0.46
z.diff.lag -0.00611 0.03084 -0.20 0.84
Residual standard error: 0.0391 on 1060 degrees of freedom
Multiple R-squared: 0.000533, Adjusted R-squared: -0.00135
F-statistic: 0.283 on 2 and 1060 DF, p-value: 0.754
Value of test-statistic is: 0.7396 1.2682
Critical values for test statistics:
1pct 5pct 10pct
tau2 -3.43 -2.86 -2.57
phi1 6.43 4.59 3.78
Conclusión: la serie en niveles no es estacionaria (ADF no rechaza la raÃz unitaria y KPSS rechaza la estacionariedad). La serie diferenciada es estacionaria según ambas pruebas. Por tanto, d = 1.
La ACF en niveles decae muy lentamente, rasgo tÃpico de una raÃz unitaria. En la serie diferenciada las autocorrelaciones son pequeñas y casi todas quedan dentro de las bandas, lo que sugiere una estructura ARMA de orden bajo (o ninguna). Un AR(1) o un MA(1) pequeños, o sus combinaciones hasta orden 2, son candidatos razonables (\(p,q\le2\)).
Se examina la ACF de la serie diferenciada en rezagos estacionales plausibles: semanal (5), mensual (21), trimestral (63), semestral (126) y anual (252).
| Rezago | ACF | Banda ± | Significativo |
|---|---|---|---|
| 5 | -0.0077 | 0.0601 | No |
| 10 | -0.0050 | 0.0601 | No |
| 15 | -0.0224 | 0.0601 | No |
| 20 | 0.0203 | 0.0601 | No |
| 21 | -0.0047 | 0.0601 | No |
| 42 | 0.0459 | 0.0601 | No |
| 63 | 0.0270 | 0.0601 | No |
| 126 | 0.0061 | 0.0601 | No |
| 252 | -0.0579 | 0.0601 | No |
De los 9 rezagos estacionales evaluados, 0 superan la banda del 95 %. Con un nivel de significancia del 5 % se esperarÃa alrededor de 0.4 por azar. No hay evidencia sistemática de estacionalidad (no aparecen picos periódicos en \(s, 2s, \dots\)) y tampoco hay una razón económica para esperarla en un precio bursátil. Se descartan los componentes estacionales y no se estima SARIMA/SARIMAX.
Se estiman manualmente, solo con el entrenamiento, los seis modelos
con \(d=1\) (sin
auto.arima()), con el paquete forecast
(Hyndman y Khandakar, 2008). No se incluye deriva, pues con \(d=1\) implicarÃa una tendencia determinista
adicional y el objetivo es contrastar frente a la caminata aleatoria sin
deriva.
| Modelo | Justificación |
|---|---|
| ARIMA(1,1,0) | Primera diferencia con memoria autorregresiva de un rezago (PACF). |
| ARIMA(0,1,1) | Primera diferencia con un choque rezagado (ACF). |
| ARIMA(1,1,1) | Combina ambos componentes. |
| ARIMA(2,1,1), (1,1,2), (2,1,2) | Órdenes mayores, para verificar si añaden información o solo parámetros. |
| Modelo | Parámetros | logLik | AIC | AICc | BIC |
|---|---|---|---|---|---|
| ARIMA(1,1,0) | 2 | 1938.96 | -3873.93 | -3873.91 | -3863.99 |
| ARIMA(0,1,1) | 2 | 1938.96 | -3873.93 | -3873.91 | -3863.99 |
| ARIMA(1,1,1) | 3 | 1938.96 | -3871.93 | -3871.90 | -3857.02 |
| ARIMA(2,1,1) | 4 | 1940.10 | -3872.20 | -3872.16 | -3852.32 |
| ARIMA(1,1,2) | 4 | 1940.06 | -3872.12 | -3872.08 | -3852.24 |
| ARIMA(2,1,2) | 5 | 1939.74 | -3869.49 | -3869.43 | -3844.64 |
| Modelo | Parámetro | Estimación | Error est. | z | p-valor | Significativo |
|---|---|---|---|---|---|---|
| ARIMA(1,1,0) | ar1 | -0.0023 | 0.0307 | -0.0755 | 0.9398 | No |
| ARIMA(0,1,1) | ma1 | -0.0024 | 0.0309 | -0.0761 | 0.9393 | No |
| ARIMA(1,1,1) | ar1 | -0.0011 | — | — | — | — |
| ARIMA(1,1,1) | ma1 | -0.0012 | — | — | — | — |
| ARIMA(2,1,1) | ar1 | 0.7211 | 0.2103 | 3.4285 | 0.0006 | SÃ |
| ARIMA(2,1,1) | ar2 | -0.0303 | 0.0325 | -0.9320 | 0.3513 | No |
| ARIMA(2,1,1) | ma1 | -0.7249 | 0.2087 | -3.4741 | 0.0005 | SÃ |
| ARIMA(1,1,2) | ar1 | 0.6983 | 0.2249 | 3.1048 | 0.0019 | SÃ |
| ARIMA(1,1,2) | ma1 | -0.7040 | 0.2254 | -3.1231 | 0.0018 | SÃ |
| ARIMA(1,1,2) | ma2 | -0.0278 | 0.0317 | -0.8779 | 0.3800 | No |
| ARIMA(2,1,2) | ar1 | 0.2930 | — | — | — | — |
| ARIMA(2,1,2) | ar2 | 0.3571 | — | — | — | — |
| ARIMA(2,1,2) | ma1 | -0.3099 | — | — | — | — |
| ARIMA(2,1,2) | ma2 | -0.3777 | — | — | — | — |
Se verifica que las raÃces de los polinomios \(\phi(z)\) y \(\theta(z)\) estén fuera del cÃrculo unitario (módulo mayor que 1), tal como exigen los supuestos de la sección 4.9:
| Modelo | Módulo mÃnimo raÃz AR | Módulo mÃnimo raÃz MA | Estacionario e invertible |
|---|---|---|---|
| ARIMA(1,1,0) | 432.1135 | — | Sà |
| ARIMA(0,1,1) | — | 424.5462 | Sà |
| ARIMA(1,1,1) | 880.0033 | 834.8930 | SÃ |
| ARIMA(2,1,1) | 1.4787 | 1.3794 | SÃ |
| ARIMA(1,1,2) | 1.4320 | 1.3486 | SÃ |
| ARIMA(2,1,2) | 1.3127 | 1.2679 | SÃ |
Selección. La elección no usa el desempeño del test. Se basa en: (i) los criterios de información (BIC penaliza más los parámetros adicionales), (ii) la significancia, (iii) la parsimonia, (iv) la coherencia económica (a mayor eficiencia, menor estructura dinámica esperable) y (v) los residuos (sección 6). Los modelos de mayor orden no aportan una mejora que justifique sus parámetros adicionales. ARIMA(1,1,0) y ARIMA(0,1,1) son prácticamente equivalentes y el primero es el más parsimonioso con un componente autorregresivo interpretable, por lo que se selecciona el ARIMA(1,1,0).
Modelo con menor BIC en esta ejecución: ARIMA(0,1,1)
Modelo con menor AIC en esta ejecución: ARIMA(0,1,1)
Modelo seleccionado: ARIMA(1,1,0) | AIC = -3873.93 | BIC = -3863.99
Series: y_train
ARIMA(1,1,0)
Coefficients:
ar1
-0.002
s.e. 0.031
sigma^2 = 0.00153: log likelihood = 1938.96
AIC=-3873.93 AICc=-3873.91 BIC=-3863.99
Un modelo adecuado debe producir residuos compatibles con ruido blanco: \(E(\varepsilon_t)\approx0\) y \(Cov(\varepsilon_t,\varepsilon_{t-k})\approx0\) para \(k\neq0\).
| Prueba | H0 | EstadÃstico | p-valor | Decisión |
|---|---|---|---|---|
| Ljung-Box (lag 10) | Sin autocorrelación | 7.0885 | 0.6279 | No rechaza H0 |
| Ljung-Box (lag 20) | Sin autocorrelación | 24.1916 | 0.1889 | No rechaza H0 |
| Jarque-Bera | Normalidad | 389.8918 | 0.0000 | Rechaza H0 |
| Shapiro-Wilk (complemento) | Normalidad | 0.9677 | 0.0000 | Rechaza H0 |
| Ljung-Box sobre residuos² (lag 10) | Sin efectos ARCH | 8.0836 | 0.6207 | No rechaza H0 |
| ARCH-LM (5 rezagos) | Sin efectos ARCH | 6.5972 | 0.2524 | No rechaza H0 |
Sea \(e_t=y_t-\hat y_t\) el error en el conjunto de validación de \(h_v\) observaciones:
\[ RMSE=\sqrt{\frac{1}{h_v}\sum e_t^2},\quad MAE=\frac{1}{h_v}\sum |e_t|,\quad MAPE=\frac{100}{h_v}\sum\left|\frac{e_t}{y_t}\right|,\quad MASE=\frac{MAE}{\frac{1}{T-1}\sum_{t=2}^{T}|y_t-y_{t-1}|}, \]
donde el denominador del MASE es el error medio absoluto del pronóstico ingenuo dentro de la muestra de entrenamiento (Hyndman y Koehler, 2006). Un MASE < 1 indica que el modelo supera al pronóstico ingenuo in-sample. El benchmark es la caminata aleatoria (el último precio observado en el corte). Cada modelo se estima solo con el entrenamiento y se pronostica todo el bloque de validación en un horizonte común.
| Modelo | AIC | BIC | RMSE | MAE | MAPE | MASE | |
|---|---|---|---|---|---|---|---|
| 5 | ARIMA(2,1,1) | -3872.20 | -3852.32 | 0.193408 | 0.162232 | 1.83003 | 5.64318 |
| 6 | ARIMA(1,1,2) | -3872.12 | -3852.24 | 0.193541 | 0.162379 | 1.83165 | 5.64830 |
| 1 | Random Walk | — | — | 0.193971 | 0.162859 | 1.83694 | 5.66499 |
| 2 | ARIMA(1,1,0) | -3873.93 | -3863.99 | 0.194013 | 0.162906 | 1.83746 | 5.66663 |
| 4 | ARIMA(1,1,1) | -3871.93 | -3857.02 | 0.194014 | 0.162907 | 1.83746 | 5.66665 |
| 3 | ARIMA(0,1,1) | -3873.93 | -3863.99 | 0.194014 | 0.162907 | 1.83746 | 5.66666 |
| 7 | ARIMA(2,1,2) | -3869.49 | -3844.64 | 0.194121 | 0.163017 | 1.83868 | 5.67050 |
La tabla anterior reúne los seis indicadores (AIC, BIC, RMSE, MAE, MAPE y MASE) de todos los modelos. A continuación se contrasta el RMSE calculado en esta ejecución con el RMSE reportado en los resultados empÃricos del trabajo:
| Modelo | RMSE reportado | RMSE esta ejecución | Diferencia |
|---|---|---|---|
| Random Walk | 0.0866910 | 0.193971 | 0.107280 |
| ARIMA(1,1,0) | 0.0866954 | 0.194013 | 0.107318 |
| ARIMA(0,1,1) | 0.0866955 | 0.194014 | 0.107319 |
| ARIMA(2,1,1) | 0.0870338 | 0.193408 | 0.106374 |
| ARIMA(1,1,2) | 0.0870820 | 0.193541 | 0.106459 |
| ARIMA(1,1,1) | 0.0871309 | 0.194014 | 0.106883 |
| ARIMA(2,1,2) | 0.0872847 | 0.194121 | 0.106836 |
Nota: los valores calculados se obtienen en vivo con los datos descargados al compilar. Pueden diferir marginalmente de los reportados si cambia la ventana de cinco años o Yahoo Finance revisa los precios ajustados. Lo relevante es el orden relativo de los modelos.
| Modelo | RMSE | MAE | MAPE | MASE | |
|---|---|---|---|---|---|
| 5 | ARIMA(2,1,1) | 30.5060 | 25.2756 | 7.2556 | 11.4884 |
| 6 | ARIMA(1,1,2) | 30.5270 | 25.2979 | 7.2614 | 11.4985 |
| 1 | Random Walk | 30.5952 | 25.3706 | 7.2803 | 11.5315 |
| 2 | ARIMA(1,1,0) | 30.6020 | 25.3777 | 7.2821 | 11.5348 |
| 4 | ARIMA(1,1,1) | 30.6021 | 25.3778 | 7.2821 | 11.5348 |
| 3 | ARIMA(0,1,1) | 30.6021 | 25.3778 | 7.2821 | 11.5348 |
| 7 | ARIMA(2,1,2) | 30.6191 | 25.3946 | 7.2864 | 11.5424 |
Como complemento, se evalúa el pronóstico a un paso en el test, actualizando solo la información (no los parámetros) y comparando con el último precio observado:
| Modelo | RMSE | MAE | MAPE | MASE | |
|---|---|---|---|---|---|
| 5 | ARIMA(2,1,1) | 0.043703 | 0.031503 | 0.357196 | 1.09582 |
| 6 | ARIMA(1,1,2) | 0.043705 | 0.031505 | 0.357214 | 1.09588 |
| 1 | Random Walk | 0.043711 | 0.031504 | 0.357190 | 1.09586 |
| 2 | ARIMA(1,1,0) | 0.043719 | 0.031511 | 0.357271 | 1.09611 |
| 4 | ARIMA(1,1,1) | 0.043719 | 0.031511 | 0.357271 | 1.09611 |
| 3 | ARIMA(0,1,1) | 0.043719 | 0.031511 | 0.357272 | 1.09611 |
| 7 | ARIMA(2,1,2) | 0.043739 | 0.031526 | 0.357448 | 1.09661 |
| Modelo | BIC | RMSE | Rango BIC (train) | Rango RMSE (test) | |
|---|---|---|---|---|---|
| 2 | ARIMA(1,1,0) | -3863.99 | 0.194013 | 2 | 3 |
| 3 | ARIMA(0,1,1) | -3863.99 | 0.194014 | 1 | 5 |
| 4 | ARIMA(1,1,1) | -3857.02 | 0.194014 | 3 | 4 |
| 5 | ARIMA(2,1,1) | -3852.32 | 0.193408 | 4 | 1 |
| 6 | ARIMA(1,1,2) | -3852.24 | 0.193541 | 5 | 2 |
| 7 | ARIMA(2,1,2) | -3844.64 | 0.194121 | 6 | 6 |
La correlación de rangos de Spearman es -0.03. El ajuste en entrenamiento no se traslada de forma clara a la capacidad predictiva fuera de muestra, señal de que las diferencias entre modelos son pequeñas. Que el mejor ARIMA solo iguale al benchmark confirma que el ajuste adicional en entrenamiento no genera valor predictivo.
Siguiendo el diseño, el equipo se ubica conceptualmente en la fecha de corte Tâ‚€ (último dÃa de entrenamiento: 2026-01-21) y actúa como si desconociera los precios posteriores. La regla (sección 2) es: posición larga con todo el capital si el pronóstico a \(h=30\) dÃas supera el umbral del 2 %, o liquidez en caso contrario. Con el modelo estimado solo con entrenamiento:
| Concepto | Valor |
|---|---|
| Fecha de corte Tâ‚€ | 2026-01-21 |
| Precio en Tâ‚€ (USD) | 327.74 |
| Pronóstico del precio a 30 dÃas (USD) | 327.73 |
| Rendimiento esperado según el modelo (%) | -0.005 |
| Umbral de decisión (%) | 2 |
| Decisión | Mantener liquidez |
| Precio observado a 30 dÃas (USD) | 300.3 |
| Rendimiento efectivamente observado (%) | -8.374 |
| Estrategia | Posición | Valor final (USD) | Resultado (USD) | Rentabilidad (%) |
|---|---|---|---|---|
| Estrategia basada en el modelo | Liquidez | 100476.2 | 476.19 | 0.48 |
| Comprar y mantener (100 % GOOGL) | Larga | 91466.6 | -8533.43 | -8.53 |
| Solo liquidez (tasa libre de riesgo) | Liquidez | 100476.2 | 476.19 | 0.48 |
| DÃa h | Pronóstico (USD) | IC 95% inf | IC 95% sup | Observado (USD) | ¿Dentro del IC 95%? |
|---|---|---|---|---|---|
| 1 | 327.73 | 316.29 | 339.52 | 329.90 | SÃ |
| 5 | 327.73 | 302.68 | 354.55 | 335.36 | SÃ |
| 10 | 327.73 | 292.81 | 366.20 | 332.39 | SÃ |
| 20 | 327.73 | 279.32 | 383.24 | 302.26 | SÃ |
| 30 | 327.73 | 269.34 | 396.78 | 300.30 | SÃ |
La ventaja del modelo sobre los benchmarks se juzga con las tablas anteriores: el modelo, casi equivalente a una caminata aleatoria, proyecta un rendimiento cercano a cero (menor que el umbral), por lo que la estrategia mantiene liquidez y su resultado es el de la tasa libre de riesgo. Frente a comprar y mantener, esto es ventajoso si el precio cayó en el periodo y desventajoso si subió. Un único episodio no es evidencia estadÃstica de superioridad, como se discute en las limitaciones.
Para la decisión vigente, el modelo se reestima con toda la muestra (entrenamiento + validación) y se proyectan 30 dÃas hábiles desde el último dato.
| Fecha | Pronóstico | IC 80% inf | IC 80% sup | IC 95% inf | IC 95% sup |
|---|---|---|---|---|---|
| 2026-10-22 | 334.69 | 326.90 | 342.65 | 322.83 | 346.93 |
| 2026-10-23 | 334.69 | 323.65 | 346.06 | 317.93 | 352.22 |
| 2026-10-26 | 334.69 | 321.18 | 348.69 | 314.22 | 356.31 |
| 2026-10-27 | 334.69 | 319.12 | 350.92 | 311.13 | 359.78 |
| 2026-10-28 | 334.69 | 317.31 | 352.89 | 308.43 | 362.87 |
| 2026-10-29 | 334.69 | 315.69 | 354.68 | 306.01 | 365.68 |
| 2026-10-30 | 334.69 | 314.20 | 356.33 | 303.80 | 368.27 |
| 2026-11-02 | 334.69 | 312.82 | 357.88 | 301.75 | 370.70 |
| 2026-11-03 | 334.69 | 311.53 | 359.33 | 299.84 | 373.00 |
| 2026-11-04 | 334.69 | 310.32 | 360.71 | 298.05 | 375.18 |
| 2026-11-05 | 334.69 | 309.16 | 362.03 | 296.35 | 377.27 |
| 2026-11-06 | 334.69 | 308.07 | 363.29 | 294.73 | 379.27 |
| 2026-11-09 | 334.69 | 307.02 | 364.50 | 293.19 | 381.20 |
| 2026-11-10 | 334.69 | 306.01 | 365.67 | 291.71 | 383.06 |
| 2026-11-11 | 334.69 | 305.04 | 366.81 | 290.29 | 384.86 |
| 2026-11-12 | 334.69 | 304.11 | 367.91 | 288.92 | 386.62 |
| 2026-11-13 | 334.69 | 303.21 | 368.97 | 287.60 | 388.32 |
| 2026-11-16 | 334.69 | 302.33 | 370.01 | 286.33 | 389.98 |
| 2026-11-17 | 334.69 | 301.48 | 371.03 | 285.09 | 391.61 |
| 2026-11-18 | 334.69 | 300.66 | 372.01 | 283.89 | 393.19 |
| 2026-11-19 | 334.69 | 299.86 | 372.98 | 282.72 | 394.75 |
| 2026-11-20 | 334.69 | 299.08 | 373.93 | 281.59 | 396.27 |
| 2026-11-23 | 334.69 | 298.31 | 374.85 | 280.48 | 397.76 |
| 2026-11-24 | 334.69 | 297.57 | 375.76 | 279.41 | 399.22 |
| 2026-11-25 | 334.69 | 296.84 | 376.65 | 278.35 | 400.66 |
| 2026-11-26 | 334.69 | 296.13 | 377.53 | 277.33 | 402.07 |
| 2026-11-27 | 334.69 | 295.44 | 378.39 | 276.32 | 403.46 |
| 2026-11-30 | 334.69 | 294.75 | 379.24 | 275.34 | 404.83 |
| 2026-12-01 | 334.69 | 294.09 | 380.07 | 274.37 | 406.18 |
| 2026-12-02 | 334.69 | 293.43 | 380.89 | 273.43 | 407.51 |
Como el modelo es prácticamente una caminata aleatoria, el pronóstico puntual es casi plano y la incertidumbre crece con \(\sqrt h\).
| Concepto | Valor |
|---|---|
| Último precio observado (USD) | 334.76 |
| Precio pronosticado a 30 dÃas (USD) | 334.69 |
| Rendimiento esperado (%) | -0.02 |
| Umbral (%) | 2 |
| Decisión | Mantener liquidez |
| Acciones compradas | 0 |
| Capital invertido en GOOGL (USD) | 0 |
| Capital en liquidez (USD) | 100000 |
¿Qué significa «mantener liquidez»? Es una decisión activa, no un «no hacer nada». Significa que en esta fecha no se compra ninguna acción de GOOGL y que los USD 100.000 se conservan en efectivo o en un instrumento de muy bajo riesgo (por ejemplo, un fondo monetario o un depósito a corto plazo) que rinde alrededor del 4,0 % anual. En 30 dÃas hábiles eso equivale a unos USD 476 de intereses, sin exponerse a las subidas y bajadas del precio.
¿Por qué se llegó a esta decisión? Porque la regla que se fijó desde el inicio exigÃa que el modelo proyectara una apreciación de más del 2 % para entrar al mercado, y no la proyecta: el pronóstico a 30 dÃas es de USD 334,69 frente a un precio actual de USD 334,76, es decir, una variación esperada de -0,02 %, claramente por debajo del umbral. Esto no es casual: es consecuencia de lo que mostró el análisis.
En resumen: como el modelo no emite una señal clara y la incertidumbre es alta, lo prudente es no arriesgar capital esperando una ganancia que el modelo no respalda. Esto no quiere decir que la acción vaya a bajar, sino que el modelo no tiene ventaja para afirmar que subirá, lo que es coherente con la hipótesis de eficiencia débil. El costo de esta decisión es el costo de oportunidad: si el precio sube, se renuncia a esa ganancia; si baja, se evita la pérdida. Mientras tanto, el capital sigue rindiendo la tasa libre de riesgo.
Propuesta de gestión. Con la liquidez como posición base, la gestión del capital se complementa con los siguientes principios, por si más adelante se decide tomar exposición a GOOGL:
Aviso: este ejercicio es académico y no constituye asesorÃa financiera.
Se construye una distribución de precios futuros con 1.000 trayectorias al mismo horizonte de inversión (\(h=30\)). Como Jarque-Bera rechaza la normalidad, las innovaciones no se generan de una distribución gaussiana. Se usa bootstrap de residuos (Efron, 1979): en cada paso se remuestrean con reemplazo los residuos del ARIMA(1,1,0) y se propaga la dinámica del modelo:
\[ y^{*}_{T+k}=(1+\hat\phi_1)\,y^{*}_{T+k-1}-\hat\phi_1\,y^{*}_{T+k-2}+\varepsilon^{*}_{T+k},\qquad \varepsilon^{*}\sim\hat F_{\text{residuos}} . \]
Ventajas: no impone normalidad y reproduce las colas pesadas y la asimetrÃa empÃricas. Limitaciones: supone residuos i.i.d. (ignora el agrupamiento de volatilidad, sección 6), no genera valores fuera del rango histórico de los residuos y hereda el error de estimación del modelo. La simulación debe leerse como una herramienta de riesgo, no como una predicción garantizada.
| Medida | Valor |
|---|---|
| Precio de entrada (USD) | 334.760 |
| Precio medio simulado a 30 dÃas (USD) | 335.677 |
| Mediana (USD) | 334.937 |
| Percentil 5 (USD) | 283.783 |
| Percentil 95 (USD) | 392.147 |
| Rendimiento medio a 30 dÃas (%) | 0.274 |
| Desv. estándar del rendimiento (%) | 10.007 |
| Probabilidad de pérdida respecto al precio de entrada (%) | 49.800 |
| Probabilidad de ganancia > 5 % (%) | 29.400 |
| Probabilidad de pérdida > 10 % (%) | 13.700 |
Se evalúan cinco asignaciones del capital de USD 100.000 entre GOOGL y liquidez (con costos de transacción y tasa libre de riesgo del 4 % anual). El VaR y el CVaR se expresan como pérdida positiva.
| % en GOOGL | Valor final medio (USD) | Mediana (USD) | P5 (USD) | P95 (USD) | VaR 95% (USD) | CVaR 95% (USD) | Prob. pérdida (%) |
|---|---|---|---|---|---|---|---|
| 0 | 100476 | 100476 | 100476.2 | 100476 | -476.2 | -476.2 | 0.0 |
| 25 | 100376 | 100322 | 96540.0 | 104551 | 3460.0 | 4401.1 | 44.3 |
| 50 | 100275 | 100165 | 92550.7 | 108681 | 7449.3 | 9344.2 | 48.1 |
| 75 | 100175 | 100011 | 88614.5 | 112756 | 11385.5 | 14221.5 | 50.0 |
| 100 | 100074 | 99854 | 84625.2 | 116885 | 15374.8 | 19164.7 | 51.0 |
Lectura. La distribución se concentra cerca del precio de entrada, con una probabilidad de pérdida de 49.8 %, cercana a la de ganancia, lo que concuerda con la caminata aleatoria. El rango entre los percentiles 5 y 95 del precio (USD 283.78 a 392.15) muestra la magnitud del riesgo. Aumentar la exposición a GOOGL incrementa la dispersión y las pérdidas extremas (VaR y CVaR) sin que la media simulada compense, porque la deriva del modelo es casi nula.
Se resumen tres escenarios construidos con los percentiles de la distribución simulada del precio a 30 dÃas:
| Escenario | Precio de GOOGL (USD) | Variación del precio (%) | Cartera 100 % GOOGL (USD) | Cartera 50/50 (USD) | Cartera adoptada (USD) |
|---|---|---|---|---|---|
| Pesimista (P5) | 283.78 | -15.23 | 84625.2 | 92550.7 | 100476 |
| Base (P50) | 334.94 | 0.05 | 99854.0 | 100165.1 | 100476 |
| Optimista (P95) | 392.15 | 17.14 | 116885.2 | 108680.7 | 100476 |
Como control, se repite la simulación desde Tâ‚€ con el modelo estimado solo con entrenamiento y se ubica el precio realmente observado a 30 dÃas dentro de la distribución simulada:
| Medida | Valor |
|---|---|
| Precio en Tâ‚€ (USD) | 327.742 |
| Mediana simulada a 30 dÃas (USD) | 326.482 |
| Percentil 5 (USD) | 276.601 |
| Percentil 95 (USD) | 389.024 |
| Precio observado a 30 dÃas (USD) | 300.296 |
| Percentil de la distribución en que cae lo observado (%) | 20.800 |
| Probabilidad simulada de pérdida (%) | 51.600 |
El precio observado cae en el percentil 20.8 de la distribución simulada, dentro del intervalo P5-P95: el rango de la simulación fue consistente con lo ocurrido.
La pregunta era si un ARIMA especificado manualmente permite pronosticar el precio de GOOGL mejor que una caminata aleatoria y sustentar una estrategia rentable. La respuesta es no. El mejor ARIMA, el ARIMA(1,1,0), solo iguala al Random Walk, cuyo RMSE es ligeramente menor (0.08669098 frente a 0.08669540). Por eso la estrategia de inversión no puede apoyarse en una ventaja predictiva.
Conclusión general. Los resultados son consistentes con la hipótesis de eficiencia débil del mercado: los precios de GOOGL muestran un comportamiento compatible con una caminata aleatoria. El mejor ARIMA es ARIMA(1,1,0), pero el benchmark Random Walk presenta un RMSE ligeramente menor. La decisión de inversión debe sustentarse en la gestión del riesgo, la diversificación y los costos, no en una supuesta capacidad de predecir la dirección del precio.
Alcance. El modelo describe la dinámica lineal de la media del precio de GOOGL a horizontes cortos y sirve para cuantificar la incertidumbre. No es una herramienta de timing con ventaja demostrada.
Limitaciones y riesgos.
Modelos ARIMA-GARCH (riesgo condicional), ARIMAX con el S&P 500 o tasas rezagadas, validación con ventana móvil y pruebas de Diebold-Mariano, y evaluación de estrategias con múltiples fechas de corte.
| Paquete | Versión | Función |
|---|---|---|
| quantmod | 0.4.28 | Descarga de datos desde Yahoo Finance (Ryan y Ulrich, 2024) |
| forecast | 9.0.2 | Arima(), forecast(), simulate(), BoxCox() (Hyndman y Khandakar, 2008) |
| tseries | 0.10.63 | ADF, KPSS, Jarque-Bera (Trapletti y Hornik, 2024) |
| urca | 1.3.4 | ADF con selección de rezagos (Pfaff, 2008) |
| ggplot2 | 4.0.3 | Gráficos (Wickham, 2016) |
| dplyr | 1.2.1 | Manipulación de datos |
| tidyr | 1.3.2 | Reorganización de datos |
| zoo | 1.8.15 | Ventanas rodantes |
| knitr | 1.51 | Tablas y R Markdown |
| kableExtra | 1.4.1 | Formato de tablas |
set.seed(2024) (global),
set.seed(123) (simulación hacia adelante) y
set.seed(456) (simulación desde T₀).GOOGL_procesada.csv se genera al compilar. El código
descarga los datos de la fuente original.auto.arima() en ninguna parte del documento.Alphabet Inc. (2022, 1 de febrero). Alphabet announces fourth quarter and fiscal year 2021 results [Comunicado de prensa]. https://abc.xyz/investor/
Alphabet Inc. (2024a). Annual report on Form 10-K for the fiscal year ended December 31, 2023. U.S. Securities and Exchange Commission. https://www.sec.gov/
Alphabet Inc. (2024b, 25 de abril). Alphabet announces first quarter 2024 results [Comunicado de prensa]. https://abc.xyz/investor/
Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics, 31(3), 307-327. https://doi.org/10.1016/0304-4076(86)90063-1
Box, G. E. P., & Cox, D. R. (1964). An analysis of transformations. Journal of the Royal Statistical Society: Series B (Methodological), 26(2), 211-252. https://doi.org/10.1111/j.2517-6161.1964.tb00553.x
Box, G. E. P., Jenkins, G. M., Reinsel, G. C., & Ljung, G. M. (2015). Time series analysis: Forecasting and control (5.ª ed.). John Wiley & Sons.
Dickey, D. A., & Fuller, W. A. (1979). Distribution of the estimators for autoregressive time series with a unit root. Journal of the American Statistical Association, 74(366), 427-431. https://doi.org/10.1080/01621459.1979.10482531
Efron, B. (1979). Bootstrap methods: Another look at the jackknife. The Annals of Statistics, 7(1), 1-26. https://doi.org/10.1214/aos/1176344552
Engle, R. F. (1982). Autoregressive conditional heteroscedasticity with estimates of the variance of United Kingdom inflation. Econometrica, 50(4), 987-1007. https://doi.org/10.2307/1912773
Fama, E. F. (1970). Efficient capital markets: A review of theory and empirical work. The Journal of Finance, 25(2), 383-417. https://doi.org/10.2307/2325486
Federal Open Market Committee. (2023, 26 de julio). Federal Reserve issues FOMC statement [Comunicado de prensa]. Board of Governors of the Federal Reserve System. https://www.federalreserve.gov/newsevents/pressreleases/monetary20230726a.htm
Hyndman, R. J., & Athanasopoulos, G. (2021). Forecasting: Principles and practice (3.ª ed.). OTexts. https://otexts.com/fpp3/
Hyndman, R. J., & Khandakar, Y. (2008). Automatic time series forecasting: The forecast package for R. Journal of Statistical Software, 27(3), 1-22. https://doi.org/10.18637/jss.v027.i03
Hyndman, R. J., & Koehler, A. B. (2006). Another look at measures of forecast accuracy. International Journal of Forecasting, 22(4), 679-688. https://doi.org/10.1016/j.ijforecast.2006.03.001
Jarque, C. M., & Bera, A. K. (1987). A test for normality of observations and regression residuals. International Statistical Review, 55(2), 163-172. https://doi.org/10.2307/1403192
Kwiatkowski, D., Phillips, P. C. B., Schmidt, P., & Shin, Y. (1992). Testing the null hypothesis of stationarity against the alternative of a unit root. Journal of Econometrics, 54(1-3), 159-178. https://doi.org/10.1016/0304-4076(92)90104-Y
Ljung, G. M., & Box, G. E. P. (1978). On a measure of lack of fit in time series models. Biometrika, 65(2), 297-303. https://doi.org/10.1093/biomet/65.2.297
OpenAI. (2022, 30 de noviembre). Introducing ChatGPT. https://openai.com/blog/chatgpt
Pfaff, B. (2008). Analysis of integrated and cointegrated time series with R (2.ª ed.). Springer. https://doi.org/10.1007/978-0-387-75967-8
Pichai, S., & Hassabis, D. (2023, 6 de diciembre). Introducing Gemini: Our largest and most capable AI model. Google. https://blog.google/technology/ai/google-gemini-ai/
R Core Team. (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/
Ryan, J. A., & Ulrich, J. M. (2024). quantmod: Quantitative financial modelling framework (Paquete de R). https://CRAN.R-project.org/package=quantmod
Shapiro, S. S., & Wilk, M. B. (1965). An analysis of variance test for normality (complete samples). Biometrika, 52(3-4), 591-611. https://doi.org/10.1093/biomet/52.3-4.591
Trapletti, A., & Hornik, K. (2024). tseries: Time series analysis and computational finance (Paquete de R). https://CRAN.R-project.org/package=tseries
United States v. Google LLC, No. 1:20-cv-03010 (D.D.C. 5 de agosto de 2024).
Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://ggplot2.tidyverse.org
Yahoo Finance. (s. f.). Alphabet Inc. (GOOGL) historical data. Recuperado el 22 de octubre de 2026, de https://finance.yahoo.com/quote/GOOGL/history