97
Universidad Central de Venezuela Facultad de Ciencias Escuela de Matemáticas Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales Trabajo Especial de Grado presentado ante la ilustre Universidad Central de Venezuela por el Br. Miguel Andrés Porro Vargas para optar al título de Licenciado en Matemática. Tutor: Dr. José Benito Hernandéz. Co-tutor: Msc. Jesús Lares Caracas, Julio del 2018

Modelos de análisis de criptomonedas basado en aprendizaje

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modelos de análisis de criptomonedas basado en aprendizaje

Universidad Central de Venezuela

Facultad de Ciencias

Escuela de Matemáticas

Modelos de análisis de criptomonedas basado en aprendizajeautomático y series temporales

Trabajo Especial de Grado presentado ante

la ilustre Universidad Central de Venezuela

por el Br. Miguel Andrés Porro Vargas para optar al

título de Licenciado en Matemática.

Tutor: Dr. José Benito Hernandéz.

Co-tutor: Msc. Jesús Lares

Caracas, Julio del 2018

Page 2: Modelos de análisis de criptomonedas basado en aprendizaje

2

Page 3: Modelos de análisis de criptomonedas basado en aprendizaje

Índice general

0.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II

0.2. Palabras Claves: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II

Introducción 1

1. Series Temporales y selección de modelos 4

1.1. Series de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2. Modelos Estadísticos para Series de Tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3. Medidas de Dependencia: Autocorrelación y Correlación Cruzada . . . . . . . . . . . . . . . . . . 6

1.4. Series de Tiempo Estacionarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.5. Estimadores de Correlación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.6. Modelos ARMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.6.1. Los Modelos Autoregresivos AR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.6.2. Los modelos de promedio móvil MA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.7. Modelos Autoregresivos de Promedio Móvil: ARMA . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.8. Modelos ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.9. Funciones de Autocorrelación y Autocorrelación Parcial . . . . . . . . . . . . . . . . . . . . . . . 17

1.9.1. Función de Autocorrelación (ACF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.9.2. Función de Autocorrelación Parcial (PACF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.10. Pronósticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.10.1. Pronósticos para Procesos ARMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3

Page 4: Modelos de análisis de criptomonedas basado en aprendizaje

Contenido I

2. Aprendizaje Automático 22

2.1. Conceptos Básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2. Tipos de Aprendizaje Automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.1. Métodos de Aprendizaje Automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3. Reglas de asociación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.4. Algoritmo Apriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3. Blockchain 29

3.1. ¿Qué es una Blockchain? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2. ¿Cómo funciona una red de Blockchain? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3. Características principales de Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.4. Beneficios y casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5. Blockchain y Banca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.6. Retos y conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4. Análisis y Resultados 35

4.1. Análisis de Series de Tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.1.1. Predicciones para el Bitcoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1.2. Predicciones para el Litecoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.1.3. Predicciones del Bitcoin Cash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.1.4. Predicciones del Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.1.5. Predicciones del Ripple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.2. Análisis de reglas de asociación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5. Conclusiones y Recomendaciones 80

A. Códigos Utilizados y Funciones 82

Apéndice A 82

Bibliografía 90

Page 5: Modelos de análisis de criptomonedas basado en aprendizaje

Resumen II

0.1. Resumen

Se desarrolló un modelo de análisis de criptomonedas basado en aprendizaje automático y series tempora-

les para realizar pronósticos de precios de las mismas.

0.2. Palabras Claves:

Criptomonedas, Blockchain, series de tiempo, aprendizaje automático.

Page 6: Modelos de análisis de criptomonedas basado en aprendizaje

Agradecimientos III

Principalmente le agradezco a Dios haberme guiado en mi vida.

A mis padres Miguel E. Porro y Mariela Vargas, por haber cuidado siempre de mi con los mejores consejos

desde el inicio de mi vida, en este caso, especialmente a mi padre por haberme guiado en cada paso de mi

carrera, cuidar de mi y ser el artífice de mi crecimiento profesional.

A mi tutor, el Dr. José Benito Hernández, por quien comencé a conocer las aplicaciones prácticas de mi

carrera a la vida, siendo él quien dictara todas mis materias del área de probabilidades y estadística, demos-

trándonos que es un profesional excelente y una gran persona.

A mi amigo personal, Alfredo Quintana, quien es el responsable de introducirme en el área del análisis de

datos.

Y a mi cotutor, el profesor Jesús Lares, cuyos consejos nos llevaron a decidir combinar la matemática y la

computación como herramienta para la vida.

Page 7: Modelos de análisis de criptomonedas basado en aprendizaje

Introducción 1

En los últimos años ha venido en crecimiento una opción que ha atraído el interés de los inversores y fon-

dos que desean apostar en ella, ésta es las criptomonedas. Una criptomoneda no es más que una unidad digital

de intercambio de valor utilizada para enviar y recibir pagos a través de ordenadores conectados entre sí, se

utiliza el prefijo ”cripto” haciendo referencia al sistema criptográfico mediante el que se crean, almacenan y

transfieren las unidades o criptomonedas. Las también conocidas como criptodivisas son, esencialmente, soft-

ware y funcionan a través de redes P2P en Internet. Podemos decir que es un nuevo concepto de dinero que

funcionaría privadamente entre usuarios que lo poseen e intercambian entre sí. Pueden comprarse y cambiarse

por dinero ”tradicional” y cotizan en mercados donde se especula con su valor, como ocurre con las divisas co-

munes. También pueden ser creadas, en su mayoría, a través de un proceso informático que se llama ”minado”

o bien son repartidas; por analogía, los ”mineros” son las personas que ceden el poder de computación de su

ordenador a la red que da soporte a cada divisa, extrayendo, (”minando”) criptomonedas como recompensa

por prestar dicho poder de computo.

Motivado al auge creciente de inversión de capitales en las criptomonedas es que surge el interés de darle

un enfoque matemático o científico a la predicción de precios de las criptomonedas, esto con el fin de optimizar

el uso de los recursos, las inversiones y la toma de decisión en cuanto a la compra y venta de las mismas.

Este estudio se basará en desarrollar técnicas de aprendizaje automático, series de tiempo y un modelo de

pronóstico para la predicción de precios de las 5 criptomonedas de mayor capitalización en el mercado, hasta

enero del 2018, de esta forma poder crear un modelo que nos ayude en la toma de decisiones, ya sea para el

trading o intercambio, el cual se basa en comprar y vender entre las distintas criptomonedas a estudiar o para

especular con el precio y generar rentabilidad, en donde determinar el momento idóneo para vender es crucial,

y así lograr optimizar la ganancia.

Las criptomonedas o criptodivisas son un medio digital de intercambio, creadas en su mayoría sobre la base

de un sistema llamado Blockchain, el cual no es más que una base de datos distribuida creada por cadenas

de bloques para impedir su modificación una vez que algún dato esté y haya sido publicado, usando un

sellado de tiempo confiable por el bloque anterior. Los primeros intentos de integración entre el dinero y la

criptografía fueron hechos por David Chaum, con ECASH y DIGICASH, hoy día la más conocida es el Bitcoin,

creado en 2009 por un empresario y científico autraliano llamado Craig Wright, alias Satoshi Nakamoto, el

cual con su invención, ha llamado la atención de un gran número de inversionistas en los últimos años. El

atractivo fundamental de las criptomonedas está basado en múltiples factores, como la confianza, la rapidez y

la seguridad, éstas les permiten a sus usuarios realizar una transacción comercial desde diferentes latitudes del

mundo, países regidos por leyes diferentes, con monedas diversas y distintos bancos, en tan sólo minutos, a

diferencia con los medios tradicionales de pago, donde dichas transacciones tardarían días, semanas o incluso

Page 8: Modelos de análisis de criptomonedas basado en aprendizaje

Introducción 2

meses, dependiendo de las legislaciones de cada país y/o bancos. Otra de las muy importantes ventajas es la

eliminación de intermediarios en las transacciones, de esta manera se reducen sustancialmente las comisiones

por transferencia que cobran las entidades bancarias, en general, todo lo que se traduzca en ahorro genera

atractivo para los usuarios. El factor más importante de todos es la seguridad, en los primeros años de vida de

las criptomonedas fueron tiempos de prueba, tiempos en que el mundo va conociendo el nuevo lanzamiento,

pero tratándose de dinero, el crecimiento inicial no fue tan rápido, ahora dado que en los últimos dos años

el mundo está viendo que más personas e incluso empresas importantes se han sumado a invertir y aceptar

pagos de este tipo, es allí donde viene el auge tan importante en la demanda de las criptomonedas, lo que se

traduce en que la confianza en ellas ha venido en aumento. Para que tengamos idea de cuan segura es una

criptomoneda, irrumpir la seguridad existente en una de ellas es matemáticamente posible, pero el costo para

lograrlo sería inasumiblemente alto. Por ejemplo, un atacante que intentase quebrar el sistema de prueba de

trabajo de Bitcoin necesitaría una potencia computacional mayor que el de todo el entramado de todos los

mineros del sistema, y aún así, sólo tendría una probabilidad de éxito del 50 %, es decir, romper la seguridad

de Bitcoin exigiría una capacidad superior a la de empresas tecnológicas del tamaño de Google, esto dicho por

el mismo Google.

Hoy en día existen plataformas que facilitan la compra y venta de criptomonedas, tales como Coinbase,

Uphold, bitstamp entre otras. En el caso particular de Uphold, llamó nuestra atención una aplicación llamada

Heleum, la cual, se encarga de comprar y vender entre las diferentes criptomonedas para generarle al usuario

un determinado porcentaje de ganancia, que en algunos casos oscila entre un 6 % y 8 % mensual.

Éste trabajo busca desarrollar un modelo de análisis de criptomonedas basado en aprendizaje automático

y series temporales.

Para hacer posible el modelo de análisis, es importante identificar las fuentes de datos para proceder a

la extracción de los mismos, datos históricos necesarios de las criptomonedas a estudiar. Explorar y limpiar

los datos obtenidos para poder aplicar los algoritmos necesarios para la realización de este proyecto. Realizar

un estudio y mostrar los algoritmos de series temporales y aprendizaje automático que mejor se adapten a

nuestros requerimientos, para luego mostrar los resultados de los análisis realizados en el software estadístico

R, tanto en aprendizaje automático como en series temporales.

Page 9: Modelos de análisis de criptomonedas basado en aprendizaje

Introducción 3

Los capítulos a continuación, estarán compuestos de la siguiente manera:

1. Series temporales y selección de modelos: definición de serie de tiempo y sus componentes, medidas

de dependencia, estimadores de correlación, modelos ARMA, ARIMA y sus pronosticos.

2. Aprendizaje Automático: definiciones básicas, tipos de aprendizaje automático y sus métodos, reglas de

asociación y el algoritmo Apriori.

3. Blockchain: definición, funcionamiento, características, beneficios, casos de uso, retos y conclusiones

4. Análisis y resultados: descripción detallada de los análisis realizados a las diferentes criptomonedas.

5. Conclusiones y recomendaciones: conclusiónes de los análisis realizados con las recomendaciones para

trabajos futuros y aplicaciones.

6. Apéndice: en ésta sección se mostraran las funciones y los códigos utilizados para los respectivos análisis.

Page 10: Modelos de análisis de criptomonedas basado en aprendizaje

Capıtulo 1Series Temporales y selección de modelos

En este capítulo, vamos a definir conceptos fundamentales con los que vamos a trabajar, como lo son las

series de tiempo, las componentes de una serie de tiempo y qué es un modelo de serie de tiempo.

El análisis de series temporales, es motivado a que ellas desempeñan un papel fundamental en el análisis

requerido para el pronóstico de eventos futuros.

1.1. Series de tiempo

Definición 1.1.1 Una serie de tiempo es un conjunto de observaciones Xt, cada una registrada a un tiempo específico t.

En otras palabras, una serie de tiempo es una secuencia de observaciones, medidos en determinados mo-

mentos del tiempo, ordenados cronológicamente y espaciados entre sí de manera uniforme, por lo cual los

datos usualmente son dependientes entre sí. El principal objetivo de una serie de tiempo, es su análisis para

hacer pronósticos.

El análisis clásico de las series de tiempo, se basa en la suposición de que los valores que toma la variable

de observación es la consecuencia de tres componentes, cuya actuación conjunta da como resultado los valores

medidos, estas componentes son:

1. Componente tendencia: Se puede definir como un cambio a largo plazo que se produce en la relación al

nivel medio, o el cambio a largo plazo de la media. La tendencia se identifica con un movimiento suave

de la serie a largo plazo.

4

Page 11: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 5

2. Componente estacional: Muchas series de tiempo presentan cierta periodicidad o dicho de otro modo,

variación de cierto período (semestral, mensual, etc.). Por ejemplo las ventas al detalle en Puerto Rico

aumentan por los meses de noviembre y diciembre por las festividades navideñas. Estos efectos son

fáciles de entender y se pueden medir explícitamente o incluso se pueden eliminar de la serie de datos, a

este proceso se le llama desestacionalización de la serie.

3. Componente aleatoria: Esta componente no responde a ningún patrón de comportamiento, sino que es

el resultado de factores fortuitos o aleatorios que inciden de forma aislada en una serie de tiempo.

De las tres componentes anteriores las dos primeras son componentes determinísticos, mientras que la

última es aleatoria. Así, se puede denotar la serie de tiempo como

Xt = Tt + Et + εt

donde Tt es la tendencia, Et es la componente estacional y εt es la componente aleatoria.

1.2. Modelos Estadísticos para Series de Tiempo

Como principal objetivo en el análisis de series de tiempo, se tiene el desarrollo de modelos matemáticos

que arrojen una descripción apropiada de los datos muestrales. Utilizaremos primeramente la definición de

serie de tiempo.

Definición 1.2.1 Un proceso estocástico es una familia de variables aleatorias indexadas x(ω, t) ó xt(ω) donde t

pertenece a un conjunto de índices T y ω pertenece a un espacio muestral Ω. Si t = t∗ fijo, x(ω, t∗) es una variable

aleatoria. Si ω = ω∗ fijo, x(ω∗, t) es una función de t, y se llama una realización del proceso.

NOTA: Una serie de tiempo es la realización de un proceso estocástico.

Ejemplo 1.2.1 Ruido Blanco.

Una manera sencilla de generar series de tiempo, puede ser considerando una sucesión de variables aleatorias no-

correlacionadas, wt con media 0 y varianza σ2w. Las series de tiempo generadas de esta manera son usadas como modelos

para ruido en aplicaciones de ingeniería, donde ellas son llamadas ruido blanco, denotaremos este proceso como wt ∼

wn(0, σ2w). La designación blanco se origina de la analogía con luz blanca e indica que todos los posibles períodos de

oscilación están presente con igual intensidad.

Page 12: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 6

Ejemplo 1.2.2 Promedio móvil.

Un promedio móvil se construye sustituyendo cada valor de una serie por la media obtenida con esa observación y

algunos de los valores inmediatamente anteriores y posteriores.

vt =13(wt−1 + wt + wt+1), (1.1)

Ejemplo 1.2.3 Autoregresión.

La ecuación siguiente representa una regresión o predicción del valor actual de Xt de una serie de tiempo como una

función de los dos valores anteriores de la serie, y por consiguiente se sugiere el término Autoregresión.

Xt = Xt−1 + kXt−2 + wt. (1.2)

1.3. Medidas de Dependencia: Autocorrelación y Correlación Cruzada

Definición 1.3.1 La función de media está definida como

µxt = E(xt) =∫ ∞

−∞x ft(x)dx, (1.3)

en caso de que exista, E denota el operador usual de esperanza.

En lo que sigue escribiremos µxt como µt.

Es importante comprender que µt consiste en que es una media teórica para la serie de tiempo en un punto

particular, en donde la media se calcula sobre todos los posibles eventos que podrían haber producido Xt.

Definición 1.3.2 La función de autocovarianza es definida como producto del segundo momento

γx(s, t) = E[(xs − µs)(xt − µt)], (1.4)

para todo t y s. cuando no haya confusión en la existencia sobre a que serie nos referimos, escribiremos γx(s, t) = γ(s, t).

Page 13: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 7

Definición 1.3.3 La función de autocorrelación (ACF) se define como

ρ(s, t) =γ(s, t)√

γ(s, s)γ(t, t). (1.5)

La ACF mide la predictibilidad lineal de una serie de tiempo en tiempo t, digamos xt usando solo el valor xs.

Si podemos predecir xt exactamente de xs a través de la relación lineal xt = β0 + β1xs entonces la correla-

ción será 1 cuando β1 > 0 y −1 cuando β1 < 0.

Definición 1.3.4 La función de covarianza cruzada entre dos series xt y yt se define como

γxy(s, t) = E[(xs − µxs)(yt − µyt)]. (1.6)

Definición 1.3.5 La función de correlación cruzada (CCF) es definida como

ρxy(s, t) =γxy(s, t)√

γx(s, s)γy(t, t). (1.7)

1.4. Series de Tiempo Estacionarias

Se dice que una serie de tiempo es estacionaria cuando su distribución y sus parámetros no varían con el

tiempo. Así que las series temporales se pueden clasificar en:

1. Estacionarias. Una serie es estacionaria cuando es estable a lo largo del tiempo, es decir, cuando la media

y la varianza son constantes en el tiempo. Esto se refleja gráficamente en que los valores de la serie

tienden a oscilar alrededor de una media constante y la variabilidad con respecto a esa media también

permanece constante en el tiempo.

a) Una serie de tiempo estrictamente estacionaria es una serie para la cual el comportamiento proba-

bilístico de cada sucesión de valores

xt1 , xt2 , . . . , xtk

Page 14: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 8

es idéntico a la serie trasladada en el tiempo

xt1+h, xt2+h, . . . , xtk+h.

Esto es,

Pxt1 ≤ c1, . . . , xtk ≤ ck = Pxt1+h ≤ c1, . . . , xtk+h ≤ ck (1.8)

para todo k = 1, 2, . . ., todo puntos de tiempos t1, t2, . . . , tk y números reales c1, c2, . . . , ck y todo salto

h = 0,±1,±2, . . ..

Esta versión de estacionaridad es muy fuerte para la mayoría de aplicaciones. Más aún, es difícil

conseguir estricta estacionaridad en un conjunto sencillo de datos.

b) Una serie de tiempo débilmente estacionaria Xt, es un proceso de varianza finita tal que

