Las Variables que veremos a continuación se basan en criptomonedas, como bien sabemos existe una gran variedad de criptomonedas en el mercado. En este análisis vamos a estudiar tres (3) criptomonedas las cuales son las siguientes:

Ethereum(ETH) (Desde Nov 2017 - Hasta Mar 2022).

Carnado(ADA) (Desde Nov 2017 - Hasta Mar 2022).

Polkadot(DOT) (Desde Ago 2020 - Hasta Ene 2022).

Ethereum (2015) es una plataforma de código abierto, que funciona para efectuar contratos inteligentes. La confiabilidad de esta cripto es que tiene un alto grado de descentralización a diferencia de otras, el precio histórico de la misma llegó a ser bastante atractiva para los inversionistas.

Cardano (2015) es una cadena de bloques de código abierto, la cual sirve para ejecutar contratos inteligentes y así crear su propia moneda digital, esta fué fundada por unos de los cofundadores de Ethereum. El precio de ella siempre ha sido “estable”, la misma no ha tenido un precio de cierre mayor a 3 USD.

Polkadot (2020) trata diversas “blockchains” especilizadas que se conectan a la cadena de relevo de Polkadot la cual constituyen el aspecto “multicadena”. la cual es bastante curiosa porque puede repartir la información y distribuirla en redes diferentes que intervienen.

La data suministrada fué obtenida por yahoofinance.com de forma diaria para las tres (3) criptomonedas que se veran en estudio.

Cuadro Resumen Criptos

El siguiente cuadro muestra un breve resumen de los datos donde trabajaremos con los precios del cierre del dia, los cuales son:

Histórico de precios ETH
date open high low close volume adjusted
1 2017-11-09 308.645 329.452 307.056 320.884 893249984 320.884
2 2017-11-10 320.671 324.718 294.542 299.253 885985984 299.253
3 2017-11-11 298.586 319.453 298.192 314.681 842300992 314.681
1646 2022-05-12 2072.505 2170.458 1748.303 1961.702 42463486402 1961.702
1647 2022-05-13 1960.123 2139.713 1941.976 2014.418 24816096567 2014.418
1648 2022-05-14 2014.281 2063.430 1956.573 2056.274 15457044616 2056.274
Histórico de precios ADA
date open high low close volume adjusted
1 2017-11-09 0.025160 0.035060 0.025006 0.032053 18716200 0.032053
2 2017-11-10 0.032219 0.033348 0.026451 0.027119 6766780 0.027119
3 2017-11-11 0.026891 0.029659 0.025684 0.027437 5532220 0.027437
1646 2022-05-12 0.512999 0.545498 0.406529 0.473746 2798263564 0.473746
1647 2022-05-13 0.473418 0.601088 0.469981 0.528877 1946134960 0.528877
1648 2022-05-14 0.528942 0.554225 0.491435 0.539358 1178703676 0.539358
Histórico de precios DOT
date open high low close volume adjusted
1 2020-08-20 2.787857 3.077784 2.692896 2.900080 48819867 2.900080
2 2020-08-21 2.896923 3.090093 2.730919 2.875028 49313137 2.875028
3 2020-08-22 2.878570 4.510613 2.816762 4.484690 485801096 4.484690
631 2022-05-12 8.966533 9.430751 7.323471 8.745313 1718065655 8.745313
632 2022-05-13 8.735124 11.725416 8.581082 10.493300 1860790600 10.493300
633 2022-05-14 10.493467 11.500017 9.828200 11.350681 1414801522 11.350681

A continuacion, graficamos los históricos de las series.

Podemos observar que la serie del Ethereum en el 2018 comenzó con un precio de cierre en el mercado hasta de 1000 usd, sin embargo, los años 2019, 2020 y 2021 no fueron tan amigables con esta criptomoneda.

Desde el 2018 hasta finales del 2020 el volumen de transacción fué mucho menor que para el año 2021 y parte del 2022. Podemos notar que el covid 2019 no fué una variable que impacte a la serie, como pudo haber afectado otros mercados financieros.