1) la función de media µt, definida en (1.3) es constante y no depende del tiempo t, y

2) la función de covarianza, γ(s, t), definida en (1.4) depende solo de las diferencias de s y t, |s− t|.

Por consiguiente, usaremos el término estacionaridad para referirnos a estacionaridad débil; si un

proceso es estacionario en el sentido estricto usaremos el término estrictamente estacionario.

2. No estacionarias. Son series en las cuales la tendencia y/o variabilidad cambian en el tiempo. Los cam-

bios en la media determinan una tendencia a crecer o decrecer a largo plazo, por lo que la serie no oscila

alrededor de un valor constante.

Definición 1.4.1 La función de autocovarianza de una serie de tiempo estacionaria se escribirá como

γ(h) = E[(xt+h − µ)(xt − µ)]. (1.9)

Definición 1.4.2 La función de autocorrelación (ACF) de una serie de tiempo estacionaria será escrita, usando

(1.5) como

ρ(h) =γ(t + h, t)√

γ(t + h, t + h)γ(t, t)=

γ(h)γ(0)

. (1.10)

Por la desigualdad de Cauchy-Schwartz tenemos que −1 ≤ ρ(h) ≤ 1 para todo h.

Page 15: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 9

1.5. Estimadores de Correlación

Definición 1.5.1 Sea x1, x2, . . . , xn una muestra de una serie de tiempo. La media muestral de x1, x2, . . . , xn es

x =1n

n

∑t=1

xt. (1.11)

Definición 1.5.2 La función de autocovarianza muestral se define como

γ(h) = n−1n−h

∑t=1

(xt+h − x)(xt − x) (1.12)

con γ(−h) = γ(h) para h = 0, 1, . . . , n− 1.

Definición 1.5.3 La función de autocorrelación muestral se define como

ρ(h) =γ(h)γ(0)

. (1.13)

Definición 1.5.4 El estimador para la función de covarianza cruzada γxy(h) es la función de covarianza cruzada

muestral definida como

γxy(h) = n−1n−h

∑t=1

(xt+h − x)(yt − y) (1.14)

donde γxy(−h) = γyx(h) determina la función para saltos negativos, y la función de correlación cruzada muestral

está dada por

ρxy(h) =γxy(h)√

γx(0)γy(0). (1.15)

Page 16: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 10

1.6. Modelos ARMA

Los modelos ARMA deben su nombre a sus siglas en inglés, Auto Regressive Moving Average, ó Modelos

Autoregresivos de Promedio Móvil.

En el caso de series de tiempo, es deseable permitir que la variable dependiente sea influenciada por los

valores pasados de las variables independientes y posiblemente por sus propios valores pasados. Si el presente

puede ser modelado plausiblemente en términos de sólo los valores pasados de las entradas independientes,

tenemos la atractiva posibilidad de que la predicción será posible.

1.6.1. Los Modelos Autoregresivos AR

Una parte de las series de tiempo económicas y financieras suelen ser caracterizadas por los modelos auto-

rregresivos (AR). Entre los principales ejemplos en las finanzas tenemos la valoración de precios y de dividen-

dos, las tasas reales de cambio, tasas de interés y los diferenciales de tipos de interés.

Los modelos autoregresivos están basados en la idea de que el valor actual de la serie xt se puede explicar

como una función de p valores pasados xt−1, xt−2, . . . , xt−p donde p determina el número de pasos necesarios

para predecir el valor actual.

Definición 1.6.1 Un modelo autoregresivo de orden p, abreviado AR(p), es de la forma

xt = φ1xt−1 + φ2xt−2 + · · ·+ φpxt−p + wt (1.16)

donde xt es estacionario, φ1, φ2, . . . , φp son constantes (φp 6= 0). A menos que se declare lo contrario, se asume que wt es

un ruido blanco gaussiano de media cero y varianza σ2w. La media de xt en (1.16) es cero. Si la media µ de xt no es cero,

reemplazamos xt por xt − µ en (1.16), es decir

xt − µ = φ1(xt−1 − µ) + φ2(xt−2 − µ) + · · ·+ φp(xt−p − µ) + wt,

o escribimos

xt = α + φ1xt−1 + φ2xt−2 + · · ·+ φpxt−p + wt (1.17)

donde α = µ(1− φ1 + · · ·+ φp).

Definición 1.6.2 El operador autoregresivo se define como

φ(B) = 1− φ1B− φ2B2 − · · · − φpBp. (1.18)

Page 17: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 11

Iniciaremos el estudio de los modelos AR considerando el modelo de primer orden AR(1), el cual es dado

por xt = φxt−1 + wt. Iterando el operador de cambio k veces, obtenemos

xt = φxt−1 + wt = φ(φxt−2 + wt−1) + wt

= φ2xt−2 + φwt−1 + wt...

= φkxt−k +∞

∑j=0

φjwt−j.

Este método sugiere que por iteración continua del operador de cambio, siempre que |φ| < 1 y xt sea estacio-

nario, podemos representar un modelo AR(1) como un proceso lineal dado por 1

xt =∞

∑j=0

φjwt−j. (1.19)

El proceso AR(1) definido en (1.19) es estacionario con media

E(xt) =∞

∑j=0

φjE(wt−j) = 0,

y función de autocovarianza

γ(h) = cov(xt+h, xt) = E

[(∞

∑j=0

φjwt+h−j

)(∞

∑k=0

φkwt−k

)]

= σ2w

∑j=0

φjφj+h = σ2wφh

∑j=0

φ2j =σ2

wφh

1− φ2 , h ≥ 0. (1.20)

Recuerde que γ(h) = γ(−h) de modo que sólo presentamos la función de autocovarianza para h ≥ 0.

De (1.20) la ACF de un modelo AR(1) es

ρ(h) =γ(h)γ(0)

= φh, h ≥ 0, (1.21)

y ρ(h) satisface la recursión

ρ(h) = φρ(h− 1), con h = 1, 2, . . . (1.22)

1Note que lımk→∞ E(

xt −∑∞j=0 φjwt−j

)2= lımk→∞ φ2kE(x2

t−k) = 0, de modo que (1.19) existe en el sentido de media cuadrado.

Page 18: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 12

1.6.2. Los modelos de promedio móvil MA

Es un modelo alternativo y de gran utilidad en la modelación de series en finanzas, el cual denotaremos

por MA por sus siglas en inglés (moving-average).

Contrastando con la representación autoregresiva en la cual xt del lado izquierdo de la ecuación se asume

como una combinación lineal, en los modelos de promedio móvil de orden q, MA(q), asumimos el ruido blanco

wt del lado derecho de la ecuación, que los define como una combinación lineal de los datos observados.

Definición 1.6.3 El modelo de promedio móvil de orden q o modelo MA(q), se define como

xt = wt + θ1wt−1 + θ2wt−2 + · · ·+ θqwt−q, (1.23)

donde hay q pasos en el promedio móvil y θ1, θ2, . . . , θq(θq 6= 0) son parámetros.

El ruido wt se asume como un ruido blanco gaussiano.

Podemos también escribir el proceso MA(q) en la forma equivalente

xt = θ(B)wt, (1.24)

usando la siguiente definición.

Definición 1.6.4 El operador de promedio móvil es

θ(B) = 1 + θ1B + θ2B2 + · · ·+ θqBq. (1.25)

En contraste con el proceso autoregresivo, el proceso de promedio móvil es estacionario para cada valor de los

parámetros θ1, θ2, . . . , θq.

Ejemplo 1.6.1 Autocorrelación y camino muestral de un proceso MA(1)

Considere el modelo MA(1) xt = wt + θwt−1. Entonces

γ(h) =

(1 + θ2)σ2

w, h = 0

θσ2w, h = 1

0, h > 1

Page 19: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 13

y la función de autocorrelación ACF viene dada por

ρ(h) =

θ

(1+θ2), h = 1

0, h > 1.

Note que |ρ(1)| ≤ 1/2 para todo valor de θ. También, xt está correlacionado con xt−1 pero no con xt−2, xt−3, . . ..

Contraste esto con el caso del modelo AR(1) en el cual la correlación entre xt y xt−k nunca es cero.

1.7. Modelos Autoregresivos de Promedio Móvil: ARMA

Es claro que los modelos considerados en las secciones anteriores, AR y MA, pueden ser de gran utilidad

en la modelización de determinadas series de datos en diversos campos de conocimientos. Sin embargo, en

la práctica, concretamente en finanzas, puede ser necesario considerar modelos cuyos ordenes pueden arro-

jar complicaciones, motivado por el gran número de parámetros que se requieren para describir de manera

adecuada la estructura dinámica de los datos. Una manera de solventar este inconveniente es considerar un

tipo de proceso que conjugue las propiedades de los modelos AR y MA en una expresión más compacta, que

permita la reducción de parámetros a ser considerados.

Dicho proceso es conocido con el nombre de proceso autorregresivo de medias móviles y denotado por

ARMA. Los modelos ARMA se obtienen como combinación de modelos autorregresivos y de medias móviles.

Definición 1.7.1 Una serie de tiempo xt; t = 0,±1,±2, . . . es un proceso autoregresivo de promedio móvil,

denotado ARMA(p,q), si es estacionario y

xt = φ1xt−1 + · · ·+ φpxt−p + wt + θ1wt−1 + · · ·+ θqwt−q (1.26)

con φp 6= 0, θq 6= 0 y σ2w > 0. Los parámetros p y q son llamados ordenes autoregresivos y de promedio móvil respectiva-

mente. Si xt tiene media µ distinta de cero, hacemos α = µ(1− φ1 − · · · − φp) y escribimos el modelo como

xt = α + φ1xt−1 + · · ·+ φpxt−p + wt + θ1wt−1 + · · ·+ θqwt−q. (1.27)

A menos que se declare lo contrario, wt; t = 0,±1,±2, . . . es una sucesión de ruido blanco gaussiano.

Page 20: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 14

Como se mostró anteriormente, cuando q = 0, el modelo es llamado modelo autoregresivo de orden p,

AR(p), y cuando p = 0 el modelo es llamado modelo de promedio móvil de orden q, MA(q). Como ayuda en

la investigación de los modelos ARMA, será útil escribir estos usando el operador AR (1.18) y el operador MA

(1.25). En particular el modelo ARMA(p,q) en (1.26) se puede escribir en forma concisa como

φ(B)xt = θ(B)wt. (1.28)

Definición 1.7.2 Un modelo ARMA(p,q), φ(B)xt = θ(B)wt, se dice que es causal si la serie de tiempo xt : t =

0,±1,±2, . . . se puede escribir como un proceso lineal de un lado

xt =∞

∑j=0

ψjwt−j = ψ(B)wt (1.29)

donde ψ(B) = ∑∞j=0 ψjBj y ∑∞

j=0 |ψj| < ∞; haciendo ψ0 = 1.

Definición 1.7.3 Un modelo ARMA(p,q), φ(B)xt = θ(B)wt se dice invertible si la serie de tiempo xt : t =

0,±1,±2, . . . se puede escribir como

π(B)xt =∞

∑j=0

πjxt−j = wt (1.30)

donde π(B) = ∑∞j=0 πjBj y ∑∞

j=0 |πj| < ∞; hacemos π0 = 1.

1.8. Modelos ARIMA

Los modelos econométricos contemplan de forma explícita la información que aportan las variables causa-

les del fenómeno de interés, de acuerdo con una determinada teoría económica. Una ventaja de este modelo

consiste en que los resultados que se generan son más eficientes y poseen mayor poder explicativo que los mo-

delos univariados. Sin embargo, en estos modelos, cuando se desea realizar predicciones, el desconocimiento

de los valores de las variables explicativas en el futuro, determina la necesidad de utilizar predicciones para és-

tas, lo cual incrementa el nivel de incertidumbre con que se realiza la predicción econométrica. Por otra parte,

Page 21: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 15

cuando el futuro puede suponer una alteración de tendencias de comportamiento respecto al pasado reciente,

es recomendable utilizar estos modelos para predecir a mediano plazo (1 a 5 años), por lo cual nos resultarán

de gran ayuda.

Ya hemos discutido la importancia de los modelos ARMA para representar series estacionarias. Una ge-

neralización de estos modelos, que incorporan un amplio rango de series no estacionarias, es proporcionado

por los procesos ARIMA, es decir, procesos que se reducen a procesos ARMA cuando se los diferencia infini-

tamente muchas veces. terminológicamente hablando: decimos que Yt está integrado de orden 1, I (1), porque

tiene que ser diferenciado una vez para obtener una serie temporal estacionaria. En general, una serie puede

ser I (d), si debe ser diferenciada "d"veces para obtener una serie estacionaria.

Definición 1.8.1 Si d es un entero no negativo, entonces Xt es un proceso ARIMA (p, d, q) si

Yt := (1− B)dXt, (1.31)

es un proceso ARMA causal (p, q).

Esta definición significa que Xt satisface una ecuación en diferencia de la forma

φ∗(B)Xt ≡ φ(B)(1− B)dXt = θ(B)Zt, (1.32)

donde Zt ∼ WN(0, σ2), φ(z) y θ(z) son polinomios de grados p y q, respectivamente, y φ(z) 6= 0 para

|z| ≤ 1. El polinomio φ∗(z) tiene un cero de orden d en z = 1. El proceso Xt es estacionario si y solo si d = 0, en

cuyo caso se reduce a un proceso ARMA (p, q). Tenga en cuenta que si d ≥ 1, podemos agregar una tendencia

polinómica arbitraria de grado (d-1) a Xt sin violar la ecuación de diferencia (1.31). Los modelos ARIMA son,

por lo tanto, útiles para representar datos con tendencia.

Sin embargo, los procesos ARIMA también pueden ser apropiados para modelar series sin tendencia.

NOTA: Para trabajar con los modelos ARMA y ARIMA nuestra serie de tiempo necesariamente debe ser

estacionaria.

Definición 1.8.2 Suavizado Logarítmico: Consta de tomarle el Logarítmo en base 10 o logarítmo neperiano a los datos

para alisar o suavizar la serie de tiempo.

Las desviaciones de la estacionariedad pueden ser sugeridas por el gráfico de la serie misma o por la

función de autocorrelación de muestra o ambos.

Page 22: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 16

Prueba de Dickey-Fuller:

La Prueba de Dickey-Fuller busca determinar la existencia o no de raíces unitarias en una serie de tiempo.

La hipótesis nula de esta prueba es que existe una raíz unitaria en la serie.

Esta prueba contrasta la hipótesis nula de existencia de una raíz unitaria contra la alternativa de que no

existen raíces unitarias. Para verificar la existencia de una raíz unitaria en un proceso AR(p), se lleva a cabo la

siguiente prueba:

H0 : ρ = 1 versus Ha : ρ < 1 (1.33)

aplicando la regresión

Xt = ct + ρXt−1 +p−1

∑i=1

φi∆Xt−i + εt, (1.34)

donde ct es una función determinista del tiempo t y ∆Xj = Xj − Xj−1 1 es la serie de diferencias de Xt

usada para aproximar la estructura ARMA de los errores, y el valor de ρ se fija de modo que el error εt sea

correlacionado serialmente. En la práctica, ct puede ser cero o una constante o bien ct = w0 + w1t. El ADF se

basa en las estimaciones de mínimos cuadrados de (1.34) y está dado por

ADF− Test =ρ− 1

std(ρ), (1.35)

donde ρ denota el valor estimado por mínimos cuadrados de ρ y std(ρ) su desviación estandar.

Fundamento econométrico de la prueba: En un simple modelo autorregresivo de orden (1):

Xt = ρXt−1 + εt. (1.36)

Donde Xt es la variable de interés, t es el índice de tiempo, ρ es un coeficiente, y εt es el término de error. La

raíz unitaria está presente si ρ = 1. En este caso, el modelo no sería estacionario.

Mientras el valor de ρ sea más cercano a cero se considerará más estacionaria la serie.

Page 23: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 17

1.9. Funciones de Autocorrelación y Autocorrelación Parcial

1.9.1. Función de Autocorrelación (ACF)

Iniciemos mostrando la ACF de un proceso MA(q) xt = θ(B)wt, donde θ(B) = 1 + θ1B + · · ·+ θqBq. Dado

que xt es una combinación lineal de términos de ruido blanco, el proceso es estacionario con media

E(xt) =q

∑j=0

θjE(wt−j) = 0,

donde podemos escribir θ0 = 1, y la función de autocovarianza es

γ(h) = cov(xt+h, xt) = E

[(q

∑j=0

θjwt+h−j

)(q

∑k=0

θkwt−k

)]

=

σ2w ∑

q−hj=0 θjθj+h, si 0 ≤ h ≤ q

0, si h > q.(1.37)

La ACF de un MA(q):

ρ(h) =

q−hj=0 θjθj+h

1+θ21+···+θ2

q, si 1 ≤ h ≤ q

0, si h > q.(1.38)

Para un modelo ARMA(p,q) causal φ(B)xt = θ(B)wt, donde los ceros de φ(z) están fuera del círculo unita-

rio, podemos escribir

xt =∞

∑j=0

ψjwt−j.

Se sigue inmediatamente que E(xt) = 0. También, la función de autocovarianza de xt se puede escribir como

γ(h) = cov(xt−h, xt) = σ2w

∑j=0

ψjψj+h, h ≥ 0. (1.39)

Una ecuación general homogénea para la ACF de un proceso ARMA causal:

γ(h)− φ1γ(h− 1)− · · · − φpγ(h− p) = 0, h ≥ max(p, q + 1) (1.40)

con condiciones iniciales

γ(h)−p

∑j=1

φjγ(h− j) = σ2w

q

∑j=h

θjψj−h, 0 ≤ h < max(p, q + 1). (1.41)

Dividiendo (1.40) y (1.41) por γ(0) nos permite resolver la ACF ρ(h) = γ(h)/γ(0).

Page 24: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 18

1.9.2. Función de Autocorrelación Parcial (PACF)

Vimos en (1.38) que para un modelo MA(q) La ACF será cero para pasos mayores que q. Más aún, dado que

θq 6= 0, la ACF no es cero en paso q. Por lo tanto, la ACF proporciona una cantidad considerable de información

sobre el orden de dependencia, cuando el proceso es un proceso de promedio móvil. Si el proceso, sin embargo,

es ARMA o AR, la ACF solo nos dice un poco sobre el orden de dependencia. Por lo tanto, vale la pena buscar

una función que se comporte como la ACF de los modelos MA, pero para los modelos AR, esta será la función

de autocorrelación parcial.

Definición 1.9.1 La función de autocorrelación parcial (PACF) de un proceso estacionario xt denotada φhh, para

h = 1, 2, . . ., es

φ11 = corr(x1, x0) = ρ(1) (1.42)

y

φhh = corr(xh − xh−1h , x0 − xh−1

0 ) para h ≥ 2. (1.43)

Tanto (xh − xh−1h ) como (x0 − xh−1

0 ) son no-correlacionados con x1, x2, . . . , xh−1.

Por estacionaridad, la PACF φhh es la correlación entre xt y xt−h con la dependencia lineal xt−1, . . . , xt−(h−1)

removida en cada uno.

Si el proceso xt es gaussiano, entonces φhh = corr(xt, xt−h|xt−1, . . . , xt−(h−1)). Esto es, φhh es el coeficiente

de correlación entre xt y xt−h en la distribución bivariada de (xt, xt−h) condicionada por xt−1, . . . , xt−(h−1).

En la siguiente sección discutiremos los métodos para calcular la PACF. La PACF para los modelos MA se

comporta como el ACF para los modelos AR. También, la PACF para modelos AR se comporta como la ACF

para modelos MA. Debido a que un modelo ARMA invertible tiene una representación AR infinita, la PACF

no tendrá corte. Resumimos estos resultados en el Cuadro 1.1

AR(p) MA(q) ARMA(p,q)

ACF Disminución Corte después Disminución

gradual de paso q gradual

PACF Corte después Disminución Disminución

de paso q gradual gradual

Cuadro 1.1: Comportamiento de la ACF y la PACF para modelos ARMA causal e invertible

Page 25: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 19

1.10. Pronósticos

El objetivo principal de un pronóstico, es predecir los valores futuros de una serie de tiempo xn+m, m =

1, 2, . . . basado en los valores de la serie observados hasta el tiempo actual x = xn, xn−1, . . . , x1. En esta

sección asumiremos que xt es estacionario y que los parámetros del modelo son conocidos.

El mínimo del error cuadrático medio del predictor xn+m es

xnn+m = E(xn+m|xn, xn−1, . . . , x1)

porque la esperanza condicional minimiza el error cuadrático medio

E[xn+m − g(x)]2 (1.44)

donde g(x) es una función de las observaciones x.

Primero, nos restringiremos a los predictores que son función lineal de los datos, esto es, predictores de la

forma

xnn+m = α0 +

n

∑k=1

αkxk (1.45)

donde α0, α1, . . . , αn son números reales. Los predictores lineales de la forma (1.45) que minimizan el error

cuadrático medio del predictor (1.44) son llamados el mejor predictor lineal (BLP’s).

Propiedad del Mejor Predictor Lineal para Procesos Estacionarios

Dada las observaciones x1, x2, . . . , xn, el mejor predictor lineal xnn+m = α0 + ∑n

k=1 αkxk, de xn+m para m ≥ 1,

se halla resolviendo

E [(xn+m − xnn+m)xk] = 0, para k = 0, 1, 2, . . . (1.46)

donde x0 = 1.

Las ecuaciones especificadas en (1.46) son llamadas ecuaciones de predicción, y son usadas para resolver

los coeficientes α0, α1, . . . , αn. Si E(xt) = µ, la primera ecuación (k = 0) de (1.46) implica

E(xnn+m) = E(xm+n) = µ.

Entonces, tomando esperanza en (1.45), tenemos

µ = α0 +n

∑k=1

αkµ ó α0 = µ

(1−

n

∑k=1

αk

).

Por lo tanto, la forma del BLP es

xnn+m = µ +

n

∑k=1

αk(xk − µ).

Page 26: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 20

1.10.1. Pronósticos para Procesos ARMA

Las ecuaciones de predicción general (1.46) nos dan una pequeña intuición en el pronóstico de los modelos

ARMA en general. Hay diferentes maneras de expresar estos pronósticos, y cada uno ayuda a entender la

estructura especial de la predicción ARMA. A partir de ahora asumiremos que xt es un proceso ARMA(p,q)

causal e invertible φ(B)xt = θ(B)wt donde wt ∼ iidN(0, σ2w). En el caso de media distinto de cero, E(xt) = µ,

reemplazamos xt por xt − µ en el modelo.

Denotaremos el predictor de xn+m basado en infinitos valores pasados como

xn+m = E(xn+m|xn, xn−1, . . .).

La idea aquí, es que para muestras grandes xn+m proveerá una buena aproximación de xnn+m.

Ahora, escribamos xn+m en sus formas causal e invertible

xn+m =∞

∑j=0

ψjwn+m−j, ψ0 = 1, (1.47)

wn+m =∞

∑j=0

πjxn+m−j, π0 = 1. (1.48)

Entonces, tomando esperanza condicional en (1.47), tenemos

xn+m =∞

∑j=0

ψjwn+m−j =∞

∑j=m

ψjwn+m−j (1.49)

ya que por (1.48)

wt ≡ E(wt|xn, xn−1, . . .) =

0, t > n

wt, t ≤ n.

Similarmente, tomando esperanza condicional en (1.48), se tiene

0 = xn+m +∞

∑j=1

πj xn+m−j

o

xn+m = −m−1

∑j=1

πj xn+m−j −∞

∑j=m

πjxn+m−j (1.50)

usando el hecho de que E(xt|xn, xn−1, . . .) = xt para t ≤ n.

La predicción se consigue recursivamente usando (1.50) iniciando con un predictor de un paso m = 1 y

continuando para m = 2, 3, . . .. Usando (1.50) podemos escribir

xn+m − xn+m =m−1

∑j=0

ψjwn+m−j

Page 27: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 1. Series de tiempo 21

de modo que el error cuadrático medio de predicción se puede escribir como

Pnn+m = E(xn+m − xn+m)

2 = σ2w

m−1

∑j=0

ψ2j . (1.51)

Page 28: Modelos de análisis de criptomonedas basado en aprendizaje

Capıtulo 2Aprendizaje Automático

En la actualidad desarrollar o adquirir sistemas de información transaccionales no debe ser el único fin de

los departamentos de tecnología. Por el contrario, uno de los fines principales debe ser aprovechar todos los

datos que se han acumulado durante años y utilizarlos para aportar valor real al negocio y generar una ventaja

competitiva en el mercado.

El Aprendizaje Automático o mejor conocido como Machine Learning es un término que se escucha cada

vez más con mayor frecuencia, dado que proporciona valor al negocio y arroja un nuevo uso y sentido a los

datos con que cuentan las organizaciones.

A pesar de ser un término recientemente muy sonado y en ocasiones relacionado con el concepto de inteli-

gencia artificial, lo cual de hecho, es bastante cierto, pues está catalogado como un subconjunto del mismo, sus

inicios tienen raices en los años 50 en el MIT. Hoy en dia el aprendizaje automático está presente en muchas

de las actividades que nos rodean, los asistentes de voz de Siri y Alexa, el reconocimiento facial de Facebook

y Microsoft, las recomendaciones de Amazon y Netflix y la tecnología que evita que los vehículos autónomos

se estrellen, son el resultado de los avances en el aprendizaje automático.

El término Machine Learning (Aprendizaje Automático) fué acuñado por Arthur Samuel en 1959, un pio-

nero estadounidense en el campo de los juegos informáticos y la inteligencia artificial, afirmó que dá a las

computadoras la capacidad de aprender sin ser programadas explícitamente.

En 1997, Tom Mitchell dio una definición matemática y relacional a la que consideró como bien planteada,

”se dice que un programa de computadora aprende de la experiencia E con respecto a alguna tarea T y alguna

medida de rendimiento P, si su rendimiento en T, medido por P, mejora con la experiencia E”.

22

Page 29: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 2. Aprendizaje Automático 23