Se puede notar que la serie del Cardano es similar a la serie del Ethereum teniendo un inicio en el año 2018 de más de 1 USD, el cual fué disminuyendo manteniendo un valor casi constante desde el 2019 hasta finales del 2021 donde su variabilidad no fué tan pronunciada. Sin embargo, a partir del 2021 el precio del cierre de esta criptomoneda comenzó a llegar a precios máximos históricos a lo largo de su trayectoria, en consecuencia, pudo haber sucedido gracias a la “nueva” realidad post COVID-19, donde muchas personas apostaron a invertir en un mercado donde posiblemente tengan mayor rentabilidad (teniendo en cuenta que muchas personas estuvieron desempleadas por cortes de nómina).

La serie de Polkadot (DOT) es bastante distinta a las anteriores, primero porque no se tiene suficiente histórico de la serie porque la criptomoneda se desarrolló en un período reciente, por lo tanto, no se puede apreciar el comportamiento de los años antes y después de la pandemia ya que fué lanzada recientemente.

Sin embargo, podemos notar que en el primer trimestre del 2021 y 2022 tuvieron un comportamiento bastante similar, ¿Podemos esperar un comportamiento decreciente en el el segundo trimestre del año 2022?

Para simplificar el análisis, por los momentos, revisáremos las series de forma mensual.

Efectivamente las series tienen menor ruido en el gráfico por la reducción de la periodicidad.

En la vida real muchas veces las series temporales que queremos estudiar no son estacionarias en su naturaleza, por lo tanto se deben emplear técnicas matemáticas las cuales no permitirán transformar nuestra serie temporal no estacional, en una serie temporal estacional.

Los Modelos Arima nos permiten describir autocorrelaciones de datos en una serie temporal. las series estacionarias son aquellas que estadísticamente no dependen del tiempo en las observaciones bajo estudio, en nuestro caso las series temporales que estamos estudiando “Ethereum”,“Cardano” y “Polkadot” se puede observar tendencia en su comporamiento histórico.

Estacionariedad y Diferenciación

Las series temporales financieras en su mayoría no son estacionarias, por lo tanto, es posible realizar transformaciones matemáticas como el logaritmo para estabilizar la variabilidad de la serie y la diferenciación que puede ayudar a normalizar la media de una serie eliminando los cambios en el nivel de una serie temporal, por consiguiente, reduce la tendencia y la estacionalidad.

El gráfico de la autocorrelación simple nos permite identificar series temporales no estacionarias, la autocorrelación simple (ACF) para una serie de tiempo estacionaria caerá a cero de forma rápida, mientras que para una serie de tiempo no estacionaria disminuye lentamente

Podemos observar que efectivamente la función de autocorrelación simple y la función de autocorrelación parcial modificaron su comportamiento luego de haber diferenciado las observaciones. Notamos que el activo Polkadot naturalmente es una serie temporal estacionaria, sin embargo, es una afirmación apresurada la cual confirmaremos con test que generan mayor confiabilidad por su transfondo matemático. Se debe tener en cuenta que aplicar más diferencias de las requeridas induciremos a dinámicas falsas o autocorrelaciones que en realidad no existen en la serie.

Las diferencias estacionales son el cambio entre un período a otro (Ejm. el cambio que existe de un dia a otro). Podemos expresar el proceso de diferenciación de la siguiente manera :

(1-B)d Zt

Donde: d representa la diferencia

Si combinamos diferenciación con autoregresión y un modelo de media móvil, obtenermos un modelo ARIMA no estacional. El modelo completo se puede representar de la siguiente forma:

(1-Ø1B-…-ØPBP) (1-B)d Zt = (1+⊖1B+…+⊖qBq)at

Donde: Los componentes que contienen Ø es la parte autoregresiva.

Los componentes que contienen ⊖ es la parte de media móvil

y por ultimo, tenemos el proceso de diferenciación

Prueba de Dickey Fuller Aumentada