2.1. Conceptos Básicos

La Minería de Datos (Data Mining) es el estudio de la recolección, limpieza, procesamiento, análisis y

obtención de información útil. Existe una amplia variación en términos de los dominios problemáticos, apli-

caciones, formulaciones y representaciones de datos que se encuentran en aplicaciones reales. Por lo tanto,

Minería de datos es un término general muy amplio que se utiliza para describir estos diferentes aspectos de

procesamiento de datos.

Aprendizaje Automático es como ya hablamos, una rama de la Inteligencia Artificial cuyo objetivo prin-

cipal es desarrollar técnicas que permitan a las computadoras aprender. Más concretamente, se trata de crear

algoritmos capaces de generalizar comportamientos y reconocer patrones a partir de una información sumi-

nistrada. Entonces podemos decir que es un proceso de inducción del conocimiento, en otras palabras, un

método que permite obtener por generalización un enunciado general, a partir de enunciados que describen

casos particulares.

Una vez observados todos los casos particulares, la inducción se considera completa, por lo que la generali-

zación a la que da lugar se considera válida. Sin embargo, en la mayoría de los casos es imposible obtener una

inducción completa, por cual, el enunciado a que da lugar queda sometido a cierto grado de incertidumbre y

por lo tanto, no se puede considerar como un esquema de inferencia totalmente válido ni se puede justificar

empíricamente. En muchas ocasiones el campo de actuación del aprendizaje automático se solapa con el de

mineria de datos, ya que las dos disciplinas están enfocadas en el análisis de datos, sin embargo el Aprendizaje

Automático se centra más en el estudio de la complejidad computacional de los problemas con la intención de

hacerlos factibles desde el punto de vista práctico, no únicamente teórico.

Basicamente, podríamos decir que una de las tareas del aprendizaje automático, es intentar extraer cono-

cimiento sobre algunas propiedades no observadas de un objeto, basándonos en las propiedades que sí han

sido observadas de ese mismo objeto, inclusive basándose en propiedades observadas en objetos similares.

Esto significa, que podemos predecir un comportamiento futuro a partir de lo que ha ocurrido en el pasado.

Un ejemplo de mucha actualidad sería, el de predecir si un determinado producto le va a gustar a un cliente,

tomando en cuenta las valoraciones que ese mismo cliente ha hecho sobre otros productos que sí ha probado.

Page 30: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 2. Aprendizaje Automático 24

2.2. Tipos de Aprendizaje Automático

Entre los tipos de Aprendizaje Automático tenemos los siguientes:

1. Supervisado: se genera una función que establece una correspondencia entre las entradas y las salidas

deseadas del sistema, donde la base de conocimientos del sistema está formada por ejemplos etiquetados

a priori (es decir, ejemplos de los que sabemos su clasificación correcta). Este consta de dos fases, una de

entrenamiento y una de prueba;

a) En la fase de entrenamiento se cuenta con un conjunto de datos que por lo general está entre el 60 %

o 70 % del total de los datos disponibles, que son con los que se entrena al algoritmo para encontrar

los patrones y relaciones en el conjuto de datos.

b) Posteriormente en la fase de prueba, se cuenta con un conjunto de datos de prueba entre el 40 % o

30 % del total de los datos disponibles, el cual sirve para validar el rendimiento del algoritmo.

2. No supervisado: es donde el proceso de modelado se lleva a cabo sobre un conjunto de ejemplos forma-

dos únicamente por entradas al sistema, sin conocer su clasificación correcta. Por lo que se busca que el

sistema sea capaz de reconocer patrones para poder etiquetar las nuevas entradas.

3. Semi supervisado: es una combinación de los dos algoritmos anteriores, teniendo en cuenta ejemplos

clasificados y no clasificados.

2.2.1. Métodos de Aprendizaje Automático

Existen diversos métodos de Aprendizaje Automático, A.A, los cuales se diferencian entre sí por el tipo de

objeto que intentan predecir. A continuación se listan tres de los más usados para abordar una amplia gama

de problemas.

1. Regresión: Intentan predecir un valor real. Por ejemplo, predecir el valor de la bolsa mañana a partir

del comportamiento de la bolsa que está almacenado (datos pasados). Consiste en encontrar la mejor

ecuación que atraviese de forma óptima un conjunto de puntos (n dimensiones). Se utiliza cuando la

precisión no es crítica y el número de variables es pequeño.

Este método está considerado dentro del tipo de aprendizaje supervisado.

Page 31: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 2. Aprendizaje Automático 25

2. Clasificación: Intentan predecir la clasificación de objetos sobre un conjunto de clases prefijadas. Por

ejemplo, clasificar si una determinada noticia es de deportes, entretenimiento, política, etc. Si sólo se

permiten 2 posibles clases, entonces se llama clasificación binaria; si se permiten más de 2 clases, estamos

hablando de clasificación multiclase. Ej: Identificar si un tumor es maligno o benigno, dado su tamaño y

edad del paciente.

Este método también está considerado como aprendizaje supervisado.

3. Agrupación: Este método se utiliza cuando se necesitan clasificar las instancias de datos pero no se

conocen previamente las categorías. Esta agrupación permite construir grupos (cluster) coherentes de

instancias, teniendo en cuenta las variables del conjunto de datos. En palabras sencillas, permite encon-

trar qué se tiene en los datos. Por ejemplo se utiliza para la clasificación de personas dados sus genomas,

clasificación de documentos, etc.

Está considerado como un tipo de aprendizaje no supervisado.

A continuación presentaremos uno de los algoritmos no supervisados más estudiados en el Aprendizaje

Automático.

2.3. Reglas de asociación

Propuesto por Agrawal et al. en 1993, a pesar de no ser un algoritmo diseñado para estudiar datos numé-

ricos, nos será de gran utilidad para encontrar y determinar patrones existentes entre las diferentes criptomo-

nedas a estudiar. Su uso inicial fué para el análisis del carro de supermercado (Market Basket Analysis) para

encontrar relaciones entre los distintos artículos en las compras. Para hacer posible la utilización de este algo-

ritmo aplicado a nuestro caso (datos numéricos) deberemos hacer una transformación del conjunto de datos,

a través de una función que explicaremos en el capítulo 4.

El objetivo principal de este algoritmo, es determinar qué operaciones se están realizando de manera con-

junta, asociar de manera eficiente cuáles criptomonedas poseen comportamientos similares o identificar crite-

rios de dependencia.

Page 32: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 2. Aprendizaje Automático 26

Definición 2.3.1 El soporte de un elemento I se define como la fracción de transacciones en la base de datos T = T1...Tn

que contienen I como un subconjunto. El soporte de un elemento I se denota por sup(I). Claramente, los artículos que

están correlacionados frecuentemente ocurren juntos en las transacciones. Tales conjuntos de elementos tendrán un gran

soporte. Por lo tanto, el problema frecuente de minería de patrones es el de determinar conjuntos de elementos que tienen

el requisito de nivel de soporte mínimo.

Definición 2.3.2 Minería de conjuntos de elementos frecuentes Dado un conjunto de transacciones T = T1...Tn,

donde cada transacción Ti es un subconjunto de elementos de U, determina todos los conjuntos de elementos I que se

producen como un subconjunto de al menos una fracción predefinida de mínimo soporte de las transacciones en T.

Propiedad de cierre descendente Cada subconjunto de un conjunto de elementos frecuentes, es también

frecuente.

La propiedad de cierre descendente de los patrones frecuentes, es algorítmicamente muy conveniente por-

que proporciona una restricción importante en la estructura inherente de los patrones frecuentes.

Definición 2.3.3 Confianza: Sean X e Y dos conjuntos de elementos. La confianza con f (X ∪ Y) de la regla X ∪ Y es

la probabilidad condicional de X ∪ Y que ocurre en una transacción, dado que la transacción contiene X. Por lo tanto, la

confianza con f (X ⇒ Y) se define de la siguiente manera:

con f (X ⇒ Y) =sup(X ∪Y)

sup(X). (2.1)

Se dice que los conjuntos de elementos X e Y son el antecedente y el consecuente de la regla, respectivamente.

Definición 2.3.4 Reglas de Asociación Sean X e Y dos conjuntos de elementos. Entonces, la regla X ⇒ Y se dice que

es una regla de asociación con un mínimo de soporte minsup y mínimo confianza de minconf, si satisface los dos criterios

siguientes:

1. El soporte del conjunto de elementos X ∪Y es al menos minsup.

2. La confianza de la regla X ⇒ Y es al menos minconf.

El primer criterio garantiza que un número suficiente de transacciones sea relevante para la regla; por lo

tanto, tiene la masa crítica requerida para que se considere relevante para la aplicación a mano. El segundo

Page 33: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 2. Aprendizaje Automático 27

criterio asegura que la regla tiene fuerza suficiente en términos de probabilidad condicional. Por lo tanto, las

dos medidas cuantifican diferentes aspectos de las reglas de asociación.

2.4. Algoritmo Apriori

El algoritmo Apriori comienza contando los soportes de los elementos individuales para generar los fre-

cuentes 1-conjuntos de elementos. Los 1-conjuntos de elementos se combinan para crear candidatos 2-conjuntos

de elementos, cuyo soporte es contado. Los 2-conjuntos de elementos frecuentes se conservan. En general, los

conjuntos de elementos frecuentes de longitud k, se usan para generar los candidatos de longitud (k + 1) pa-

ra valores crecientes de k. Los algoritmos que cuentan el soporte de los candidatos con mayor longitud son

referidos como algoritmos de nivel. Sea Fk el conjunto de k-conjuntos de elementos frecuentes, y Ck deno-

ta el conjunto de candidatos k-conjuntos de elementos. El núcleo del enfoque es generar iterativamente los

(k + 1)-candidatos Ck + 1 de k-conjuntos de elementos frecuentes en Fk ya encontrados por el algoritmo. Las

frecuencias de estos (k + 1) candidatos se cuentan con respecto a la base de datos de transacciones. Al generar

los candidatos (k + 1), el espacio de búsqueda puede ser reducido chequeando si todos los k-subconjuntos de

Ck + 1 están incluidos en Fk. Entonces, ¿cómo se genera un candidato relevante (k + 1) en Ck + 1 de patrones

frecuentes de k en Fk?

Si un par de conjuntos de elementos X e Y en Fk tienen en común (k− 1) elementos, entonces una unión

entre ellos usando los elementos comunes (k − 1) crearán un conjunto de elementos candidato de tamaño

(k + 1). Por ejemplo, los dos 3-conjuntos de elementos a, b, c y a, b, d o abc y abd para abreviar, cuando se

unen en los dos elementos comunes a y b, arrojarán el candidato abcd. Por supuesto, es posible unirse a otros

patrones frecuentes para crear el mismo candidato. Uno también podría unir abc y bcd para lograr el mismo

resultado. Supongamos que cuatro de los 3 subconjuntos de abcd están presentes en el conjunto de 3 conjuntos

de elementos frecuentes. Uno puede crear el candidato abcd en de (42) = 6 formas diferentes. Para evitar la

redundancia en la generación de candidatos, la convención es imponer un orden lexicográfico en los artículos

y usar los primeros (k − 1) elementos del conjunto de elementos para la unión. Por lo tanto, en este caso, la

única forma de generar abcd sería unirse usando los primeros dos elementos a y b. Por lo tanto, los conjuntos

de elementos abc y abd tendrían que unirse para crear a B C D. Tenga en cuenta que, si cualquiera de abc y abd

no son frecuentes, entonces abcd no se generará como un candidato que usa este enfoque de unión. Además, en

tal caso, se garantiza que abcd no será frecuente debido a la propiedad de cierre descendente de conjuntos de

elementos frecuentes. Por lo tanto, la propiedad de cierre descendente asegura que el conjunto de candidatos

Page 34: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 2. Aprendizaje Automático 28

generados utilizando este enfoque no se pierde ningún elemento que sea verdaderamente frecuente.

El código del algoritmo es el siguiente:

Algorithm Aprior i ( Transac t ions : T , Minimum Support : minsup )

begin

k = 1 ;

F_1 = All Frequent 1− i t e m s e t s ;

while Fk i s not empty do begin

Generate Ck+1 by j o i n i n g i temset−p a i r s in Fk ;

Prune i t e m s e t s from Ck+1 t h a t v i o l a t e downward c l o s u r e ;

Determine Fk+1 by support counting on (Ck+1 , T ) and r e t a i n i n g

i t e m s e t s from Ck+1 with support a t l e a s t minsup ;

k = k + 1 ;

end ;

re turn ( U_i=1 ^k F_i )

end

Page 35: Modelos de análisis de criptomonedas basado en aprendizaje

Capıtulo 3Blockchain

En el éste capítulo, hablaremos un poco acerca de Blockchain, qué es, cuáles son sus características y cómo

se convirtió en el fundamento principal de un gran número de criptomonedas. Se ha dicho que Blockchain

hará por las transacciones lo que el Internet hizo para obtener información, esto quiere decir que permitirá

aumentar la confianza y la eficiencia en el intercambio de casi cualquier cosa. En otras palabras, Blockchain

puede cambiar profundamente como funciona el mundo hoy en día.

3.1. ¿Qué es una Blockchain?

Blockchain no es mas que un libro compartido y distribuido que facilita el proceso de registrar transacciones

y rastrear activos en una red de negocios. Se puede ver también como una base de datos distribuida. Un activo

puede ser tangible: una casa, un automóvil, efectivo, tierra o propiedad intelectual intangible, como patentes,

derechos de autor o marca. Prácticamente todo lo que tiene valor puede rastrearse e intercambiarse en una red

Blockchain, reduciendo el riesgo y reduciendo los costos para todos los involucrados.

3.2. ¿Cómo funciona una red de Blockchain?

Los nodos miembros de una red Blockchain en vez de depender de terceros, para que sean los mediadores

en las transacciones, utilizan un protocolo de consenso para aceptar el contenido del controlador, como tam-

29

Page 36: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Blockchain 30

bién hashes criptográficos1 y firmas digitales para garantizar la integridad y veracidad de las transacciones.

El consenso garantiza que los controladores compartidos sean copias exactas, (un controlador distribuido

es un tipo de base de datos compartida, replicada y sincronizada entre los miembros de una red descentraliza-

da). Por lo que se reduce el riesgo de transacciones fraudulentas, ya que su manipulación tendría que ocurrir

en muchos lugares exactamente al mismo tiempo. Los hashes criptográficos, como por ejemplo el algoritmo

computacional SHA256, garantiza que cualquier alteración en la entrada de transacción (incluso el cambio más

mínimo) dé como resultado el cálculo de un valor diferente del hash, lo que indica la entrada de una transac-

ción riesgosa. Las firmas digitales garantizan que las transacciones se originen desde los emisores (firmadas

con claves privadas) y no por impostores.

3.3. Características principales de Blockchain

1. Es un sistema seguro dado que su tecnología se basa en la criptografía de datos.

2. Las transacciones se concentran en bloques, en dichos bloques la información se almacena cronológica-

mente.

3. Una vez aceptada, la información no se puede borrar ni modificar, y puede ser consultada en cualquier

momento.

4. Una Blockchain puede ser pública o privada, incusive puede permitir ciertas consultas con un permiso

especial.

5. La confianza, dada por la descentralización y no disponer de un nodo central donde se aglutine toda la

información, hace que las partes intervinientes confíen plenamente en esta tecnología.

6. Transacciones en tiempo real: Su inmediatez minimiza el riesgo de contra-parte producido en otro tipo de

transacciones, donde el compromiso de pago tarda varios días en ejecutarse (evitando riesgos de impago,

concursos de acreedores y fraudes durante el proceso de pago).

1Una función hash criptográfica es aquella que cifra una entrada y actúa de forma parecida a la función hash(función computable), ya

que comprimen la entrada a una salida de menor longitud y son fáciles de calcular.

Page 37: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Blockchain 31

3.4. Beneficios y casos de uso

Blockchain es conocida principalmente en el mundo como la tecnología sobre la que se basaban los inter-

cambios de Bitcoin, una de las criptomonedas a estudiar en este trabajo, pero sus usos prácticos en la actualidad

van mucho más allá de las transacciones de criptomonedas. Por ejemplo, en finanzas las redes Blockchain per-

miten que los intercambios de valores se liquiden en minutos en vez de en días. Los contratos inteligentes o

smart contracts son una de las aplicaciones más prometedoras, dado que son capaces de ejecutar transacciones

comerciales y acuerdos automáticamente, haciendo cumplir las obligaciones de todas las partes en un contra-

to, sin los costos adicionales de intermediarios. Entre otras de las diversas aplicaciones interesantes están en

manejo de identidad, tramitación de documentos, protección de la identidad intelectual, registros médicos,

hospitales, incluso los registros civiles se podrán basar en esta tecnología. Uno de los países más proactivos

en la materia en este momento es Estonia, donde su gobierno trabaja de la mano con Bitnation, para permi-

tirle a sus residentes con identidad digital, registrar sus uniones matrimoniales y partidas de nacimiento en la

Blockchain Horizon.

Blockchain es capaz de resolver incluso el problema de la votación por internet, brindando el anonimato

del voto, la garantía de que una persona vote una sola vez y lo más importante de todo, establecer la con-

fianza, dado que, al ser una red descentralizada, ninguna autoridad central que gestione la votación podría

manipularla.

3.5. Blockchain y Banca

FinTech Network, con sede en el Reino Unido, publicó un documento técnico (whitepaper) en colaboración

con BNY Mellon y Rabobank, en el que se describen cuatro casos de uso de la tecnología Blockchain en la

banca. El documento técnico destaca la reducción del fraude, los procedimientos Know Your Customer (KYC),

las plataformas de negociación y los pagos como cuatro casos clave de uso de esta tecnología en el contexto

bancario.

1. Reducción de fraudes: Según Chris Mager, jefe de Innovación Global de BNY Mellon Treasury Services,

uno de los principales problemas que enfrenta el sector bancario hoy en día, es el aumento de los fraudes

y los ciberataques. En la actualidad, la mayoría de los sistemas bancarios se construyen sobre una base

de datos centralizada, por lo que son más susceptibles a ataques cibernéticos ya que toda la información

es almacenada localmente en un solo lugar. Eso sin contar la antiguedad la mayoria de los sistemas

bancarios, lo cual los hace más vulnerables a las nuevas formas de ataques cibernéticos.

Page 38: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Blockchain 32

Mediante la construcción de nuevos sistemas bancarios sobre la tecnología Blockchain, la posibilidad de

fraude y robo de datos puede reducirse sustancialmente a medida que la tecnología de contabilidad dis-

tribuida asegura registros, almacena, cifra y verifica cada bit de datos en una transacción. Por lo tanto,

en caso de que se produzca cualquier incumplimiento de datos o actividad fraudulenta, se haría inme-

diatamente obvio para todas las partes que tienen permiso para acceder a los datos de transacción en el

libro mayor.

2. KYC (Conozca a su cliente):

Los procedimientos de cumplimiento y KYC (know your client) se han vuelto cada vez más importantes

en la industria bancaria, ya que los reguladores están observando muy de cerca a los bancos con los que

hacen negocios, para evitar el lavado de dinero o el financiamiento del terrorismo.

Según una encuesta de Thomson Reuters, las instituciones financieras gastan en promedio 60 millones

de dólares en procedimientos de KYC y la debida diligencia del cliente, mientras que algunos bancos

gastan hasta 500 millones de dólares al año.

Los reguladores quieren un mejor acceso a las bases de clientes de los bancos y a las historias de transac-

ciones, mientras que los bancos quieren cumplir con los deseos del regulador para evitar multas regula-

torias a toda costa.

Chris Huls, especialista Blockchain en Rabobank, propone en el documento que las declaraciones KYC se

pueden almacenar en un libro distribuido. Él cree que cuando un banco ha verificado un nuevo cliente,

puede poner los datos del cliente en una cadena de Blockchain por la que también se puede acceder a

otros bancos y organizaciones acreditadas, como aseguradores o proveedores de préstamos, sin la nece-

sidad de que el proceso de KYC sea comenzado de nuevo por cada parte individual. Estas partes saben

que la información del cliente ha sido auditada y verificada de forma independiente por lo que no de-

berían ser necesarios más chequeos KYC. Según un informe del banco de inversión Goldman Sachs, se

lograría una reducción del 10 % de la plantilla con la introducción de la tecnología Blockchain en los

procedimientos KYC, lo que equivaldría a 160 millones de dólares en ahorros anuales.

3. Plataformas de negociación:

El documento técnico identifica además, que las plataformas de negociación son un caso de uso clave pa-

ra la tecnología Blockchain. Mediante la creación de bolsas de valores en la parte superior de la tecnología

de contabilidad distribuida, no habría necesidad de un fideicomiso centralizado o intermediarios.

Page 39: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Blockchain 33

Los riesgos de fraude y errores operacionales también se reducirían drásticamente, ya que Blockchain

haría transparente, seguro e inmutable el proceso de negociación de valores. Esto, a su vez, crearía una

pista de auditoría clara de todas las operaciones históricas, lo que proporcionaría garantías para la au-

tenticidad de todas las transacciones.

Si cada seguridad es digitalizada por una autoridad central de confianza que autentica la seguridad,

estos tokens digitales podrían ser comercializados y seguidos de forma transparente en un intercambio

basado en bloques. Como la ficha digital actuaría como un certificado de autenticidad, la posibilidad

de forjar valores se hace mucho más difícil que cuando se trata de documentos en papel. Eso daría a los

valores en negociación un nuevo nivel de confianza, verificable, que no ha estado disponible hasta ahora.

En la actualidad existen varios intercambios, entre ellos NASDAQ y el Australian Securities Exchan-

ge, que ya están desarrollando soluciones de intercambio basadas en Blockchain para reducir costos y

mejorar la eficiencia en la cadena de suministro de valores.

4. Pagos:

El espacio de pagos es el cuarto caso de uso que el documento técnico, ha identificado donde la inte-

rrupción de Blockchain sería altamente beneficiosa para los bancos, y que es uno de los casos de uso más

prominentes para la cadena en la banca.

Chris Huls, de Rabobanks, cree que Blockchain podría ser utilizado como una nueva forma en que las

instituciones y sus clientes pagan entre sí, una forma que no depende del SWIFT u otros esquemas de

pagos.

Mager de BNY Mellon considera que el potencial de Blockchain en los pagos podría conducir a un pe-

ríodo sin precedentes de cambio y transformación.

Al realizar los pagos entre los propios bancos y clientes que utilizan esta tecnología, los bancos podrían

ahorrar una cantidad sustancial en los costos, mejorar la seguridad y la velocidad de los pagos nacionales

y transnacionales.

El documento oficial cita el protocolo de Ripple como un ejemplo de sistema de pago basado en Block-

chain para los bancos; Ripple puede ser utilizado por los bancos para reemplazar a muchos de los in-

termediarios comunes en la industria de pagos, entre las instituciones, por tanto, por extensión, a sus

clientes. Blockchain se puede utilizar para realizar pagos en tiempo real a nivel mundial, con ejecución

en tiempo real, transparencia completa, análisis y prevención de fraude en tiempo real y también a un

costo razonable.

Page 40: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Blockchain 34

3.6. Retos y conclusiones

Si bien la tecnología Blockchain puede proporcionar soluciones a una serie de problemas en el sector ban-

cario, aún falta para que la tecnología se convierta en una parte totalmente integrada de la industria.

Los principales problemas que cita el documento de la red de FinTech son las preocupaciones por la priva-

cidad, la integración con los ecosistemas bancarios, la incertidumbre regulatoria y la escalabilidad.

La tecnología Blockchain que la industria utilizaría para almacenar, registrar y transferir datos tendría que

ser autorizada para bloquear cadenas, cumpliendo con las leyes de privacidad, para asegurar que los datos

de los clientes sean seguros. Las preocupaciones de seguridad cibernética necesitarían ser abordadas antes de

que la tecnología Blockchain pueda desplegarse completamente en el mercado. Además de que los nuevos

sistemas basados en esta tecnología tendrían que integrarse con los sistemas bancarios actuales para que la

adopción funcione.

La posibles futuras regulaciones serían otro obstáculo para la adopción, ya que no existe hasta ahora regu-

lación clara sobre esta nueva tecnología.

Por supuesto que la escalabilidad es también un gran desafío dado que los bloques bancarios deberían ser

capaces de almacenar y procesar una gran cantidad de datos. Por lo tanto, es fundamental que estos sistemas se

construyan de modo que la escalabilidad no se convierta en un problema, como lo ha hecho con la Blockchain

Bitcoin.

En conclusión, las tecnologías Blockchain principalmente son una nueva manera de realizar negocios. Ellas

dan lugar a la siguiente generación de aplicaciones inteligentes y robustas, para el registro e intercambio de

activos físicos, virtuales, tangibles e intangibles. Gracias a los principales conceptos de la seguridad cripto-

gráfica, el consenso descentralizado y la red publica compartida, las tecnologías blockchain podrán cambiar

profundamente la manera en que organizamos nuestras actividades económicas, sociales, políticas y científi-

cas.

Page 41: Modelos de análisis de criptomonedas basado en aprendizaje

Capıtulo 4Análisis y Resultados

Para la realización de ésta etapa resulta indispensable la obtención de los datos históricos de las diferentes

criptomonedas a estudiar, los cuáles nos permitirían hacer los análisis correspondientes.

A continuación, una breve explicación de cómo se realizó el proceso de obtención, selección de las cripto-

monedas, extracción y limpieza de los datos.

1. La fuente de datos: Nos hemos guiado por la página www.coinmarketcap.com, de donde hemos venido

realizando un seguimiento a las diferentes criptomonedas.

2. La elección: Hemos escogido las 5 criptomonedas de mayor capitalización de mercado, siendo éstas; El

Bitcoin (BTC), Ethereum (ETH), Ripple (XRP), Bitcoin Cash (BCH) y el Litecoin (LTC).

3. La extraccion: Nos apoyamos en las herramientas del desarrollador del explorador Google Chrome, en

la opción web scraper, donde configuramos la misma para obtener la tabla de los registros de datos

históricos de cada una de las criptomonedas seleccionadas, una por una.

35

Page 42: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 36

Figura 4.1: Datos originales obtenidos de www.coinmarketcap.com.

4. Limpieza: Haciendo un estudio de los datos y dado que nos interesamos en los precios de cierre diario,

decidimos eliminar las columnas que no aportaban información al modelo que nos dispusimos a realizar,

quedándonos así con las columnas Fecha (Date) y cierre (Close). Las columnas de nuestro conjunto de

datos estan definidos de la siguiente manera:

a) Web-scraper-order: ésta columna nos indica el orden en que fué extraida cada observación o fila.

b) Web-scraper-start-url: nos indica la pagina web de la cual fueron extraidos los datos.

c) Date: la fecha en la que ocurrió cada observación.

d) Open: nos indica el precio inicial de la criptomoneda en el dia de la observación.

e) High: ésta columna nos dice el precio máximo que alcanzó la criptomoneda en el dia de la observa-

ción.

f ) low: es el precio más bajo alcanzado por la criptomoneda en el dia de la observación.

g) Close: nos indica el precio de cierre registrado por la criptomoneda el dia de la observación, fué la

variable escogida por nosotros para realizar nuestros análisis.

h) Volume: ésta columna nos indica el volumen de transacciones en $ realizadas en las ultimas 24

horas.

i) Market Cap: es una forma de clasificar el tamaño relativo de una criptomoneda. Se calcula multipli-

cando el precio por el suministro circulante.

Page 43: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 37

Figura 4.2: Datos listos para realizar nuestro estudio.

4.1. Análisis de Series de Tiempo

En esta sección explicaremos cómo nos hemos planteado el modelo de análisis en series temporales. Nues-

tros datos presentan observaciones diarias respecto al precio de cierre de cada una de las criptomonedas a

estudiar, por ello estamos en presencia de una serie de tiempo econométrica. Los modelos que mejor se adap-

tan son los modelos ARMA y ARIMA, los cuáles fueron estudiados en el Cápitulo 1.

Es fundamental recordar que con estos modelos que presentaremos a continuación, se busca predecir com-

portamiento futuro y predicciones de precio que ayuden a mejorar la toma de decisiones de inversión.

Las Bibliotecas utilizadas en este trabajo son las siguientes: ”tseries” , ”forecast” , ”ggplot2” , ”dplyr” y

”plotly” haciendo uso del software estadistico R, en su versión R Studio.

Page 44: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 38

4.1.1. Predicciones para el Bitcoin

Una vez extraídos y preparados los datos, procedemos a vizualizar la gráfica historica del Bitcoin.

Figura 4.3: Serie temporal del Bitcoin desde 2013

Un resumen de los datos observados del Bitcoin, el valor mínimo fué de $ 68.43 el 05-07-2013 , con un valor

medio de, $ 1580.34 y su valor máximo fué de, $ 19497.40 alcanzado el 16-12-2017.

Cómo se puede observar, desde el año 2013 hasta finales del 2017 la serie temporal del Bitcoin se mantuvo

bastante estacionaria, pero en el año 2017 y 2018 su comportamiento es totalmente diferente, razón por la cual

nos dispusimos a realizar nuestro estudio a los valores del 2017 en adelante.

Page 45: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 39

Figura 4.4: Gráfica de precios del Bitcoin desde 2017

Claramente la serie no es estacionaria, por lo tanto se le realizó un suavizado logarítmico.

Figura 4.5: Suavizado logarítmico del Bitcoin desde el año 2017

Ahora aplicamos la prueba de Dickey-Fuller para determinar si es estacionaria, en R usamos el comando