Es una prueba de significación estadística, lo que significa que obtendremos resultados en contraste de hipótesis. Como resultado generará un valor p el cual necesitaremos hacer inferencia sobre la serie temporal con la finalidad de la presencia de estacionalidad o no.

Una raíz unitaria representa si una serie temporal no es estacionaria, el test de dickey fuller lo que quiere probar es la existencia de dicha raíz. Definimos las hipótesis.

H0: 𝝆 = 0 (Presenta Raíz unitaria).

H1:𝝆 = 1 (No presenta Raíz unitaria).

Utilizaremos primeramente las series sin haber hecho ningún tipo de transformación, y posteriormente se seguirán realizando transformaciones si así lo requiera.

## [1] "Ethereum"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_eth_month$close
## Dickey-Fuller = -1.991, Lag order = 3, p-value = 0.5782
## alternative hypothesis: stationary
## [1] "Cardano"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_ada_month$close
## Dickey-Fuller = -2.0756, Lag order = 3, p-value = 0.5441
## alternative hypothesis: stationary
## [1] "Polkadot"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_dot_month$close
## Dickey-Fuller = -2.2572, Lag order = 2, p-value = 0.4744
## alternative hypothesis: stationary

Como p > 0.05 no tenemos suficientes elementos estadísticos para rechazar la hipótesis nula, por lo tanto, las series temporales Ethereum, Cardano y Polkadot son naturalmente series No estacionarias, donde se cumple lo que afirmabamos en un principio “una serie de tiempo no estacionaria disminuye lentamente” en la función de autocorrelación simple, con una excepción del Polkadot donde presumimos que era una serie temporal estacionaria.

Realicemos nuestra primera diferenciación la cual nos permitirá transformar la serie no estacional en estacional.

## [1] "Ethereum"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  difference(ts_eth_month$close)[-1]
## Dickey-Fuller = -2.5705, Lag order = 3, p-value = 0.3447
## alternative hypothesis: stationary
## [1] "Cardano"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  difference(ts_ada_month$close)[-1]
## Dickey-Fuller = -2.8922, Lag order = 3, p-value = 0.2152
## alternative hypothesis: stationary
## [1] "Polkadot"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  difference(ts_dot_month$close)[-1]
## Dickey-Fuller = -3.9221, Lag order = 2, p-value = 0.02699
## alternative hypothesis: stationary

Llevando a cabo la transformación de diferenciación, podemos observar que efectivamente el p valor disminuyó y podemos concluir que, como p > 0.05 para Ethereum y Cardano no tenemos elementos estadísticos suficientes para rechazar la hipótesis nula de no presencia de raíz unitaria, en cambio, para la serie temporal del activo Polkadot necesitó una diferenciación para poder concluir que no presenta raíz unitaria luego de dicha transformación, esto gracias a que p < 0.05

Realicemos nuevamente la transformación de diferenciar las observaciones con la finalidad que las series Ethereum y Cardano sean estacionarias.

## [1] "Ethereum"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  difference(difference(ts_eth_month$close)[-1])[-1]
## Dickey-Fuller = -5.5344, Lag order = 3, p-value = 0.01
## alternative hypothesis: stationary
## [1] "Cardano"
## 
##  Augmented Dickey-Fuller Test
## 
## data:  difference(difference(ts_ada_month$close)[-1])[-1]
## Dickey-Fuller = -5.3181, Lag order = 3, p-value = 0.01
## alternative hypothesis: stationary

Como p < 0.05 en ambas series temporales transformadas, podemos concluir que existen elementos suficientes para rechazar la hipótesis nula y decir con certeza que las series son estacionarias luego de haber hecho dos (2) diferenciaciones.

Finalmente la prueba de Dickey Fuller Aumentada nos ayudó a construir el orden (d) del modelo ARIMA que posteriormente emplearemos luego de apoyarnos en el correlograma y así hallar el (p) y (q) del modelo. Entonces

d = 2 (Gracias a la prueba de Dickey Fuller Aumentada)