”adf.test”, sí el p-valor es menor que 0.05 entonces la serie es estacionaria. En éste caso p− valor = 0,5866, así

que aún no tenemos estacionariedad en la serie.

Page 46: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 40

El siguiente paso es aplicar una diferenciación de los datos con el comando ”diff”, luego utilizamos de

nuevo la prueba de Dickey-Fuller para determinar la estacionariedad. Ahora el p− valor = 0,01 y podemos

aceptar la hipótesis alternativa, la serie es estacionaria.

Figura 4.6: Serie del Bitcoin estacionaria

Page 47: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 41

Analizamos las funciones ACF y PACF del Bitcoin para determinar los parámetros autoregresivos y de

promedio móvil

Figura 4.7: ACF y PACF del Bitcoin.

Como podemos observar en la gráfica tanto de la ACF y la PACF los parámetros recomendados para el

modelo son p = 0 y q = 0.

Por lo tanto estabamos en presencia de un modelo ARIMA(p,d,q) con parámetros (0,1,0). En R utilizamos

el comando ”auto.arima” el cual automaticamente calcula los mejores parámetros para la función ARIMA,

coincidiendo con nuestro análisis, los mismos parámetros resultaron igualmente (0,1,0).

En el proceso de pronósticos, entrenamos el modelo con las observaciones del 2017 en adelante, quitandole

solo 29 dias, para que éste, fuera nuestro conjunto de entrenamiento. Luego, le pedimos al modelo que nos en-

Page 48: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 42

tregara 29 dias, los mismos que le quitamos al conjunto de entrenamiento, éste conjunto lo llamamos conjunto

de prueba, con el cuál comprobamos nuestro pronóstico calculando el porcentaje de error en cada uno de esos

dias y finalmente calculamos el porcentaje de error medio.

PorcentajeError =ValorReal −ValorPronosticado

ValorReal. (4.1)

Optimizando los parámetros originales del modelo ARIMA(0,1,0), el cual nos arrojaba un 9 % de error, nos

encontramos con que los parámetros optimos eran p = 3 para el autorregresivo y q = 3 para el promedio móvil,

con una segunda diferenciación de los datos, de manera que el modelo ideal es un ARIMA(3,2,3).

El porcentaje de error medio de este modelo fué del 6 %, lo que quiere decir que estamos prediciendo los

precios del Bitcoin con casi un 94 % de efectividad. Veamos como se ajusta nuestro pronóstico para los valores

reales.

Figura 4.8: Valores reales y valores pronosticados del Bitcoin.

Tal como muestra la gráfica anterior, los valores pronosticados se ajustan de manera lineal a los valores

reales, tanto en tendencia como en precio. En la siguiente gráfica se pueden observar éstos valores con mejor

detalle.

Page 49: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 43

Figura 4.9: Valor del Bitcoin y valores pronosticados.

En la figura 4.9 se observan más de cerca como los valores pronosticados están muy cercanos a los valores

reales, salvo en momentos volátiles del precio real del Bitcoin. Veamos exactamente cuáles fueron éstos valores

en la siguiente tabla.

Page 50: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 44

Valor Real Valor Pronosticado

8129.97 8833.731

8926.57 8846.027

8598.31 8775.626

9494.63 9005.583

10166.40 8940.907

10233.90 8950.464

11112.70 9158.125

10551.80 9045.535

11225.30 9139.677

11403.70 9290.682

10690.40 9168.457

10005.00 9333.246

10301.10 9407.635

9813.07 9314.279

9664.73 9521.073

10366.70 9517.180

10725.60 9482.955

10397.90 9695.269

10951.00 9629.221

11086.40 9670.028

11489.70 9851.920

11512.60 9753.060

11573.30 9867.751

10779.90 9991.844

9965.57 9895.428

9395.01 10066.886

9337.55 10120.175

8866.00 10059.227

9578.63 10258.800

Cuadro 4.1: Tabla precios reales y precios pronosticados del Bitcoin.

Page 51: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 45

Figura 4.10: Residuos de la función ARIMA del Bitcoin.

En la Figura 4.10 se observa que los residuos de la función ARIMA se ajustan a los cuantiles de la Gaussiana

entre -1 y 1.

Page 52: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 46

4.1.2. Predicciones para el Litecoin

Veamos el comportamiento histórico del Litecoin, con 1779 observaciones, desde el año 2013 hasta marzo

del 2018.

Figura 4.11: Serie temporal del Litecoin desde 2013

Ésta gráfica muestra el comportamiento del Litecoin, la misma se presenta de manera similar al Bitcoin, se

observó un valor mínimo de $ 1.16 el 14-01-2015, un valor medio de $ 22.45 y alcanzó un valor máximo de $

358.34 el 18-12-2017.

Similarmente el comportamiento desde el año 2013 a finales del 2016, no fué el mismo que el del año 2017

en adelante, sin embargo entrenamos el modelo de series temporales con todos los datos, aplicando el mismo

método de análisis que en el caso del Bitcoin.

Aplicamos un suavizado logarítmico a los datos para tratar de convertir la serie temporal en una serie

estacionaria.

Page 53: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 47

Figura 4.12: Suavizado logarítmico del Litecoin desde el año 2013

Como se observa en la figura 4.12, la serie aún no es estacionaria, de hecho, la prueba de Dickey-Fuller nos

arrojó un p− valor = 0,9465.

Aplicamos una diferenciación de los datos y probamos de nuevo Dickey-Fuller, arrojandonos esta vez un

p− valor = 0,01 aceptando así la hipotesis alternativa, la serie es estacionaria. (Figura 4.13).

Figura 4.13: Serie del Litecoin estacionaria.

Page 54: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 48

Analizamos las funciones ACF y PACF del Litecoin, determinando los parámetros autoregresivos y de

promedio móvil.

Figura 4.14: ACF y PACF del Litecoin.

Note que los parámetros recomendados por las gráficas de la ACF y la PACF son p = 6 para el paráme-

tro autoregresivo y q = 0 para el promedio móvil, de manera que, en principio, estamos en presencia de un

modelo ARIMA(6,1,0), sin embargo utilizando el comando ”auto.arima”, el cual calcula los parámetros auto-

maticamente, nos arrojo que el modelo era un ARIMA(0,1,0), pero los resultados de la predicción del mismo

estaban muy errados. Esto conllevó a una investigación profunda para descubrir que estaba ocurriendo, nos

encontramos con que la función ”auto.arima” en R, calcula solo parámetros entre 0 y 5, es decir, que no predijo

de manera correcta el parámetro autoregresivo como lo muestra la gráfica de la función de autocorrelación

Page 55: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 49

parcial (PACF).

Por esta razón, buscando mejorar el análisis ya exitoso para el Bitcoin, utilizamos el comando ”arima”

e introdujimos nosotros mismo nuestros parámetros, optimizandolos hasta encontrarnos con que el mejor

modelo era un ARIMA(6,4,1).

Para el conjunto de entrenamiento del modelo, utilizamos 1751 observaciones, dejando sólo 28 dias para el

conjunto de prueba. De forma similar comprobamos nuestro análisis calculando el porcentaje de error en cada

uno de los dias y luego el porcentaje de error medio.

El porcentaje de error medio para este modelo fué del 8 %, permitiendonos decir que hemos predecido los

precios del Litecoin con un 92 % de efectividad.

Veamos como se ajusta el modelo para el Litecoin.

Figura 4.15: Valores reales y valores pronosticados del Litecoin.

En la Figura 4.15 se observan los 28 dias pronosticados del Litecoin, como podemos apreciar, las predic-

ciones fueron acertadas en cuanto a tendencia, los precios pronosticados fueron cercanos a los precios reales.

Veamos más de cerca los valores del conjunto de prueba.

Page 56: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 50

Figura 4.16: Valores reales y valores pronosticados del Litecoin.

Como podemos apreciar los precios se ajustan los 3 primeros dias de la predicción (del 11 al 13 de febrero) y

luego presenta un salto importante el precio real hasta el 22 de febrero, de esa fecha al 11 de marzo los valores

se ajustan bastante cercanos al porcentaje de error medio.

Veamos cuáles fueron exactamente éstos valores en la siguiente tabla.

Page 57: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 51

Valor Real Valor Pronosticado

161.57 158.3872

159.55 167.2487

213.36 166.4562

225.43 170.7979

230.12 170.4814

229.47 170.2719

215.74 176.2072

223.06 181.2600

232.85 181.0068

213.35 181.7396

195.31 184.5352

209.31 186.1588

209.42 188.8452

220.48 191.1439

220.96 191.5480

216.60 192.2949

202.90 194.3360

209.75 195.7939

212.56 196.6126

210.64 197.4984

213.80 197.9507

211.18 198.3967

196.60 199.1612

185.84 199.5858

176.51 199.4999

187.17 199.4133

177.73 199.2929

188.95 198.9859

Cuadro 4.2: Tabla precios reales y precios pronosticados del Litecoin.

Page 58: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 52

Figura 4.17: Residuos de la funcion ARIMA del Litecoin.

Se puede apreciar que los residuos de la función ARIMA del Litecoin, se ajustan a los cuantiles de la Gaus-

siana entre -1.1 y 1.1

Page 59: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 53

4.1.3. Predicciones del Bitcoin Cash

Veamos el comportamiento histórico del Bitcoin Cash, en este caso se encontraron registros de esta cripto-

moneda desde el 23 de julio del 2017.

Figura 4.18: Serie temporal del Bitcoin Cash.

En la figura 4.18 se observan los precios del Bitcoin Cash, el valor mínimo registrado fué de $ 213.2 el

05-08-2017 el valor medio fué de $ 1114.2 y el precio máximo del mismo fué $ 3923.1 alcanzado el 20-12-2017.

El motivo por el cuál esta criptomoneda tiene tan pocas observaciones, en comparación con las anteriores,

es que fué lanzada al mercado el 1 de agosto del 2017, surgida de una bifurcación dura programada del Bitcoin,

se convirtió en una versión alternativa del mismo, ésto tuvo como consecuencia la separación de la cadena de

bloques original del bitcoin en dos cadenas de bloques diferenciadas y coexistentes.

La diferencia de una con la otra es que en el caso del Bitcoin, las transacciones son más lentas por el límite

del tamaño del bloque, hoy dia de 2MB (inicialmente era 1 MB) y en el caso del Bitcoin Cash es de 8 MB. Los

creadores del Bitcoin Cash, están intentando convertir la moneda también en una nueva forma de efectivo, por

eso sus siglas en inglés, cash.

Page 60: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 54

Aplicamos la misma metodología usando el suavizado logarítmico para hacer los datos más estacionarios.

Figura 4.19: Suavizado logarítmico del Bitcoin Cash.

Tal como se observa en la figura 4.19, la serie aún no es estacionaria, la prueba de Dickey-Fuller nos arrojó

un p− valor = 0,7609.

Aplicamos una diferenciación de los datos y probamos de nuevo Dickey-Fuller, arrojandonos esta vez un

p− valor = 0,01 aceptando así la hipotesis alternativa, la serie es estacionaria. (Figura 4.20).

Figura 4.20: Serie estacionaria del Bitcoin Cash.

Page 61: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 55

Analizamos las funciones ACF y PACF del Litecoin, determinando los parámetros autoregresivos y de

promedio móvil.

Figura 4.21: ACF y PACF del Bitcoin Cash.

Los parámetros recomendados por las gráficas de las funciones de autocorrelación y de autocorrelación

parcial son p = 2 para el autorregresivo y q = 2 para el de promedio móvil, de esta manera podemos afirmar

que estamos en presencia de un modelo ARIMA(2,1,2).

Para el conjunto de entrenamiento hemos utilizado 203 observaciones, dejando las 30 restantes para el

conjunto de prueba. Es importante destacar que en este caso no fué necesario optimizar demasiado el modelo,

Page 62: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 56

simplemente se usaron los parámetros que interpretamos de las funciones ACF y PACF.

Page 63: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 57

El porcentaje de error medio para este modelo fué del 9 %, en este caso nuestro modelo ARIMA(2,1,2) ha

logrado predecir con un 91 % de efectividad.

Figura 4.22: Valores reales y valores pronosticados del Bitcoin Cash.

En la figura 4.22 se muestran los 30 dias pronosticados del Bitcoin Cash, como podemos observar los valores

se ajustan bastante bien salvo al comienzo donde los precios reales presentan un salto importante. Veamos más

de cerca éstos 30 dias.

Page 64: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 58

Figura 4.23: Valores reales y valores pronosticados del Bitcoin Cash.

Note que los 3 primeros dias del pronóstico el modelo se ajusta muy bien, luego se presenta un salto

importante del 15 al 20 de febrero, para luego ajustarse casi perfectamente a los precios reales hasta los dias

finales del mes de prueba.

Veamos cuales fueron exactamente los precios reales y los precios pronosticados del Bitcoin Cash en la

siguiente tabla.

Page 65: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 59

Valor Real Valor Pronosticado

1217.64 1190.685

1283.91 1186.563

1231.98 1248.889

1362.27 1295.488

1375.81 1261.641

1552.20 1196.344

1551.39 1186.209

1487.46 1242.850

1534.77 1291.796

1418.73 1265.313

1308.46 1201.965

1219.49 1186.435

1270.71 1237.296

1193.27 1287.806

1178.10 1268.338

1250.56 1207.491

1246.66 1187.186

1204.16 1232.245

1291.92 1283.593

1275.18 1270.736

1270.38 1212.867

1289.08 1188.409

1268.03 1227.703

1206.04 1279.227

1092.16 1272.533

1040.21 1218.048

1067.02 1190.050

1005.93 1223.672

1145.17 1274.772

1051.28 1273.760

Cuadro 4.3: Tabla precios reales y precios pronosticados del Bitcoin Cash.

Page 66: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 60

Figura 4.24: Residuos de la función ARIMA del Bitcoin Cash.

En la Figura 4.24 se observa que los residuos del modelo ARIMA del Bitcoin Cash se ajustan a los cuantiles

de la Gaussiana entre -0.5 y 0.5.

Page 67: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 61

4.1.4. Predicciones del Ethereum

Observemos el comportamiento de la serie temporal del Ethereum, con observaciones desde mediados del

2015 hasta marzo del 2018.

Figura 4.25: Serie temporal del Ethereum.

En la gráfica anterior se muestran los precios del Ethereum desde agosto del 2015, con un total de 948

observaciones hemos encontrado que el valor mínimo del mismo fué $ 0.43 el 20-10-2015, tuvo un valor medio

de $ 161.21 y un valor máximo de $ 1396.42 alcanzado el 13-01-2018.

Ésta es una criptomoneda creada por Vitalik Buterin y lanzada el 30 de julio del 2015, Ethereum más que

una moneda es una plataforma de software libre, descentralizada que permite, principalmente, la creacion

de contratos inteligentes entre pares, la misma está basada en la tecnología Blockchain. Ethereum provee una