d = 2 (Gracias a la prueba de Dickey Fuller Aumentada)

d = 1 (Gracias a la prueba de Dickey Fuller Aumentada)

Prueba de Phillips-Perron

La prueba de Phillips Perron fué planteada como una alternativa no parametrica a la prueba de Dickey Fuller Aumentada, En especial para las series temporales financieras es bastante útil de la hora de realizar pruebas de estacionariedad.

Realicemos la prueba de Phillips Perron con la data sin transformación para visualizar el comportamiento de la prueba, es importante conocer que esta prueba sigue las mismas hipótesis y valores criticos de la prueba Dickey Fuller Aumentada. entonces:

## [1] "Ethereum"
## 
##  Phillips-Perron Unit Root Test
## 
## data:  ts_eth_month$close
## Dickey-Fuller Z(alpha) = -5.6082, Truncation lag parameter = 3, p-value
## = 0.7846
## alternative hypothesis: stationary
## [1] "Cardano"
## 
##  Phillips-Perron Unit Root Test
## 
## data:  ts_ada_month$close
## Dickey-Fuller Z(alpha) = -8.5344, Truncation lag parameter = 3, p-value
## = 0.6065
## alternative hypothesis: stationary
## [1] "Polkadot"
## 
##  Phillips-Perron Unit Root Test
## 
## data:  ts_dot_month$close
## Dickey-Fuller Z(alpha) = -5.8543, Truncation lag parameter = 2, p-value
## = 0.753
## alternative hypothesis: stationary

No contamos con elementos suficientes para rechazar la hipótesis nula de presencia de raíz unitaria, ya que, p > 0.05. Podemos concluir que las series temporales en estudio son No estacionarias en su naturaleza, donde coincide con la prueba de Dickey Fuller Aumentada.

Veamos el comportamiento de la prueba de Phillips Perron luego de diferencias el grupo de series temporales en estudio:

## [1] "Ethereum"
## 
##  Phillips-Perron Unit Root Test
## 
## data:  difference(ts_eth_month$close)[-1]
## Dickey-Fuller Z(alpha) = -40.882, Truncation lag parameter = 3, p-value
## = 0.01
## alternative hypothesis: stationary
## [1] "Cardano"
## 
##  Phillips-Perron Unit Root Test
## 
## data:  difference(ts_ada_month$close)[-1]
## Dickey-Fuller Z(alpha) = -62.714, Truncation lag parameter = 3, p-value
## = 0.01
## alternative hypothesis: stationary
## [1] "Polkadot"
## 
##  Phillips-Perron Unit Root Test
## 
## data:  difference(ts_dot_month$close)[-1]
## Dickey-Fuller Z(alpha) = -16.44, Truncation lag parameter = 2, p-value
## = 0.08174
## alternative hypothesis: stationary

A diferencia de la prueba de dickey fuller aumentada, podemos rechazar la hipótesis nula para las series temporales de Ethereum y Cardano diferenciando la serie una sola vez, ya que, p < 0.05. La serie temporal de Polkadot nos refleja en comparación con la prueba de Dickey Fuller (La cual solo fué diferenciada en una sola ocasión) debe diferenciarse una vez más porque el p > 0.05 donde podemos concluir que no existen elementos suficientes para rechazar la hipótesis nula. Veamos el comportamiento de la serie Polkadot diferenciada una vez más.

## 
##  Phillips-Perron Unit Root Test
## 
## data:  difference(difference(ts_dot_month$close)[-1])[-1]
## Dickey-Fuller Z(alpha) = -25.457, Truncation lag parameter = 2, p-value
## = 0.01
## alternative hypothesis: stationary

Existen elementos estadísticos suficientes para rechazar la hipótesis nula de existencia de raices unitarias, por lo tanto, podemos concluir que la serie temporal Polkadot es estacionaria luego de dos (2) diferenciaciones utilizando la prueba de Phillips Perron.

modelo Arima

Ahora bien, gracias a este método inferimos en el orden (d) de las series en estudio con la finalidad de la aplicación del modelo ARIMA. por consiguiente las series quedan de la siguiente forma:

d = 2 (Gracias a la prueba de Dickey Fuller Aumentada)

d = 1 (Gracias a la prueba de Phillips Perron)

d = 2 (Gracias a la prueba de Dickey Fuller Aumentada)

d = 1 (Gracias a la prueba de Phillips Perron)

d = 1 (Gracias a la prueba de Dickey Fuller Aumentada)

d = 2 (Gracias a la prueba de Phillips Perron)

Visualicemos la función de autocorrelación simple y la función de autocorrelación parcial para inferir en los ordenes de (p) y (q), ya que, contamos con los ordenes de (d) para las series temporales en estudio

Podemos concluir mediante el correlograma el orden del modelo ARIMA para nuestras series temporales:

En la función de autocorrelación simple presenta un rezago en k = 2, así como en la autocorrelación parcial presenta un regazo en k = 2. Por lo tanto podemos concluir que el orden del ARIMA para la serie Ethereum es ARIMA(2,1,2).

Ésta serie temporal presenta en la función de autocorrelación simple un rezago en k = 2, a su vez en la función de autocorrelación parcial presenta un regazo en k = 2. Por lo tanto podemos concluir que el orden del modelo ARIMA para la serie Cardano es ARIMA(2,1,2)

La serie tiemporal Polkadot no presenta rezagos ni perturbaciones aleatorias en sus componentes de función de autocorrelación simple y función de autocorrelacion parcial, por lo tanto, podemos concluir que el orden del modelo ARIMA para la serie Polkadot es ARIMA(0,2,0)

En el análisis se emplearán varios Modelos ARIMA en las 3 series estudiadas. Los Modelos que se aplicarán fueron gracias a las conclusiones de la diferenciación y las funciones de autocorrelación simple y parcial, utilizaremos un componente computacional “autoarima” que tiene la finalidad de conseguir “el mejor modelo arima para nuestra serie”, y por ultimo generé un código el cual itera todas las combinaciones posibles de los ordenes (p), (d) y (q) del modelo ARIMA con la finalidad de presentar un cuadro resumen presentando el modelo que tenga menor akaike.

## [1] "Ethereum"
##     akaike      representacion
## 1 786.2071 arima(2,2,1)(0,0,0)
## 2 786.2071 arima(2,2,1)(0,0,1)
## 3 786.2071 arima(2,2,1)(0,0,2)
## 4 786.2071 arima(2,2,1)(0,1,0)
## 5 786.2071 arima(2,2,1)(0,1,1)
## 6 786.2071 arima(2,2,1)(0,1,2)
## [1] "Cardano"
##     akaike      representacion
## 1 25.56558 arima(2,1,2)(0,0,0)
## 2 25.56558 arima(2,1,2)(0,0,1)
## 3 25.56558 arima(2,1,2)(0,0,2)
## 4 25.56558 arima(2,1,2)(0,1,0)
## 5 25.56558 arima(2,1,2)(0,1,1)
## 6 25.56558 arima(2,1,2)(0,1,2)
## [1] "Polkadot"
##     akaike      representacion
## 1 147.0962 arima(0,2,1)(0,0,0)
## 2 147.0962 arima(0,2,1)(0,0,1)
## 3 147.0962 arima(0,2,1)(0,0,2)
## 4 147.0962 arima(0,2,1)(0,1,0)
## 5 147.0962 arima(0,2,1)(0,1,1)
## 6 147.0962 arima(0,2,1)(0,1,2)

Recordando que el criterio de información akaike representa las variables independientes que pueden explicar la variabilidad de nuestra serie temporal, es decir, mientras menor sea nuestro akaike el modelo no será tan complejo de explicar.