ficha de criptomoneda llamada ”Ether”, moneda sobre la cual vamos a realizar nuestro análisis.

Page 68: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 62

Procedemos de la misma manera, primero realizamos un suavizado logarítmico para hacer la serie más

estacionaria.

Figura 4.26: Suavizado logarítmico del Ethereum.

Como podemos observar en la figura 4.26, la serie aún no es estacionaria, en éste caso la prueba de Dickey-

Fuller nos arrojó un p− valor = 0,5588.

Aplicamos una diferenciación de los datos y probamos de nuevo la prueba de Dickey-Fuller, arrojandonos

ésta vez un p − valor = 0,01, por lo cual aceptamos la hipótesis alternativa, la serie es estacionaria. (Figura

4.27).

Figura 4.27: Serie estacionaria del Ethereum.

Page 69: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 63

Analizamos las funciones ACF y PACF del Litecoin, determinando los parámetros autoregresivos y de

promedio móvil.

Figura 4.28: ACF y PACF del Ethereum.

Los parámetros recomendados por las gráficas de las funciones ACF y PACF son p = 5 para el autorre-

gresivo y q = 0 para el de promedio móvil, de esta manera podemos afirmar que estamos en presencia de un

modelo ARIMA(5,1,0).

Para el conjunto de entrenamiento hemos utilizado 918 observaciones, dejando las 30 restantes para el

conjunto de prueba. Inicialmente probamos ajustar el modelo con la funcion ”auto.arima” la misma nos arrojó

Page 70: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 64

que el mejor modelo era un ARIMA(3,1,3) con ”drift”, es decir, con media distinta de cero, una diferencia

importante en cuanto a la lectura de los parámetros, sin embargo nos arrojaba un error medio del 15 %, lo

cual no nos resultó satisfactorio. Partiendo de esos mismos parámetros dados por la función ”auto.arima”, se

realizó el mismo proceso con los mismos parámetros pero usando sólo el comando ”arima”, el cual nos arrojó

un error medio en el pronóstico de 6 %, un resultado bastante favorable para lo que se buscaba.

Figura 4.29: Valores reales y valores pronosticados del Ethereum.

En la figura 4.29 se muestran los precios pronosticados muy cercanos a los precios reales, veamos más de

cerca éstos valores, este modelo tiene un 94 % de efectividad.

Page 71: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 65

Figura 4.30: Valores reales y valores pronosticados del Ethereum.

Como puede observarse en la figura 4.30 los precios pronosticados se ajustan bastante bien a los precios

reales salvo los dias 17 al 19 de febrero y del 7 al 11 de marzo. Podemos decir que nuestro modelo ARIMA(3,1,3)

se ajusta en un 94 % aproximadamente a los precios del Ethereum.

Veamos los valores exactos del precio real y precio pronosticado del Ethereum en la siguiente tabla.

Page 72: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 66

Valor Real Valor Pronosticado

860.42 886.8058

814.66 880.0577

868.71 867.1817

845.26 855.8570

923.56 851.3107

936.98 855.8631

944.21 866.3879

974.12 877.4910

923.92 882.9963

943.87 880.4728

895.37 871.4994

849.97 861.3854

812.85 855.2709

864.19 856.1809

840.52 863.1572

844.81 872.4274

869.32 878.9337

878.27 879.4355

855.20 873.9089

872.20 865.6895

856.85 859.1680

857.23 857.6456

866.68 861.5844

853.68 868.7227

816.95 875.1593

752.83 877.5614

704.60 874.8355

728.92 868.7309

686.89 862.6235

723.34 859.6912

Cuadro 4.4: Tabla precios reales y precios pronosticados.

Page 73: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 67

Figura 4.31: Residuos de la función ARIMA del Ethereum.

En la Figura 4.31 se observan como los residuos del modelo ARIMA del Ethereum se ajustan a los cuantiles

de la Gaussiana entre -1.2 y 1.2.

Page 74: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 68

4.1.5. Predicciones del Ripple

Por último tenemos el Ripple, del cual tenemos datos desde agosto del 2013, observemos su serie temporal

con observaciones hasta marzo del 2018.

Figura 4.32: Serie temporal del Ripple.

Como podemos observar, el comportamiento del Ripple desde el año 2013 hasta finales del 2016 no es el

mismo que a partir del año 2017, su valor mínimo fué de $ 0.002810, con un valor medio de $ 0.1055 y con un

máximo de $ 3.38, tuvo un incremento muy importante en el último año.

Una característica particular de éste criptoactivo es que es la única moneda en éste estudio la cual es no mi-

nable, sin embargo es una criptomoneda descentralizada, la red Ripple es un servicio de red social distribuido

basado en el honor y en la confianza entre las personas existentes en las redes sociales del mundo real.

Para nuestro análisis es importante remarcar que, como en el caso del Bitcoin, ésta criptomoneda muestra

un comportamiento diferente antes del 2017 y después del mismo año, por lo tanto utilizaremos una metodo-

logía similar a la del Bitcoin, quedandonos solamente con los datos del 2017 en adelante.

En el caso particular del Ripple, la metodología es un poco distinta, pues es la criptomoneda de menor

valor, precios incluso por debajo de cero, éstos no pueden ser tratados de la misma manera, por ejemplo, en

Page 75: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 69

los casos anteriores hicimos suavizados logarítmicos sin problemas, dado que los precios de las monedas eran

bastante mayores a 1, en éste caso no tendría mucho sentido tomar el logarítmo de un valor por debajo de 1.

Así que aplicamos un suavizado de promedio móvil para transformar la serie en una serie estacionaria.

Utilizamos un promedio móvil de la forma,

vt =13(wt−1 + wt + wt+1), (4.2)

para suavizar la serie.

Figura 4.33: Suavizado de promedio móvil del Ripple.

Aunque los valores ya están suavizados se puede apreciar que la gráfica de la serie aún no es estacionaria,

sin embargo, la prueba de Dickey-Fuller nos arrojó un p− valor = 0,01.

Page 76: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 70

Aún así, aplicamos una diferenciación de los datos, para hacer la serie lo más estacionaria posible, proba-

mos de nuevo con Dickey-Fuller y como era de esperarse obtuvimos un p− valor = 0,01, por lo cual acetamos

la hipótesis alternativa, la serie es estacionaria (Figura 4.34).

Figura 4.34: Serie estacionaria del Ripple.

Recordemos que para los modelos ARIMA de series de tiempo, la serie debe ser estacionaria, por lo que si

no lo es, entonces debemos hacer las transformaciones necesarias para ello.

Para la realización de éste pronóstico se creó un nuevo conjunto de datos con las observaciones del 2017 en

adelante ya suavizadas por promedio móvil y con un total de 428 observaciones.

Para realizar el pronóstico respectivo, inicialmente utilizamos la función ”auto.arima”, la cual coincidió con

nuestra lectura de las gráficas de las mostradas anteriormente (Figura 4.35).

Page 77: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 71

Analizamos las funciones ACF y PACF del Ripple, para determinar los parámetros autoregresivos y de

promedio móvil.

Figura 4.35: ACF y PACF del Ripple.

Como se muestra en las gráficas, los parámetros sugeridos para nuestro modelo ARIMA son, p = 4 para el

parámetro autoregresivo y q = 1 para el de promedio móvil.

Page 78: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 72

Éste modelo ARIMA nos arrojó un error medio del 8 %, sin embargo tratamos de mejorarlo haciendo variar

los parámetros, sin mejores resultados, lo cual nos indica que la función ”auto.arima” en éste caso nos arrojó

los mejores resultados.

Figura 4.36: Valores reales y valores pronosticados del Ripple.

Veamos más de cerca los resultados obtenidos en la Figura 4.36.

Page 79: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 73

Figura 4.37: Valores reales y valores pronosticados del Ripple.

Como se puede apreciar en la Figura 4.37 los valores reales presentan un alza importante de los dias 10 al

21 de febrero, de allí hasta el 5 de marzo los precios pronosticados se ajustaron bastante cercanos a los precios

reales.

Veamos específicamente cuáles fueron éstos valores en la siguiente tabla.

Page 80: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 74

Valor Real Valor Pronosticado

0.7306957 0.9549129

0.7685170 0.9495491

0.8278620 0.9477565

0.9432303 0.9525701

1.0081427 0.9555988

1.0500000 0.9574350

1.0366667 0.9559269

1.0833333 0.9550980

1.1066667 0.9544231

1.1433333 0.9552974

1.1633333 0.9557900

1.1533333 0.9563200

1.1533333 0.9560630

1.1166667 0.9559771

1.0833333 0.9557796

1.0172627 0.9559504

0.9868810 0.9560125

0.9650150 0.9561530

0.9655813 0.9561035

0.9515827 0.9561095

0.9492170 0.9560561

0.9362490 0.9560937

0.9267450 0.9560956

0.9143580 0.9561318

0.9154317 0.9561201

0.9426493 0.9561277

0.9590573 0.9561136

0.9640850 0.9561230

Cuadro 4.5: Tabla precios reales y precios pronosticados del Ripple.

Page 81: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 75

Figura 4.38: Residuos de la función ARIMA del Ripple.

En la Figura 4.35 se observa que los residuos del modelo ARIMA aplicado al Ripple, se ajustan a los cuan-

tiles de la Gaussiana entre -1.5 y 1.5.

Page 82: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 76

4.2. Análisis de reglas de asociación

Para darle forma a éste análisis tuvimos que hacer algunas modificaciones a los datos obtenidos en la sec-

ción anterior, dado que los algoritmos de reglas de asociación no fueron diseñados para estudiar datos numé-

ricos, sin embargo creamos una función determinista para poder asociar correctamente el comportamiento de

las diferentes criptomonedas. Recordemos que nuestros datos en la figura 4.2 eran solamente datos de fechas

y precio de cierre (Close).

Nuestro nuevo conjunto de datos es muy similar sólo que con las fechas y todos los precios de cierre de las

diferentes criptomonedas.

Figura 4.39: Precios de las diferentes criptomonedas.

A éste conjunto de datos (Figura 4.39) lo transformamos en una matriz de ”ceros” y ”unos”, a través de una

función indicadora, dada de la siguiente manera:

Page 83: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 77

F(x) =

BTC_Close(i + 1) = 1, si BTC_Close(i + 1) ≥ BTC_Close(i)

BTC_Close(i + 1) = 0, si BTC_Close(i + 1) ≤ BTC_Close(i).(4.3)

Aplicando la función (4.3) a la matriz de Figura 4.39, obtenemos la matriz de transacciones siguiente:

Figura 4.40: Matriz de transacciones .

La matriz de transacciones consta de 226 observaciones, dado que el Bitcoin Cash tiene solamente 233, las

cuales describen bastante bien lo ocurrido en las fechas de mayor volatilidad del mercado de criptoactivos,

registrado desde mediados del 2017 hasta marzo del 2018. La intención de cambiar nuestros datos numéricos

a factores del tipo ”ceros y unos” es lograr identificar cuando el valor de una criptomoneda sube o baja, de

manera que si el precio del Bitcoin, por ejemplo, subió, entonces colocamos un 1, por el contrario, si el precio

bajó colocamos un cero. Y así con todos los precios de las distintas criptomonedas a estudiar, para que el

algoritmo Apriori, pueda establecer las reglas de asociación entre ellas.

Page 84: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 78

En éste punto podemos aplicar el algoritmo Apriori a nuestra matriz de transacciones, para así extraer las

reglas de asociación de las criptomonedas a estudiar.

La aplicación de éste algoritmo, con 226 observaciones, nos arrojó un total de 64 reglas, veamos cuáles son

las más resaltantes de ellas:

1. ETH=0⇒ XRP=0, con un 80 % de confianza y 37 % de soporte, es decir, que el Ethereum baja, entonces

el Ripple baja.

2. XRP=1 ⇒ ETH=1 con un 80 % de confianza y 38 % de soporte, ésta es el contrarrecíproco de la regla

anterior.

3. LTC=1⇒ ETH=1 con un 80 % de confianza y un 40 % de soporte, es decir, el Litecoin sube, entonces el

Ethereum también.

4. BTC=0,ETH=0⇒ LTC=0 con un 89 % de confianza y un soporte del 26 %, es decir, cuando el Bitcoin y el

Ethereum bajan, entonces el Litecoin baja.

5. BTC=0,LTC=0⇒ ETH=0 con un 84 % de confianza y un 26 % de soporte, esto es, Bitcoin y Litecoin bajan

entonces Ethereum baja.

6. LTC=1,BCH=1 ⇒ BTC=1 con un 83 % de confianza y un 27 % de soporte, esto es, si Litecoin y Bitcoin

Cash suben, entonces el Bitcoin sube.

7. ETH=1,BCH=1⇒ BTC=1 con un 82 % de confianza y un 28 % de soporte, es decir, que cuando Ethereum

y Bitcoin Cash suben, el Bitcoin sube.

8. BTC=0,ETH=0,LTC=0⇒ XRP=0 con un 88 % de confianza y un 23 % de soporte, esto nos dice que, cuando

el Bitcoin, el Ethereum y el Litecoin bajan, entonces el Ripple Baja.

9. BTC=0,ETH=0,XRP=0⇒ LTC=0 con un 92 % de confianza y con un 23 % de soporte, esto es, que cuando

el Bitcoin, el Ethereum y el Ripple bajan, entonces el Litecoin baja.

10. BTC=0,ETH=0,BCH=0,XRP=0⇒ LTC=0 con un 95 % de confianza y un 18 % de soporte, quiere decir que,

cuando el Bitcoin, el Ethereum, el Bitcoin Cash y el Ripple bajan, entonces el Litecoin baja.

Éstas fueron las reglas de asociación con mayor confianza y soporte encontradas entre las 64 reglas arroja-

das por el algoritmo Apriori.

Page 85: Modelos de análisis de criptomonedas basado en aprendizaje

Capítulo 4. Análisis de Resultados 79

Figura 4.41: Gráfica de reglas de asociación .

Page 86: Modelos de análisis de criptomonedas basado en aprendizaje

Capıtulo 5Conclusiones y Recomendaciones

En este trabajo se logró exitosamente desarrollar un modelo de análisis de criptomonedas, tal como lo

demostraron los resultados del capítulo anteior, en el cual se demuestra que los modelos ARIMA son altamente

efectivos para la predicción de precios y tendencia de las mismas.

En cuanto a los análisis de series de tiempo, los pronósticos más efectivos fueron para el Bitcoin y el Et-

hereum con un 94 % de efectividad, sin embargo en todos los casos se alcanzó más del 90 % de efectividad en

la predicción. En el caso del Bitcoin, la moneda más importante del mercado en cuanto a la capitalización, es

también la criptomoneda más sensible al comportamiento humano, anuncios, noticias o divulgaciones afec-

tan positiva o negativamente la confianza de los inversionistas, comerciantes o tenedores de criptomonedas,

haciendola así en una de las más volátiles. En el caso del Ripple, la moneda más estable de nuestro trabajo,

resultó que su predicción fue la más constante de todas y sin embargo nos arrojó un 8 % de error.

Un caso en particular llamó nuestra atención, el Bitcoin Cash, es la moneda más joven del mercado en este

estudio, con tan sólo 233 observaciones y aún así el modelo ARIMA se ajustó bastante bien a los precios reales

del mismo, arrojandonos una predición bastante cercana a los precios reales, con tan sólo un 9 % de error.

Por otra parte, el análisis de las reglas de asociación nos mostró un total de 64 reglas, de las cuales ya mos-

tramos las 10 más importantes, en cuanto a la confianza y soporte, pero de allí podemos concluir que la regla

más importante de todas fué la que no arrojó el modelo, y es que ninguna criptomoneda afecta directamente

al Bitcoin, por lo que cualquier variación de precio observada a alguna moneda en particular, no afecta de

manera directa al Bitcoin. Sin embargo el Bitcoin si afecta de manerda directa a las demás criptomonedas.

Un comportamiento en particular a destacar, es que no existen reglas que impliquen el crecimiento de

alguna criptomoneda dado por la caida de precio de otra criptomoneda, o viceversa, con lo que podemos

80

Page 87: Modelos de análisis de criptomonedas basado en aprendizaje

Conclusiones 81

concluir que el precio de las criptomonedas estudiadas suben conjuntamente o bajan conjuntamente.

Las dos monedas más relacionadas en este estudio resultaron ser el Ethereum y el Ripple dado que cuando

el Ripple sube, el Ethereum también y cuando el Ethereum baja, el Ripple también. A su vez cabe destacar que

cuando estas dos criptomonedas bajan conjuntamente el Litecoin también lo hace y eso ocurre con un 84 % de

confianza y un soporte del 31 %.

Finalmente, este estudio nos muestra que es posible predecir con altos niveles de exactitud el comporta-

miento futuro del precio de las criptomonedas, mediante el uso de estos modelos de análisis, así como también,

medir cuan correlacionadas estan éstas, facilitando así la toma de desiciones de inversión en las distintas crip-

tomonedas.

Los análisis realizados es este proyecto, son recomendables para todo aquel inversionista, comerciante o

minador de criptomonedas, dado que con la ayuda de esta herramienta podrían determinar cuál es el mejor

momento para comprar o vender sus criptoactivos, cuándo predecir una caída o un alza en de precio, además

de chequear el comportamiento de otras criptomonedas que puedan afectar de manera positiva o negativa sus

inversiones, lo cual resulta fundamental para optimizar sus ganancias. Recomendamos tener una cartera de

inversión diversificada donde pueda manejar principalmente Bitcoins, Ether y Bitcoin Cash, dado que son las

criptomonedas que logramos ajustar con mayor efectividad.

Page 88: Modelos de análisis de criptomonedas basado en aprendizaje

Apendice ACódigos Utilizados y Funciones

Para la realización de este trabajo fueron implementados los siguientes códigos en el software estadístico

R, en su versión 3.4.1 de R-Studio.

Los códigos para el ajuste de series de tiempo para la criptomoneda Ethereum son:

# Predicc iones ETHEREUM

# E s t a b l e c e r d i r e c t o r i o de t r a b a j o

getwd ( )

setwd ( "C:/ Users/migue/Desktop/DATA Cleaned TESIS " )

# Cargar l a s l i b r e r i a s

l i b r a r y ( " ggplot2 " )

l i b r a r y ( " t s e r i e s " )

l i b r a r y ( " f o r e c a s t " )

l i b r a r y ( " p l o t l y " )

l i b r a r y ( " dplyr " )

82

Page 89: Modelos de análisis de criptomonedas basado en aprendizaje

ApéndiceA. Códigos Utilizados y Funciones 83

# Leer data del ETHEREUM

ETH <− read . csv ( "C:/ Users/migue/Desktop/DATA Cleaned TESIS/ETH. csv " )

View (ETH)

# s i Aparece una columna "X" en e l data frame , a p l i c a r es to

t t <− match ( " X" , names (ETH) )

ETH <− ETH[ ,− ( t t ) ]

View (ETH)

c l a s s ( ETH$Close )

c l a s s ( ETH$Date )

ETH$Date <− as . Date ( ETH$Date )

# Mostrar l a g r á f i c a del ETHEREUM desde 2013

p l o t _ l y (ETH, x = ~Date , y = ~Close , type = " s c a t t e r " , mode = " l i n e s " )

summary (ETH)

# Claramente se puede observar que l a s e r i e NO es e s t a c i o n a r i a

# Convertimos l a s e r i e de tiempo en una e s t a c i o n a r i a , ap l i candole e l Logaritmo

#Veamos de cerca l o s va lores del ETH

ETH

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales

Page 90: Modelos de análisis de criptomonedas basado en aprendizaje

ApéndiceA. Códigos Utilizados y Funciones 84

lnETH= log ( ETH$Close [ 1 : 9 1 8 ] ) # observemos como cambian l o s datos

lnETH

#comprobemos l a e s t a c i o n a r i d a d de l a s e r i e , usando ADF−Test

adf . t e s t ( lnETH )

#La s e r i e aun no es e s t a c i o n a r i a pues p−value > 0 . 0 5

#veamos l a s e r i e de tiempo del logari tmo de ETH

ts_lnETH <− t s ( lnETH , frequency = 365)

p l o t ( ts_lnETH )

#Aun podemos hacer c o n v e r t i r l a s e r i e en una mas e s t a c i o n a r i a apl i candole d i f f

diff_lnETH = d i f f ( lnETH , 1 )

diff_lnETH

#Aplicamos e l t e s t de Dickey−F u l l e r

adf . t e s t ( diff_lnETH )

#Note que p−value es 0 . 0 1 < 0 . 0 5 , con lo cual l a s e r i e es integrada de grado 1 I ( 1 )

#Veamos l a s e r i e

ts_dif f_ lnETH <− t s ( diff_lnETH )

p l o t ( ts_dif f_ lnETH )

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales

Page 91: Modelos de análisis de criptomonedas basado en aprendizaje

ApéndiceA. Códigos Utilizados y Funciones 85

# ahora calculamos l a s funciones ACF y PACF

a c f ( diff_lnETH , lag . max = 30) #ACF nos i n d i c a que e l orden de MA = 0

pacf ( diff_lnETH , lag . max = 30) #PACF nos i n di c a que e l orden de AR = 5

# Ajuste del modelo ARIMA

arimaETH <− t s ( lnETH , s t a r t = 2013 , frequency = 365)

fitarimaETH <− arima ( arimaETH , order = c ( 3 , 1 , 3 ) ) # e l mejor c ( 3 , 1 , 3 ) ( 9 4 % )

# fitarimaETH<−auto . arima ( arimaETH )

fitarimaETH

p l o t ( arimaBTC , type = ’ l ’ )

t i t l e ( ’ETH precio ’ )

exp ( lnETH )

# Pronos t i cos con ARIMA

forecastedvalues_ln_ETH= f o r e c a s t ( fitarimaETH , h=30)

forecastedvalues_ln_ETH

p l o t ( forecastedvalues_ln_ETH )

# Valores Pronost icados

valores_pronosticados_ETH=as . numeric ( forecastedvalues_ln_ETH$mean )

valores_f inales_ETH=exp ( valores_pronosticados_ETH )

valores_f inales_ETH

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales

Page 92: Modelos de análisis de criptomonedas basado en aprendizaje

ApéndiceA. Códigos Utilizados y Funciones 86

# P o r c e n t a j e de Error

df_ETH<−data . frame ( ETH$Close [ 9 1 9 : 9 4 8 ] , valores_f inales_ETH )

col_headings <−c ( " Valor Real " , " Valor Pronost icado " )

names ( df_ETH)<−col_headings

a t t a c h ( df_ETH )

percentage_error_ETH = ( ( abs ( df_ETH$ ‘ Valor Real ‘−df_ETH$ ‘ Valor Pronosticado ‘ ) )

/(df_ETH$ ‘ Valor Real ‘ ) )

percentage_error_ETH

mean( percentage_error_ETH )

#Veamos l o s Valores r e a l e s y pronost icados

#View ( df_ETH )

df_ETH

# Midamos l o s e r r o r e s del modelo

#ME: Error Medio

#RMSE: Raiz del Error Cuadratico Medio

#MPE: P o r c e n t a j e del Error Medio

#MAE: Error Absoluto Medio

#MAPE: P o r c e n t a j e del Error Absoluto Medio

#MASE: Error Escalado Absoluto Medio

#ACF1 : Autocorre lac ion de Errores en lag 1

accuracy ( fitarimaETH )

accuracy ( ETH$Close [ 9 1 9 : 9 4 8 ] , valores_f inales_ETH )

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales

Page 93: Modelos de análisis de criptomonedas basado en aprendizaje

ApéndiceA. Códigos Utilizados y Funciones 87

qqnorm ( f i tar imaETH$res iduals )

a b l i n e ( h=0)

#veamos l o s va lores r e a l e s y l o s pronost icados

p l o t _ l y (ETH, x = ETH$Date [1 : 9 4 8 ] , y = ETH$Close [ 1 : 9 4 8 ] , type = ’ s c a t t e r ’ ,

mode = ’ l i n e s ’ ) %> %

add_trace ( df , x = ETH$Date [ 9 1 9 : 9 4 8 ] , y = df_ETH$ ‘ Valor Pronosticado ‘

, type = ’ s c a t t e r ’ ,

mode = ’ l i n e s ’ )

Estos mismos códigos fueron aplicados a las demás criptomonedas, de manera que solo cambian en las

siglas de las monedas correspondientes.

Los códigos para el análisis del algoritmo Apriori en R son los siguientes:

# Creacion data . frame Aprior i

l i b r a r y ( a r u l e s )

l i b r a r y ( arulesViz )

ETH$Date <− as . Date ( ETH$Date )

XRP$Date <− as . Date ( XRP$Date )

LTC$Date <− as . Date ( LTC$Date )

BTC$Date <− as . Date ( BTC$Date )

BCH$Date <− as . Date ( BCH$Date )

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales

Page 94: Modelos de análisis de criptomonedas basado en aprendizaje

ApéndiceA. Códigos Utilizados y Funciones 88

min ( BTC$Date )

min ( ETH$Date )

min ( LTC$Date )

min ( XRP$Date )

min ( BCH$Date )

max( BTC$Date )

max( ETH$Date )

max( LTC$Date )

max( XRP$Date )

max( BCH$Date )

#max( BCH_ap$Close )

BTC_ap <− BTC[ BTC$Date >= min ( BCH$Date ) & BTC$Date <= max( XRP$Date ) , ]

ETH_ap <− ETH[ ETH$Date >= min ( BCH$Date ) & ETH$Date <= max( XRP$Date ) , ]

LTC_ap <− LTC[ LTC$Date >= min ( BCH$Date ) & LTC$Date <= max( XRP$Date ) , ]

BCH_ap <− BCH[ BCH$Date >= min ( BCH$Date ) & BCH$Date <= max( XRP$Date ) , ]

XRP_ap <− XRP[ XRP$Date >= min ( BCH$Date ) & XRP$Date <= max( XRP$Date ) , ]

df_ap <− data . frame ( BTC_ap$Date , BTC_ap$Close , ETH_ap$Close ,

LTC_ap$Close , BCH_ap$Close , XRP_ap$Close )

View ( df_ap )

wri te . csv ( df_ap , f i l e = " df_ap . csv " )

# Transformar l a data en " ceros y unos "

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales

Page 95: Modelos de análisis de criptomonedas basado en aprendizaje

ApéndiceA. Códigos Utilizados y Funciones 89

dd <− data . frame (BTC = numeric ( ) , ETH = numeric ( ) , LTC = numeric ( ) , BCH = numeric ( ) ,

XRP = numeric ( ) )

f o r ( i in 2 : nrow ( df_ap ) )

f o r ( j in 2 : 6 )

dd [ i −1, j −1] <− i f e l s e ( df_ap [ i , j ] >= df_ap [ i −1, j ] , 1 , 0 )

dd$BTC <− as . f a c t o r (dd$BTC )

dd$ETH <− as . f a c t o r (dd$ETH)

dd$LTC <− as . f a c t o r (dd$LTC )

dd$BCH <− as . f a c t o r (dd$BCH)

dd$XRP <− as . f a c t o r (dd$XRP)

app <− a p r i o r i ( dd )

summary ( app )

i n s p e c t ( app )

p l o t ( app )

p l o t ( app , method = " grouped " , c o n t r o l = l i s t ( k = 5 ) )

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales

Page 96: Modelos de análisis de criptomonedas basado en aprendizaje

Bibliografía

[1] Brockwell, P.J., & Davis, R.A., (1996).Introduction to Time Series and Forecasting Springer-Verlag, New York

Inc, New York.

[2] Don Tapscott. (2016) La revolución blockchain. Deusto.

[3] David L. Olson. & Durson Delen (2008) Advanced Data Mining Techniques. Springer-Verlag. Berlin Heidel-

berg.

[4] Gupta, M. (2017). Blockchain for dummies. John Wiley and Sons, Inc.

[5] Hastie T., Tibshirani R. & Friedman J. (2009) The Elements of Statistical Learning. Second edition. Springer.

[6] Ordinas, M. (2017) Las criptomonedas: Oportunidad o Burbújas? . Informe mensual de estratégias de Banca-

March.

[7] Sanchez Gil A. & Terán Varela, O. (2018) Criptomonedas como oportunidad de negocio de empresas del Sector

Turístico en la Zona Sur Oriente Del estado de México. Revista global de negocios v.6 (1), pp 93-104.

[8] Ruey S. Tsay (2002). Analysis of Financial Time Series, John Wiley & sons, Inc.

[9] Monsalve A. y Harmath P. (2015) Introducción al análisis de series de tiempo con aplicaciones a la econometría y

finanzas. XXVIII Escuela Venezolana de Matemáticas EMALCA - Venezuela 2015.

[10] Colonescu C. (2016) Principles of Econometrics with R.

[11] Charu C. Aggarwal (1998). Data Mining: The Textbook. Springer, New York.

90

Page 97: Modelos de análisis de criptomonedas basado en aprendizaje

BIBLIOGRAFÍA 91

[12] Shumway, R.H & Stoffer, D.S. (2006). Time Series Analysis and Its Applications with R examples, 2nd edition.

Springer.

[13] Brockwell, P.J., & Davis, R.A., (2006). Time Series: Theory and Methods., 2nd edition. Springer-Verlag, New

York Inc, New York.

[14] Hernández José B. y Colina Mairene. Características de las Series de Tiempo.

[15] Hernández José B. y Colina Mairene. Modelos ARMA.

Modelos de análisis de criptomonedas basado en aprendizaje automático y series temporales