## [1] "Ethereum"
## # A tibble: 3 × 6
##   .model     sigma2 log_lik   AIC  AICc   BIC
##   <chr>       <dbl>   <dbl> <dbl> <dbl> <dbl>
## 1 arimafun  130003.   -387.  785.  786.  795.
## 2 arima212  133120.   -393.  797.  798.  807.
## 3 arimaauto 147488.   -398.  798.  798.  800.
## [1] "Cardano"
## # A tibble: 3 × 6
##   .model    sigma2 log_lik   AIC  AICc   BIC
##   <chr>      <dbl>   <dbl> <dbl> <dbl> <dbl>
## 1 arimaauto 0.0909   -11.9  25.8  25.8  27.7
## 2 arimafun  0.0909   -11.9  25.8  25.8  27.7
## 3 arima222  0.0995   -12.9  35.8  37.1  45.7
## [1] "Polkadot"
## # A tibble: 3 × 6
##   .model    sigma2 log_lik   AIC  AICc   BIC
##   <chr>      <dbl>   <dbl> <dbl> <dbl> <dbl>
## 1 arima010    61.6   -73.1  148.  148.  149.
## 2 arimafun    48.6   -67.4  147.  153.  153.
## 3 arimaauto   53.1   -73.9  156.  158.  160.

Para el modelo ARIMA de la serie Ethereum podemos observar que código que realicé estimó el valor akaike más pequeño que el autoarima y el análisis de las funciones de autocorrelación.

El Cardano se ajustó al modelo autoarima, quien disminuye el criterio akaike en comparación con los Modelos previamente estudiados.

Para el Polkadot el modelo ARIMA(0,1,0) es quien disminuye el akaike en comparación con los Modelos autoarima y el codigo generado.

Finalmente, con los Modelos para cada serie podemos proceder a análizar los residuos.

En las siguientes graficas veremos el comportamiento de los residuos, así mismo, los test serán llevados a cabo con los residuos del modelo fijandonos en la autocorrelación en los residuos del modelo y la normalidad que deben cumplir los mismos.

La prueba de autocorrelación sera el de Box-L-Jung, donde la hipótesis nula será rechazada siempre y cuando p-value > 0.05. Es importante que un modelo estacionario cumpla estas condiciones para tener un buen pronóstico, en caso contrario el pronóstico será explicado por otro modelo donde se le haga un mejor tratamiento a la varianza y un mejor ajuste a los parametros de la serie. Las hipótesis podemos describirlas como sigue:

H0 = ρ1 = ρ2 = …= 0 (Las autocorrelaciones son iguales a 0 en cualquier desfase).

H1 = pi ≠ 0 i=1,2,…,k (Las autocorrelaciones son distintas a 0 en cualquier desfase).

## [1] "Ethereum"

## [1] "Cardano"

## [1] "Polkadot"

Los residuos de las 3 series en estudio no parecen presentar regazos en la función de autocorrelación simple, además parecen distribuirse normal. Aunque es una afirmación un poco apresurada que los residuos se distribuyan de forma normal, lograremos afirmar de forma estadística dicha asevaración con la prueba de Ljung Box.

## [1] "Ethereum"
## # A tibble: 1 × 3
##   .model   lb_stat lb_pvalue
##   <chr>      <dbl>     <dbl>
## 1 arimafun 0.00475     0.945
## [1] "Cardano"
## # A tibble: 1 × 3
##   .model    lb_stat lb_pvalue
##   <chr>       <dbl>     <dbl>
## 1 arimaauto    1.60     0.205
## [1] "Polkadot"
## # A tibble: 1 × 3
##   .model   lb_stat lb_pvalue
##   <chr>      <dbl>     <dbl>
## 1 arima010    1.37     0.242

Podemos observar que las series en estudio (Ethereum, Cardano y Polkadot) su p valor es mayor que 0.05, por lo tanto, no tenemos información estadística suficiente para poder rechazar la hipótesis nula. Los residuos se distribuyen de forma independiente.

Finalmente, podemos realizar el modelado del ARIMA para nuestras diversas series las cuales fueron sometidas a diferenciación (para hallar el orden d) y varias pruebas para conocer los residuos como también el orden del AR(p) y MA(q).

Pronósticos