predicción de valores de bolsa mediante minería de datos para

Anuncio
TRABAJO FIN DE GRADO
PREDICCIÓN DE VALORES DE BOLSA MEDIANTE
MINERÍA DE DATOS PARA MERCADO DE ALTA
FRECUENCIA
AUTOR ISABEL VEGAS VILLALMANZO
TUTOR
JOAQUÍN ORDIERES MERÉ
SEPTIEMBRE 2016
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
1. RESUMEN
En los mercados bursátiles de alta frecuencia se opera a través del High Frecuency
Trading (HFT). Este se caracteriza por el uso de ordenadores que aplican algoritmos
informáticos que analizan e interpretan las señales y condiciones del mercado a gran
velocidad; y, en respuesta a las mismas, introducen órdenes de compra y venta en el
mercado de manera automática en un período de tiempo muy corto. El HFT se basa
entonces, en el uso de una tecnología avanzada para llevar a cabo estrategias de
negociación tradicionales, como por ejemplo la creación de mercado o el arbitraje. En
las cuales, se obtiene por cada transacción un estrecho margen de beneficio en un
pequeño periodo de tiempo, por lo que se realizan millones de operaciones diarias que
generan un gran volumen de beneficios por acumulación.
La velocidad de procesamiento de estas operaciones actualmente ronda los
milisegundos. Por lo tanto, para ser considerado un High Frecuency Trader se debe
emplear tecnología con muy baja latencia (tiempo que pasa desde que se trasmite la
orden hasta que esta se ejecuta), una conexión de alta velocidad y bajo retardo al
mercado para la introducción de órdenes, y un alta tasa de envío de órdenes y
cancelación de las mismas.
Una de las principales estrategias competitivas de los High Frecuency Traders es la
disminución de la distancia entre el servidor de la plataforma de negociación y el suyo
propio. Así, se reduce el tiempo de conexión, con lo que se puede operar con mayor
agilidad y rapidez al reducir la latencia de las órdenes hasta tiempos de respuesta
menores de una centésima de milisegundo. Para conseguir esto, hay que utilizar los
servicios de co-location que ofrecen las propias bolsas, permitiendo colocar el servidor
del trader a poca distancia del propio servidor de la bolsa. Esta ventaja competitiva clave
en HFT es empleada actualmente por todos los agentes que participan en el mercado.
Por lo que no constituye una ventaja real, sino que es un requerimiento básico para
poder actuar en él.
Al no poder mejorar la tecnología de la conexión ni colocar los servidores más próximos,
no se puede disminuir la latencia por estos métodos. La única manera entonces de
conseguir una ventaja competitiva será mejorando los algoritmos informáticos que
analizan e interpretan las señales del mercado, y tratando así de predecir cómo va a
evolucionar este para poder posicionarte antes que tus competidores.
Para lograrlo, se va a emplear la minería de datos, que consiste en el estudio y
tratamiento de datos masivos para extraer conclusiones e información relevante.
Mediante estos procedimientos, se analizaran los datos históricos intradía de diferentes
valores bursátiles para encontrar los patrones de comportamiento y las relaciones entre
ellos que se producen a lo largo del tiempo. Y así, desarrollar un modelo de predicción
que sea capaz de estimar a unos pocos minutos los precios de estos valores.
1
Isabel Vegas Villalmanzo
1. Resumen
La primera fase del proceso de minería de datos consiste en la preparación de los datos
para mejorar la calidad del conjunto de datos, y poder elaborar un modelo que genere
mayor y mejor información. Los datos de los que partimos son series temporales de
precios intradía de diferentes valores de la bolsa de Madrid, a lo largo de un mes. En
nuestro caso se han empleado las siguientes técnicas de preparación de datos:
homogeneización de formato, transformación a una base de tiempo común,
homogeneización e interpolación de la serie temporal, y eliminación de los 5 minutos
iniciales y finales de la serie temporal, ya que no muestran la evolución propia del
mercado.
A continuación, se exploran los datos previamente preparados para determinar si la
información que nos proporcionan, a priori, sirve a nuestro propósito que es elaborar
un modelo de predicción de precios de valores bursátiles. Para ello, primero trataremos
de conocer más a fondo los distintos valores de los que disponemos, calculando con el
programa estadístico R diferentes indicadores técnicos con el fin de ver la evolución a lo
largo del tiempo de los precios de las distintas cotizaciones de las que disponemos.
Posteriormente, se realizará un estudio de las correlaciones entre los distintos valores
bursátiles, con el fin de analizar si existen relaciones entre ellos, mediante la correlación
lineal de Pearson.
En este estudio de las correlaciones, se realizan 5 experimentos distintos. En cada uno
de ellos se ha escogido una muestra de un día de actividad bursátil, de forma que cada
experimento sea lo más aleatorio posible; y así, tener una idea general de las relaciones
que hay entre los valores a lo largo del mes. Como resultado de este estudio, podemos
afirmar que existe una relación lineal, en mayor o menor medida, entre los distintos
valores bursátiles. Además, la correlación entre ellos puede mejorar al mover hacia
delante o hacia atrás en el tiempo (lag positivo o negativo) la serie temporal de precios
de un valor respecto al otro. De esta forma, un valor podría ser predictor adelantado del
valor que se quiere estimar, pudiendo ser esta relación útil a la hora de elaborar el
modelo de predicción.
Ya conociendo más a fondo los datos que vamos a utilizar, podemos pasar a la
elaboración del modelo. Un modelo de minería de datos consiste en el análisis de una
estructura de datos, mediante el uso de un determinado algoritmo, para extraer
patrones y reglas que, a su vez, pueden aplicarse a otros datos para obtener
información. Para lograr el mejor modelo de predicción vamos a analizar diferentes
casos: variando el número de valores a predecir en el tiempo, el algoritmo usado, o el
tamaño de la estructura de datos a entrenar.
Se realizarán 4 modelos de predicción distintos. El modelo inicial (modelo 0) tratará de
predecir el precio del valor 107, mientras el resto añadirán a este modelo inicial el
concepto de correlación estudiado anteriormente para intentar conseguir un mejor
modelo de predicción. El modelo 1 cuenta con la correlación con el IBEX, el modelo 2
con el 233, y el modelo 3 con la correlación con ambas.
2
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
La estructura de los distintos modelos tendrá como base la del modelo inicial, que consta
de una matriz X compuesta por diversos indicadores técnicos y los valores de precio del
valor a predecir (107) anteriores. Y también, del vector de precios a estimar Y desplazado
hacia delante z minutos según tratemos de predecir a 5, 10, 15 ó 20 minutos. Además,
para cada uno de estos modelos iniciales de predicción a 5, 10, 15 y 20 minutos, se
tomarán muestras de 30, 60, 90, 120 y 180 minutos empezando todas ellas en el mismo
momento, con valores de minuto en minuto. El resto de los modelos añadirá
respectivamente en la matriz X, la columna de precios del valor o valores
correlacionados adelantados en mayor o menor medida. Todas estas opciones de
estructura de datos se evaluarán con los siguientes algoritmos: lineal, máquina de
vectores de soporte y random forest.
Después de elaborar los modelos de minería de datos para cada uno de los casos
anteriores, hay que comprobar su validez y eficacia para ver si son precisos y confiables.
Se ha establecido un criterio general de validación. Consiste en el reprocesamiento del
modelo con una muestra de los 10 minutos siguientes de valores de X de cada estructura
de datos, obteniéndose un vector de precios estimados. Como los datos usados son
datos históricos, conocemos también el vector de precios reales y, por lo tanto, seremos
capaces de calcular el error existente entre los valores predichos y los reales. Este error
se calcula mediante la raíz del error cuadrático medio (RMSE), ampliamente usado en
machine learning. El cálculo del error tendrá una doble función: validación del modelo,
y criterio de selección del mejor modelo de predicción (a menor error, mejor predicción).
Una vez se han elaborado y validado todos los casos de modelos de minería de datos
previamente descritos, se analizan los resultados conseguidos. Algunas de las
conclusiones obtenidas son:
-
-
El error obtenido es manejable desde un punto de vista operativo, situándose en
torno a 0.002-0.04, equivalente al 0.03-0.6%.
Los modelos no lineales ofrecen mejores resultados que los lineales. Siendo
significativamente menor el error de predicción al emplear el algoritmo no lineal
random forest en todos los casos.
En general, los modelos muestran limitaciones a la hora de predecir un cambio
abrupto de tendencia, aumentando el error en estos casos.
Los modelos de predicción a 5 minutos estiman notablemente mejor estos
cambios de tendencia que los que son a más tiempo (10, 15 y 20 minutos).
Es conveniente emplear modelos que incluyan los precios de un valor
correlacionado con el que se quiere estimar, ya que mejoran el modelo en mayor
o menor medida. Además, pueden ayudar a predecir mejor los cambios bruscos
de tendencia.
3
Isabel Vegas Villalmanzo
2. Índice
2. ÍNDICE
1. Resumen .................................................................................................................................... 1
2. Índice ......................................................................................................................................... 4
3. Introducción .............................................................................................................................. 5
4. Objetivos ................................................................................................................................... 7
5. Metodología .............................................................................................................................. 8
5.1. Definición del problema ..................................................................................................... 9
5.2. Preparación de los datos .................................................................................................. 10
5.3. Exploración de los datos................................................................................................... 11
5.4. Generar modelos.............................................................................................................. 12
5.5. Explotación y validación de los modelos .......................................................................... 13
5.6. Implementar y actualizar los modelos ............................................................................. 13
6. Resultados y discusión ............................................................................................................ 14
6.1. Definición del problema ................................................................................................... 14
6.2. Preparación de los datos .................................................................................................. 14
6.3. Exploración de los datos................................................................................................... 17
6.4. Generación de modelos ................................................................................................... 61
6.5 Validación de los modelos................................................................................................. 67
7. Conclusiones............................................................................................................................ 69
8. Líneas futuras .......................................................................................................................... 76
9. Bibliografía .............................................................................................................................. 77
10. Planificación temporal y presupuesto................................................................................... 81
11. Índice de figuras .................................................................................................................... 84
4
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
3. INTRODUCCIÓN
El High Frecuency Trading (HFT), también conocido como Low Latency Trading es un
subconjunto del Algorithmic Trading caracterizado por el uso de ordenadores que
aplican algoritmos informáticos que analizan e interpretan las señales y condiciones del
mercado a gran velocidad y, en respuesta a las mismas, introducen órdenes de compra
y venta en el mercado de manera automática en un período de tiempo muy corto. Esta
velocidad de procesamiento actualmente ronda los milisegundos. Por lo tanto, para ser
considerado un High Frecuency Trader debe emplear tecnología con muy baja latencia
(tiempo que pasa desde que se trasmite la orden hasta que esta se ejecuta), una
conexión de alta velocidad y bajo retardo al mercado para la introducción de órdenes y
un alta tasa de envío de órdenes y cancelación de las mismas. [1], [2]
De esta forma, el HFT se basa en la utilización de una tecnología avanzada para llevar a
cabo estrategias de negociación tradicionales. Principalmente, se centra en aquellas que
tienen como objetivo aprovechar oportunidades de inversión en un breve plazo de
tiempo, como por ejemplo la creación de mercado o el arbitraje. En ambas, se obtiene
por cada transacción un estrecho margen de beneficio en un pequeño periodo de
tiempo, por lo que se realizan millones de operaciones diarias que generan un gran
volumen de beneficios por acumulación. [1] Así, la introducción de órdenes con una baja
latencia y la alta velocidad de conexión son aspectos fundamentales en el HFT.
Desde que en 1998 la Securities and Exchange Commission (SEC) de EE.UU. autorizó los
intercambios electrónicos, se tiene constancia de la existencia del HFT. [3] Inicialmente,
las operaciones tardaban de media varios segundos y han ido disminuyendo a lo largo
del tiempo con el avance de la tecnología. En 2007 y 2008 la respuesta era de entre 2 y
3 milisegundos (0,002-0,003 segundos) y en el 2010 el tiempo entre el envío de una
orden y su cancelación había disminuido a un microsegundo (0,0000001 segundos). [2]
Actualmente, existe una competición entre los High Frecuency Traders para conseguir
las maquinas más avanzadas y las conexiones más rápidas, empleando el software más
rápido y avanzado que sean capaces de diseñar. Una de las estrategias es la disminución
de la distancia entre el servidor de la plataforma de negociación y el del trader,
reduciendo el tiempo de conexión con lo que se puede operar con mayor agilidad y
rapidez al reducir la latencia de las órdenes. Para conseguir esto hay que utilizar los
servicios de co-location que ofrecen las propias bolsas. En ellos, se alquila parte de la
infraestructura del data center, pudiendo colocar el servidor del trader a poca distancia
del propio servidor de la bolsa. De esta forma, las plataformas de negociación (bolsas)
venden una mejora en la conexión al mercado, siendo en este caso, punto a punto y con
un tiempo de respuesta menor de una centésima de milisegundo. Si no se usara este
servicio, una conexión mediante Ethernet tendría una respuesta de 2 ó 3 milisegundos
en entorno metropolitano. [1], [4]
5
Isabel Vegas Villalmanzo
3. Introducción
Como podemos apreciar, esta es una ventaja competitiva clave para el HFT; pero al ser
empleada por todos los agentes que participan en este tipo de mercado, no constituye
una ventaja real, sino que es un requerimiento básico para poder actuar en él. Además,
tampoco existe la posibilidad de una mejora futura en la conexión a la plataforma de
negociación, no es posible colocar los servidores más próximos. Por lo que no se puede
conseguir una menor latencia por este método. Todo esto indica que podría haberse
llegado al desarrollo tecnológico máximo en reducción del tiempo de latencia de la
conexión.
La única manera entonces de conseguir una ventaja competitiva será mejorando los
algoritmos informáticos que analizan e interpretan las señales del mercado, y tratando
así de predecir cómo va a evolucionar este para poder posicionarte antes que tus
competidores.
Para tratar la cantidad ingente de datos generados por la actividad bursátil se emplean
técnicas de minería de datos. Estas técnicas, casi automáticas, evitan la utilización de la
gran cantidad de analistas necesarios tradicionalmente. Estos datos han sido
históricamente analizados mediante técnicas de análisis estadístico, las cuales parten de
una hipótesis inicial. Pero en minería de datos, no es necesario plantear ninguna, ya que
mediante las herramientas de minería se pueden descubrir, entre otros, relaciones entre
los datos o patrones de cambio de comportamiento. Con estas técnicas se pueden crear
finalmente modelos predictivos sobre la evolución de los datos. [5]
6
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
4. OBJETIVOS
El objetivo principal es construir un modelo de predicción de precios de valores
bursátiles mediante minería de datos.
Se tratará de estimar valores con una frontera de unos minutos, de forma que la
conexión física entre servidores no sea tan determinante. Si somos capaces de predecir
el precio de un valor con una cierta robustez a lo largo del tiempo, la ventaja que se
obtiene con la proximidad de conexión o con posibles mejoras de la tecnología se hace
no significativa.
Para conseguir esto se analizarán los datos históricos intradía de diferentes valores con
el fin de encontrar:
-
Relaciones existentes entre distintos valores bursátiles (correlaciones). De esta
forma un determinado valor podría ser predictor adelantado/ retrasado de otro
valor o confirmador de la tendencia.
-
Evolución de un valor basado en los propios datos anteriores de ese valor.
-
Evolución de un valor a partir de lo que nos indican diversos indicadores técnicos,
como osciladores, indicadores de tendencia e indicadores de volatilidad.
Se analizarán distintos tipos de modelos para encontrar el que se ajuste más a la
realidad.
7
Isabel Vegas Villalmanzo
5. Metodología
5. METODOLOGÍA
La minería de datos es el estudio y tratamiento de datos masivos para extraer
conclusiones e información relevante. Normalmente, esto no es posible mediante la
exploración de datos que se usa tradicionalmente debido a la complejidad de las
relaciones existentes entre los datos o por la ingente cantidad de los mismos. Por contra,
la minería de datos reúne las ventajas de diferentes áreas como la Estadística, la
Computación Gráfica, la Inteligencia Artificial, las bases de datos y el procesamiento
masivo de datos. [6], [7], [8]
Por lo tanto, la minería de datos trata de deducir los patrones y tendencias que existen
en los datos mediante la elaboración de modelos. Dependiendo de los diferentes
escenarios a los que se aplique la minería de datos se puede obtener información con
distinta funcionalidad. A continuación, se muestran los tipos de modelos principales que
se pueden conseguir mediante la minería de datos:
1. Modelos descriptivos:
- Reglas de asociación
- Agrupamientos (clustering)
- Secuencias
2. Modelos predictivos:
- Clasificaciones
- Pronósticos
Esta información puede ser de gran importancia en áreas como la medicina, sector
financiero, industria minorista o la industria de las telecomunicaciones. [7], [8]
La generación de modelos de minería de datos forma parte de un proceso mayor que va
desde la definición del problema que se quiere resolver, hasta la implementación y
validación del modelo pasando por distintas etapas.
El proceso de minería de datos consta de los siguientes pasos:
1.
2.
3.
4.
5.
6.
Definición del problema
Preparación de los datos
Exploración de los datos
Generar modelos
Explotación y validación de los modelos
Implementar y actualizar modelos
A continuación, se ilustra (ver Figura 1) el proceso de la minería de datos, donde
asumimos que ya se ha definido previamente el problema a resolver.
8
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Figura 1: Representación del proceso de la minería de datos. Fuente: elaboración propia basado en [8].
Como se puede observar en el diagrama anterior, el proceso de minería de datos es
cíclico. Lo que indica que la elaboración e implementación de modelos de minería de
datos se realiza de forma iterativa y dinámica. [8]
5.1. Definición del problema
Es el primer paso del proceso de minería de datos. Consiste en definir unívocamente el
problema que vamos a tratar de responder y considerar diversas formas de solucionarlo
con los datos disponibles.
Es primordial en esta etapa ser capaces de entender el ámbito en el que queremos usar
la minería de datos para poder definir con claridad el problema. También hay que fijar
las métricas con las que se evaluará el modelo y definir los objetivos concretos de la
minería de datos. Para conseguirlo se suelen emplear preguntas como las siguientes:
-
¿Qué se está buscando? ¿Qué tipos de relaciones se intenta buscar?
¿Se desea realizar predicciones a partir del modelo de minería de datos o
solamente buscar asociaciones y patrones interesantes?
¿Qué información exactamente desea predecir?
¿Qué tipo de datos tiene y qué información contienen? ¿Tiene una cantidad de
datos suficiente?
¿Cómo se relacionan los diferentes datos que tiene? ¿Se necesita limpiar,
agregar o procesar los datos antes de usarlos?
¿Cómo se distribuyen los datos? ¿Son estacionales? ¿Representan con precisión
los procesos de la empresa?
Como podemos deducir de las anteriores preguntas, es básico saber cuáles son los datos
disponibles. Si estos son suficientes para resolver el modelo o si no lo son, que otro tipo
sería necesario. Para conocer esta información puede que sea imprescindible desarrollar
un estudio de disponibilidad de datos. Si los datos que somos capaces de obtener no
resuelven el problema establecido, habrá que volver a definir el proyecto.
9
Isabel Vegas Villalmanzo
5. Metodología
Una vez definido el problema y habiendo pasado a otras etapas posteriores del proceso
de la minería de datos, puede que se descubra que los datos resultan insuficientes para
crear los modelos y que, por tanto, sea necesario buscar más datos (ver Figura 2).
También puede ocurrir que se puedan generar modelos pero que estos no respondan
adecuadamente al problema planteado inicialmente, por lo que habrá que volver a
definir el problema de nuevo. Además, es posible que haya que actualizar los modelos
implementados cuando dispongamos de nuevos datos. [8]
Definir el
problema
Implementar y
actualizar
modelos
Preparar datos
Validar
modelos
Explorar datos
Generar
modelos
Figura 2: Etapas del proceso de minería de datos sensibles a problemas con los datos. Fuente: elaboración propia
basado en [8]
5.2. Preparación de los datos
La preparación de los datos, que es la segunda fase del proceso, consiste en consolidar
y limpiar los datos de la etapa previa. Las técnicas de preparación de datos disminuyen
la cantidad y mejoran la calidad del conjunto de datos, de esta forma se podrán elaborar
modelos que generen mayor y mejor información. [8], [9]
Es importante que esta etapa se desarrolle antes de empezar a generar los modelos. Si
los datos están incompletos, incorrectos o existen entradas estrechamente
correlacionadas que parecen independientes, pueden influir en los resultados
generados por el modelo de forma inesperada.
En la minería de datos se suele trabajar con grandes conjuntos de datos que no pueden
ser comprobados en cada transacción, por lo que han de procesarse previamente de
manera minuciosa. [8]
10
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Para llevar a cabo una correcta preparación de datos habrá que realizar las siguientes
técnicas:
1. Data collecting and integration
Recopilación de los datos de distintas fuentes de información resolviendo problemas
de representación y codificación. Integración de los mismos desde diferentes tablas
para crear una información lo más homogénea posible.
2. Data cleaning
Se centra en solucionar los conflictos que aparecen en los datos. Para lograrlo
elimina valores atípicos, chequea y resuelve problemas de ruido, valores perdidos,
etc.
3. Data transformation
Los datos se transforman a la forma más apropiada para la extracción de información
del modelo. Esto se puede realizar mediante operaciones de agregación,
sumarización de datos o normalización, entre otras.
4. Data reduction
Consiste simplemente en seleccionar y mantener las variables relevantes para el
proceso de minería de datos. Para ello se emplean técnicas como la selección de
características, la discretización o la selección de instancias.
No siempre será necesario el empleo de todas las técnicas. Cada base de datos es
totalmente distinta de las demás, por lo que las técnicas a usar en cada una difieren. [9]
5.3. Exploración de los datos
El tercer paso consiste en la exploración de los datos previamente preparados. Hay que
conocer los datos para poder tomar decisiones adecuadas al crear los modelos de
minería de datos y saber si estos son capaces de resolver el problema establecido.
Para explorar los datos que tenemos existen numerosas técnicas que incluyen el cálculo
de:
-
Valores máximos y mínimos
Media
Desviación estándar
Distribución estándar
Correlación lineal de Pearson
Etc.
11
Isabel Vegas Villalmanzo
5. Metodología
Con estas técnicas se podrá determinar con exactitud la información que nos
proporcionan estos datos y si son los indicados para resolver nuestro problema. Por
ejemplo, con los valores de máximo, mínimo y media se podría determinar si los datos
no son representativos y por lo tanto no son útiles para el problema definido. Por otra
parte, si los datos presentan una desviación estándar grande puede indicar que para
mejorar el modelo sea necesario agregar más datos; y si los datos se desvían mucho de
una distribución estándar se podrían sesgar o representar una imagen precisa de una
cierta situación real que dificulte el ajuste del modelo a los datos. [8]
5.4. Generar modelos
Un modelo de minería de datos consiste en el análisis de una estructura de minería de
datos mediante la aplicación de un algoritmo concreto. Por lo general, se pueden usar
los mismos datos para crear varios modelos empleando distintos algoritmos, pero en
cada uno de ellos los datos se organizan con una estructura diferente. Cada tipo de
modelo crea un conjunto diferente de patrones, reglas o fórmulas que se puede usar
para realizar predicciones.
El procesamiento de un modelo suele denominarse entrenamiento, haciendo referencia
al proceso de aplicar un algoritmo matemático concreto a los datos de la estructura para
extraer patrones. Los patrones encontrados dependerán, por tanto, de la selección de
datos del entrenamiento, del algoritmo escogido y su configuración. [8], [10]
La estructura y el modelo de minería de datos son objetos independientes. La estructura
de minería de datos almacena la información que define el origen de datos, y está
formada solo por las columnas de datos seleccionadas para usarse en el análisis. Por
otra parte, un modelo de minería de datos almacena la información derivada del
procesamiento estadístico de los datos, como por ejemplo los patrones encontrados
como resultado del análisis. Este modelo está vacío hasta que los datos que proporciona
la estructura de minería de datos se procesan y analizan. El algoritmo calcula un
conjunto de estadísticas de resumen que describen los datos, identifica las reglas y los
patrones en los datos, y después usa dichas reglas y patrones para rellenar el modelo.
Una vez procesado contiene los metadatos, resultados y enlaces a la estructura de
minería de datos. Los metadatos especifican el nombre del modelo y el servidor donde
está almacenado, así como una definición del mismo, incluidas las columnas de la
estructura de minería de datos que se usaron para generarlo y el algoritmo empleado.
[10]
Es importante recordar que siempre que los datos cambian, se debe actualizar la
estructura y el modelo de minería de datos volviendo a procesarlo. [8]
12
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
5.5. Explotación y validación de los modelos
La quinta fase del proceso consiste en explorar los modelos de minería de datos que se
han generado y comprobar su validez y eficacia. Es importante validar los modelos antes
de implementarlos en un entorno de producción, evaluando la calidad y las
características obtenidas, para ver si son capaces de resolver satisfactoriamente el
problema que habíamos planteado. [10]
No hay ninguna regla preestablecida que indique si un modelo es suficientemente
bueno o si cuenta con suficientes datos, pero se puede definir un criterio de validez
mediante indicadores de minería de datos.
Estas medidas se suelen agrupar en las siguientes categorías:
-
Precisión
Es una medida que indica hasta qué punto el modelo pone en correlación el
resultado con los atributos de los datos que se han proporcionado.
-
Confiabilidad
Evalúa la manera en la que se comporta un modelo de minería de datos en
conjuntos de datos diferentes. El modelo es confiable si genera el mismo tipo de
predicciones o encuentra los mismos tipos generales de patrones
independientemente de los datos de prueba que se proporcionen.
-
Utilidad
Los indicadores de utilidad muestran si el modelo proporciona información útil.
Algunas herramientas de validación ampliamente usadas en minería de datos son:
gráficas de dispersión, validación cruzada de conjuntos de datos, creación de particiones
de los conjuntos de prueba y entrenamiento y reprocesamiento del modelo con ellas,
etc. [10]
5.6. Implementar y actualizar los modelos
El último paso del proceso de minería de datos consiste en implementar los modelos
que funcionan mejor en el entorno de producción, y actualizarlos a medida que se
reciben más datos. Una vez implantados desarrollaran la tarea para la que han sido
elaborados. Además, parte de la estrategia de implementación será la actualización
dinámica de los modelos, cuando se consigan nuevos datos, y realizar modificaciones
constantes en los modelos para mejorar la efectividad. [8]
13
Isabel Vegas Villalmanzo
6. Resultados y discusión
6. RESULTADOS Y DISCUSIÓN
Vamos a mostrar la aplicación de la minería de datos, usando el programa R, para el caso
específico de este trabajo fin de grado. Para ello, se lleva a cabo el proceso de minería
de datos pasando por las distintas etapas previamente descritas.
6.1. Definición del problema
Ante la competición existente entre los High Frecuency Traders por una tecnología de
conexión y procesamiento lo más rápida posible, vamos a elaborar un modelo de
minería de datos que sea capaz de predecir a unos pocos minutos los precios de valores
bursátiles. De esta forma, al ser posible predecir valores con un período de tiempo tan
considerable para el HFT, las mejoras tecnológicas se hacen irrelevantes. Esto se debe a
que las operaciones en este mercado se realizan en fracciones de segundo, y si somos
capaces de saber cómo se comportará el valor dentro de unos minutos podremos
posicionarnos previamente, sin necesidad de tener la mejor conexión o el
procesamiento más rápido.
Para lograrlo, analizaremos los datos históricos intradía de diferentes valores para
encontrar los patrones de comportamiento y las relaciones entre ellos que se producen
a lo largo del tiempo, y así, elaborar un modelo de predicción de minería de datos. La
calidad de este modelo se evaluará realizando una predicción de los precios de un valor
durante 10 minutos, con una muestra tomada unos minutos antes de los datos
históricos intradía. Se comprobará el error de estimación obtenido al comparar la
predicción con los datos intradía originales.
Se ha realizado un estudio de disponibilidad de datos para comprobar que tenemos
información suficiente para elaborar el modelo.
Contamos con los datos intradía de OHLC (Open-High-Low-Close- Volume) a un minuto,
y de quotes (Bid - Ask ,Bid Volume – Ask Volume) y trades (Price-Volume) a cada segundo
de 6 valores de la Bolsa de Madrid durante todos los días del mes de marzo de 2014 en
los que la Bolsa estuvo abierta. Además, contamos con los datos OHLC del indicador IBEX
para el mismo periodo de tiempo. [11]
Estos datos deberán pasar por una etapa de preparación previa para poder emplearlos
en el modelo de predicción.
6.2. Preparación de los datos
En esta fase del proceso de minería de datos vamos a emplear diferentes técnicas de
preparación de datos para mejorar la calidad del conjunto de datos, y poder así, elaborar
un modelo que genere mayor y mejor información. Los datos que se van a preparan son
aquellos que hemos comentado en la etapa previa. Todos ellos son series temporales
14
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
en formato Excel con una estructura en la que las distintas variables se sitúan en
diferentes columnas (ver Figura 3).
Date
03/03/2014
…
Time
9:00:00
…
X1
…
…
X2
…
…
X3
…
…
…
…
…
Figura 3: Estructura de los datos. Fuente: elaboración propia.
Siendo X1, X2,… variables como: precio, volumen, etc.
Para preparar los datos hemos realizado los siguientes pasos:
1. Homogeneización del formato
El formato del todas las variables tiene que ser el mismo, por esta razón, en este
paso nos aseguramos que todos los datos cumplan con los mismos criterios.
Hemos tenido que ajustar el formato en algunas variables para que cumplan con el
criterio establecido: usar como separador decimal “.” y como separador de miles “,”.
2. Transformación a una base de tiempo común
Para poder usar los paquetes de R necesarios, la parte temporal de las series
temporales tiene que formar un vector de una única columna. Esto se consigue
juntando las columnas Date y Time en una sola, y transformándola en la clase
POSIXct de R. Esta clase se estructura de la siguiente forma: [12]
"2014-03-03 09:00:00 CET"
La clase POSIXct deriva del sistema POSIX, que es una norma escrita por la IEEE.
3. Homogeneización de la serie temporal
En algunas ocasiones, las series cuentan con más de un valor de precio para un
mismo instante de tiempo. Para poder emplearlo en etapas futuras, es necesario
reducirlo a un único valor de precio para cada momento (ver Figura 4).
Figura 4: Esquema homogeneización de series temporales. Fuente: elaboración propia.
15
Isabel Vegas Villalmanzo
6. Resultados y discusión
Para homogeneizar calculamos la media ponderada de precios (Pt) empleando la
siguiente fórmula (ver Ecuación 1):
Ecuación 1: Media ponderada de precios para el instante t. Fuente: elaboración propia.
Donde Pt,i es el precio de acuerdo i en el instante t y Volt,i es el volumen de acciones
intercambiadas en el acuerdo i en el instante t. Este valor Pt será el nuevo precio
medio en cada instante t.
4. Interpolación de la serie temporal
Como los acuerdos de compra y venta no se realizan regularmente, no tenemos
datos en todo momento. Para solucionar el problema, hemos supuesto que si no se
ha realizado acuerdo el precio del valor será el mismo que el del último precio
negociado. De esta forma, se mantiene el precio del valor a lo largo del tiempo hasta
que haya otro acuerdo. Cuando se realice este, se actualiza el precio a ese último
valor, y así sucesivamente.
5. Eliminación de los 5 primeros y últimos minutos de la serie temporal
Contamos con datos de valores bursátiles de la bolsa de Madrid, que forman parte
de las Bolsas y Mercados Españoles (BME), donde se opera con el siguiente horario
(ver
Figura 5) [13]:
Subasta de Apertura
Mercado Abierto
Subasta de Cierre
De 8:30 h a 9:00 h
De 9:00 h a 17:30 h
De 17:30 h a 17:35 h
Figura 5: Horarios de apertura de BME. Fuente: elaboración propia basado en [13]
Para el análisis que vamos a realizar nos interesa usar solamente datos del mercado
cuando este está abierto. Además, vamos a descartar los 5 minutos iniciales y finales
debido a la influencia de la subasta de apertura y la de cierre a la actividad del
mercado (ver Figura 6).
Subasta de Apertura
5 primeros min influenciados
por la Subasta de Apertura
Mercado Abierto
Subasta de Cierre
5 últimos min influenciados
por la Subasta de Cierre
Figura 6: Esquema de un día de mercado bursátil en BME. Fuente: elaboración propia.
16
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
La subasta de apertura se realiza cada día para asegurar la correcta formación de los
precios durante los períodos en los que no hay mercado abierto. Consiste en un
periodo de tiempo en el que los inversores tienen la posibilidad de colocar órdenes,
modificarlas o eliminarlas. También se incluye en esta subasta aquellas órdenes de
días anteriores que no se han ejecutado y que siguen siendo válidas en esa jornada.
En cuanto a la subasta de cierre, esta se realiza para asegurar que el precio de cierre
sea significativo de lo ocurrido durante la sesión. Esto se debe a que es ampliamente
usado como precio de referencia, como por ejemplo para la valoración de fondos y
sociedades de inversión entre otros.
Este precio de equilibrio de la subasta no se origina por la fluctuación propia del
mercado, sino por un precio de equilibrio fijado. Las subastas dentro del SIBE
(Sistema de Interconexión Bursátil Español) cuentan con un cierre aleatorio de
máximo 30 segundos, en los cuales en cualquier momento puede acabar la subasta
sin previo aviso. A partir de ese momento no se pueden añadir, modificar o eliminar
órdenes. Al terminar la subasta se produce la asignación de títulos al último precio
de equilibrio. Este se calcula mediante un algoritmo basado en 4 reglas para
garantizar la formación de un precio eficiente, es decir, el precio al que se pueden
casar el mayor número de órdenes.
Esta es la razón por la que eliminamos los primeros y últimos 5 minutos de la jornada
de mercado abierto. Al estar el precio de equilibrio calculado por un algoritmo no
refleja la evolución propia del mercado. [14]
6.3. Exploración de los datos
La finalidad de la etapa de exploración de los datos es determinar con exactitud la
información que nos proporcionan los datos previamente preparados. Para ello, vamos
a analizar los distintos valores en busca de:
1. Conocer los propios valores
En este análisis se busca conocer más a fondo los distintos valores bursátiles de los
que disponemos. Se calcularán con R diferentes indicadores técnicos con el fin de
ver la evolución a lo largo del tiempo de los movimientos que realizan las
cotizaciones.
Los diferentes valores de nuestra base de datos se denominan por los números: 70,
107, 140, 160, 233 y 285; y el indicador IBEX por: IBEX.
Para todos ellos se calculan los siguientes indicadores técnicos:
-
Osciladores
- RSI (Relative Strength Index): es un indicador que muestra en cada
momento la fuerza entre compradores y vendedores. Es un oscilador
normalizado basado en la variación de los precios en un periodo
17
Isabel Vegas Villalmanzo
6. Resultados y discusión
determinado. Su mejor comportamiento se alcanza cuando llega a los
niveles de sobrecompra o de sobreventa. Generalmente, para su cálculo
se utilizan periodos de 14 sesiones, que son el número de días sobre los
que hay que calcular la variación del precio. Este periodo es el que
determina la sensibilidad, ya que cuanto menor es este, menos fiables
son las señales. Para calcularlo, primero se obtienen las medias móviles
exponenciales a 14 sesiones sobre las series de valores U (up) y D (down).
A partir de U y D se calcula así la fuerza relativa RS (ver Ecuación 2), y con
ella finalmente el oscilador RSI (ver Ecuación 3). [15], [16]
Ecuación 2: Medias móviles exponenciales U y D de 14 sesiones. Fuente: [16]
Ecuación 3: Oscilador RSI. Fuente: [16]
-
Momentum: es un indicador tipo oscilador que muestra la tendencia que
llevan los precios de un activo y los cambios que ha tenido en un
determinado tiempo. Se usa para anticipar los cambios de tendencia y
mostrar la velocidad del cambio en los precios. Consiste en observar la
diferencia de precios entre el cierre del periodo actual y el de hace n
periodos, que generalmente suele ser de 5 ó 10 periodos (ver Ecuación
4).
Ecuación 4: Oscilador Momentum. Fuente: [16]
Se puede ver gráficamente como una línea que oscila alrededor de una
línea neutra de valor cero. Señala el “momento” de la acción o el índice,
mostrando el grado de velocidad y su dirección. [16]
-
SMI (Stochastic Momentum Index): es una variante del oscilador
estocástico en la que su cálculo se basan en la posición del precio de
cierre respecto a un punto medio entre el mínimo más bajo y el máximo
más alto. Este indicador suele venir acompañado por una línea de señal
(signal) que es una media exponencial móvil de los últimos periodos. El
cruce entre SMI y la señal nos proporciona información sobre la
divergencia, tendencia y estado de sobreventa/ sobrecompra. [17]
18
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
-
-
-
MACD (Moving Average Convergence Divergence) muestra la diferencia
entre dos medias móviles, concretamente, dos medias móviles
exponenciales de 26 y 12 períodos, respectivamente. A este indicador se
le suele añadir la denominada línea de señal (signal) que no es más que
una media móvil exponencial de 9 periodos. Ambos indicadores, el MACD
y la señal, se mueven en torno a una línea en cero. El MACD se representa
como un gráfico de barras verticales mientras que la línea de señal como
una media móvil del gráfico de barras verticales, dibujada como una línea
con trazado discontinuo. Este indicador es usado tanto para señalar la
tendencia como para mostrar el ímpetu (momentum) del movimiento,
pudiéndose obtener señales de cruzamiento, estado de
sobrecompra/sobreventa y divergencia. [18], [19], [20]
Indicadores de tendencia:
-
WMA (Weighted Moving Average): mide el movimiento medio de los
precios para un periodo de tiempo determinado. Este indicador suaviza
los datos de precio, dando más importancia a los datos más recientes, de
forma que se pueden ver las tendencias. [21]
-
ADX (Average Directional Index): es un indicador que trata de evaluar la
fuerza de la tendencia existente en el mercado. Su objetivo es intentar
determinar si el mercado se encuentra en tendencia o en rango y, en caso
de encontrarse en tendencia, la fuerza de la misma. Además, el ADX nos
informa acerca del tipo de tendencia predominante del mercado por
medio de los indicadores de movimiento positivo /negativo +DI y -DI. El
cálculo de este indicador es complejo, requiriendo dos etapas de
suavizado de datos. [22]
-
SAR (Stop and Reverse) Parabólico: Este indicador sigue el precio
conforme la tendencia se extiende a través del tiempo, mostrándose por
encima del precio cuando este se encuentra al alza y debajo cuando se
mueve a la baja. Si la tendencia del mercado cambia, el indicador se
detiene y cambia su dirección. El cálculo del SAR Parabólico es bastante
complejo ya que incluye variables if/then que dificultan el uso de hojas
de cálculo a diferencia de otros indicadores cuya fórmula de cálculo es
mucho más sencilla. [23]
Indicadores de volatilidad:
- Bollinger Bands: es un indicador técnico cuyo principal uso es medir la
volatilidad del mercado así como determinar zonas de soporte y
resistencia. Está formado por tres líneas: central, superior e inferior. La
línea central se calcula tomando una media móvil simple de los precios
19
Isabel Vegas Villalmanzo
6. Resultados y discusión
de un valor durante un período dado, normalmente 20 ó 21 días. Una vez
que la línea central se calcula, se obtiene la desviación estándar que se
multiplica por dos. Esta desviación estándar se suma o resta a la línea
central, obteniéndose las líneas superior e inferior de las bandas de
Bollinger. Las bandas se expanden cuando el activo se hace más volátil, y
se contraen cuando se convierte en uno menos volátil. [24]
-
Volatility: Este indicador de volatilidad compara la diferencia entre el
máximo y el mínimo de un valor mediante el cálculo de la tasa de cambio
de la media móvil de la diferencia entre el máximo y el mínimo. Así, la
volatilidad se mide como una variación del rango máximo y mínimo.
Cuanto mayor sea el indicador, mayor sea esta variación, y por tanto,
mayor será la volatilidad. [25]
-
ATR (Average True Range): es un indicador que mide la volatilidad de los
precios, pudiéndose estimar cuánto se moverá el precio en un día normal
de mercado. El ATR se construye a partir del rango verdadero (true range)
cuyo valor es el más grande entre los 3 siguientes (caso alcista): máximo
de hoy menos mínimo de hoy, máximo de hoy menos cierre de ayer, o
cierre de ayer menos mínimo de hoy. Para calcularlo se realiza un
promedio entre los rangos promedios de varias sesiones (ver Ecuación 5),
siendo los periodos de cálculo más comunes de 14 ó 20 sesiones. [26]
Ecuación 5: Indicador de volatilidad ATR. Fuente: [26]
A continuación, se muestran las gráficas de cada valor con los distintos indicadores
para todo el mes del que disponemos datos (03/2014).
20
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
VALOR 70
- Osciladores
Figura 7: Osciladores RSI, Momentum, MACD y SMI del valor 70. Fuente: elaboración propia.
-
Indicadores de tendencia
Figura 8: Indicadores de tendencia WMA, ADX y SAR del valor 70. Fuente: elaboración propia.
21
Isabel Vegas Villalmanzo
6. Resultados y discusión
-
Indicadores de Volatilidad
Figura 9: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 70. Fuente: elaboración propia.
VALOR 107
- Osciladores
Figura 10: Osciladores RSI, Momentum, MACD y SMI del valor 107. Fuente: elaboración propia.
22
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
-
Indicadores de tendencia
Figura 11: Indicadores de tendencia WMA, ADX y SAR del valor 107. Fuente: elaboración propia.
-
Indicadores de volatilidad
Figura 12: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 107. Fuente: elaboración
propia.
23
Isabel Vegas Villalmanzo
6. Resultados y discusión
VALOR 140
- Osciladores
Figura 13: Osciladores RSI, Momentum, MACD y SMI del valor 140. Fuente: elaboración propia.
-
Indicadores de tendencia
Figura 14: Indicadores de tendencia WMA, ADX y SAR del valor 140. Fuente: elaboración propia.
24
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
-
Indicadores de volatilidad
Figura 15: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 140. Fuente: elaboración
propia.
VALOR 160
- Osciladores
Figura 16: Osciladores RSI, Momentum, MACD y SMI del valor 160. Fuente: elaboración propia.
25
Isabel Vegas Villalmanzo
6. Resultados y discusión
-
Indicadores de tendencia
Figura 17: Indicadores de tendencia WMA, ADX y SAR del valor 160. Fuente: elaboración propia.
-
Indicadores de volatilidad
Figura 18: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 160. Fuente: elaboración
propia.
26
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
VALOR 233
-Osciladores
Figura 19: Osciladores RSI, Momentum, MACD y SMI del valor 233. Fuente: elaboración propia.
-
Indicadores de tendencia
Figura 20: Indicadores de tendencia WMA, ADX y SAR del valor 233. Fuente: elaboración propia.
27
Isabel Vegas Villalmanzo
6. Resultados y discusión
-
Indicadores de volatilidad
Figura 21: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 233. Fuente: elaboración
propia.
VALOR 285
- Osciladores
Figura 22: Osciladores RSI, Momentum, MACD y SMI del valor 285. Fuente: elaboración propia.
28
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
-
Indicadores de tendencia
Figura 23: Indicadores de tendencia WMA, ADX y SAR del valor 285. Fuente: elaboración propia.
-
Indicadores de volatilidad
Figura 24: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 285. Fuente: elaboración
propia.
29
Isabel Vegas Villalmanzo
6. Resultados y discusión
IBEX
-
Osciladores
Figura 25: Osciladores RSI, Momentum, MACD y SMI del IBEX. Fuente: elaboración propia.
-
Indicadores de tendencia
Figura 26: Indicadores de tendencia WMA, ADX y SAR del IBEX. Fuente: elaboración propia.
30
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
-
Indicadores de volatilidad
Figura 27: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor IBEX. Fuente: elaboración
propia.
2. Correlaciones
El estudio de las correlaciones trata de analizar si existen relaciones entre los
distintos valores bursátiles. Para ello, hemos empleado la correlación lineal de
Pearson.
La correlación lineal de Pearson calcula el grado de covariación entre distintas
variables relacionadas linealmente. Si la correlación es muy baja o nula no hay
correlación lineal, pero esto no significa que no exista ninguna. Puede haber
variables fuertemente relacionadas, pero no de forma lineal, en cuyo caso no se
debe aplicar la correlación de Pearson.
Si tenemos dos variables X1 y X2, y definimos el coeficiente de correlación de Pearson
entre estas dos variables como rxy, entonces:
0≤ |rxy |≤1
Es decir, el coeficiente de correlación de Pearson oscila entre –1 y +1, este signo
positivo o negativo hace referencia a la dirección. Un valor de correlación positiva
indica que en la medida que aumenta una de las variables aumenta la otra, y un valor
31
Isabel Vegas Villalmanzo
6. Resultados y discusión
de correlación negativo que al aumentar una de las variables la otra disminuye en
igual proporción. [27]
En este estudio hemos considerado que una correlación empieza a ser significativa
a partir de un valor de |rxy |≥0.5.
Para llevar a cabo el estudio, se realizan 5 experimentos distintos, en cada cuál se ha
escogido una muestra diferente de los datos. Cada una de las muestras está formada
por uno de los días de actividad bursátil rodeados en color verde en el calendario
que se muestra a continuación (ver Figura 28). Se han escogido estos días de forma
que cada experimento sea lo más aleatorio posible, y así tener una idea general de
las relaciones que hay entre los valores a lo largo del mes.
L
M
X
3
10
17
24
31
4
11
18
25
5
12
19
26
Marzo 2014
J
V
6
13
20
27
7
14
21
28
S
1
8
15
22
29
D
2
9
16
23
30
Figura 28: Calendario con las muestras escogidas para realizar los experimentos marcadas. Fuente: elaboración
propia.
A cada muestra escogida aleatoriamente se le asigna uno de los experimentos de la
siguiente manera:
Experimento aleatorio 1 -> muestra 04/03/2014
Experimento aleatorio 2 -> muestra 12/03/2014
Experimento aleatorio 3 -> muestra 20/03/2014
Experimento aleatorio 4 -> muestra 28/03/2014
Experimento aleatorio 5 -> muestra 31/03/2014
Como los precios de distintos activos no son comparables en una misma gráfica
precio - tiempo, debido a la diferencia de orden de magnitud, tenemos que
transformarlos. Calculamos entonces, la variación del precio en cada instante
respecto del precio medio del día anterior dividido entre el precio medio del día
anterior (ver Ecuación 6).
32
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Ecuación 6: Variación del precio en cada instante t. Fuente: elaboración propia.
Siendo Vart la variación del precio en cada instante t (en tanto por uno), Pt el precio
en cada instante t y Pmedia el precio medio de la jornada bursátil anterior. De esta
forma, podremos representar en una misma gráfica todos los valores que tenemos
para ese mismo día, ya que ahora sí, están en el mismo orden de magnitud.
Cada experimento que se ha desarrollado consiste en:
1. Gráfico de la variación del precio en cada instante t (Vart) para cada valor. Con
este gráfico podemos ver visualmente si existe alguna correlación entre los
valores.
2. Confirmación de la existencia de la relación entre valores mediante el cálculo de
las correlaciones entre las variaciones de precio de los distintos valores. Se
emplea el coeficiente lineal de Pearson para calcular la correlación. Además, se
indican cuales son significativas.
3. Cálculo de las correlaciones al mover una de las dos series temporales hacia
delante o hacia atrás en el tiempo respecto del resto (lag). Posteriormente, se
calcula la variación porcentual (en tanto por uno) de este nuevo valor de
correlación respecto del valor obtenido en el momento inicial t=0, calculado
anteriormente en el punto 2 (ver Ecuación 7)
Ecuación 7: Variación porcentual del valor de la correlación. Fuente: elaboración propia.
Con este procedimiento podemos ver si algún valor mantiene constante la
correlación a lo largo del tiempo, la mejora o la empeora respecto del valor que
movemos.
Hay que indicar que, en este estudio de correlaciones, todos los experimentos se han
realizado tomando una muestra de datos en la que todos los valores presentan
actividad en el mercado.
A continuación, se expone el resultado de los experimentos:
33
Isabel Vegas Villalmanzo
6. Resultados y discusión
Experimento aleatorio 1
En el primer experimento se toma una muestra de datos del día 04/03/2014 de
11:32:00 a 17:25:00.
En esta primera gráfica de variación del precio – tiempo (ver Figura 29), podemos
observar que, a priori, existirá una correlación significativa entre los valores IBEX y
107. También, habrá una correlación, en menor medida, de estos dos valores con el
233.
La linealidad de la variación de precio a lo largo del tiempo en algunos valores indica
que no se realizan apenas operaciones de los mismos en el mercado, son valores
poco líquidos. Como comentamos en la etapa anterior de preparación de los datos,
se mantiene el precio del último intercambio hasta que ocurre el siguiente y se va,
de esta manera, actualizando el valor del precio sucesivamente. De ahí la linealidad
del valor en la gráfica.
Variación del precio
Hay que recordar que la variación del precio (Vart) es la variación del precio en cada
instante respecto del precio medio del día anterior, dividido entre el precio medio
del día anterior. Esta transformación se ha realizado para que sean representables
en una misma gráfica todos los valores. Además, el periodo de tiempo escogido es
aquel en el que todos los valores muestran actividad bursátil.
Tiempo
Figura 29: Gráfica variación del precio- tiempo para el experimento 1. Fuente: elaboración propia.
34
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Cálculo de correlaciones
Pearson's product-moment correlation
data
t
PriceIBEX_04 and Price70_04
-108.69
PriceIBEX_04 and Price107_04
472.23
PriceIBEX_04 and Price140_04
NA
PriceIBEX_04 and Price160_04
-190.31
PriceIBEX_04 and Price233_04
98.081
PriceIBEX_04 and Price285_04
123.66
Price70_04 and Price107_04
-84.235
Price70_04 and Price140_04
NA
Price70_04 and Price160_04
142.57
Price70_04 and Price233_04
-47.43
Price70_04 and Price285_04
-13.012
Price107_04 and Price140_04
NA
Price107_04 and Price160_04
-126.39
Price107_04 and Price233_04
140.53
Price107_04 and Price285_04
147.5
Price140_04 and Price160_04
NA
Price140_04 and Price233_04
NA
Price140_04 and Price285_04
NA
Price160_04 and Price233_04
-23.617
Price160_04 and Price285_04
-52.926
Price233_04 and Price285_04
107.06
p-value
< 2.2e-16
< 2.2e-16
NA
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
NA
< 2.2e-16
< 2.2e-16
< 2.2e-16
NA
< 2.2e-16
< 2.2e-16
< 2.2e-16
NA
NA
NA
< 2.2e-16
< 2.2e-16
< 2.2e-16
95 percent confidence interval
(-0.6069507 , -0.5896603)
(0.9544593, 0.9567960)
NA
(-0.7992497, -0.7893095)
(0.5495207, 0.5680429)
(0.6395972, 0.6552398)
(-0.5109439, -0.4907684)
NA
(0.6928532, 0.7065979)
(-0.3219745, -0.2976272)
(-0.10239342, -0.07567433)
NA
(-0.6632927, -0.6479378)
(0.6875933, 0.7015319)
(0.7051072, 0.7183948)
NA
NA
NA
(-0.1732672, -0.1470255)
(-0.353596, -0.3298085)
(0.5837309, 0.6012085)
sample estimates: cor
-0.5983752
0.9556427
NA
-0.7943328
0.5588515
0.6474867
-0.5009242
NA
0.6997903
-0.3098516
-0.08904989
NA
-0.655683
0.6946278
0.7118147
NA
NA
NA
-0.1601747
-0.341757
0.5925394
Figura 30: Coeficientes de correlación entre valores del experimento 1. Fuente: elaboración propia.
En la tabla anterior (ver Figura 30) se han calculado los coeficientes de correlación
entre los distintos valores. En naranja podemos observar las correlaciones que son
significativas. Aquí se confirman las deducciones que realizamos en la gráfica
anterior: el valor IBEX y 107 muestran una correlación de valor 0.9556427 (muy
significativa), mientras que IBEX-233 y 107-233 son de valor 0.5588515 y 0.6946278
respectivamente. Además, también podemos observar que hay otras muchas
correlaciones entre valores que no se ven claramente mediante la gráfica variación
de precio – tiempo.
Si el resultado de la correlación es NA (not available) significa que no hay variación
en el precio de uno de los dos valores para los que se quiere calcular la correlación.
Eso es que, no hay variación del precio de ese valor, es constante, como ocurre para
el valor 140 en este experimento. Para este caso, todas las correlaciones con este
valor serán NA.
A continuación, se muestra la gráfica de variación porcentual (en tanto por uno) de
la correlación respecto la inicial entre los distintos valores y el IBEX, al moverse este
último hacia delante y atrás en el tiempo (lag hacia delante o hacia atrás) (ver Figura
31).
35
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Figura 31: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al moverlo hacia delante
o hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
Como podemos observar, la variación de la correlación entre 160 e IBEX, al mover
este último, es bastante robusta a lo largo del tiempo (ver Figura 31). Es decir, la
relación entre ellos se mantiene en torno a los mismos valores independientemente
del lag de IBEX.
Por otra parte, el valor de la variación de la correlación entre 107 e IBEX, al mover
este último, siempre disminuye (ver Figura 31). Por lo tanto, no existe mejor relación
entre ellos que cuando ambos están en el mismo instante t, o entorno a él. El valor
107 actuará como confirmador de la tendencia de IBEX, y viceversa, ya que la
correlación entre ellos es muy alta (0.9556427).
En cuanto a los valores 233 y 70, cuando movemos la serie temporal de variaciones
de precio del IBEX hacia atrás en el tiempo y calculamos las correlaciones, la
variación de esta correlación con la calculada cuando ambas están en el mismo
instante t es positiva y va creciendo al aumentar el movimiento hacia atrás (ver
Figura 31). Esto significa que al retrasar el valor IBEX respecto 233 y 70 va creciendo
el valor de la correlación progresivamente. Entonces, la correlación entre IBEX en
t+n y cualquiera de los otros dos valores en t será mejor que la de IBEX en t y esos
valores en t (ver Figura 32). En conclusión, sabiendo que cuanto más retrasado esté
IBEX mejor será la correlación, podemos usar 233 y 70 para predecir el
comportamiento futuro de IBEX.
36
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Figura 32: Esquema del movimiento lag de IBEX hacia atrás respecto de los valores 233 y 70. Fuente: elaboración
propia.
Empleando la misma argumentación, cuando movemos la serie temporal de precio
del IBEX hacia delante en el tiempo y calculamos las correlaciones con el valor 285,
la variación de esta correlación con la calculada cuando ambas están en el mismo
instante t es positiva y va creciendo al aumentar el movimiento hacia delante (ver
Figura 31). Esto significa que al adelantar el valor IBEX respecto de 285 va creciendo
el valor de la correlación progresivamente. La correlación entre IBEX en t-n y 285 en
t será mejor que la de ambos en t (ver Figura 33). Entonces, cuanto más adelantado
esté IBEX mejor será la correlación, por lo que podremos usarlo como predictor del
comportamiento futuro del valor 285.
Figura 33: Esquema del movimiento lag de IBEX hacia delante respecto del valor 285. Fuente: elaboración propia.
El mismo razonamiento empleado para describir estas gráficas y tablas, se empleará
en las sucesivas de este experimento, y de los 4 siguientes.
Hay que recordar que no hemos calculado este último tipo de gráfica para lag del
valor 140, debido a que la correlación con los demás inicialmente fue NA. Este mismo
criterio se ha empleado en el resto de los experimentos que presenten un caso
similar con alguno de sus valores.
37
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Variación de la correlación
Figura 34: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al moverlo hacia delante o
hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
Lag
Figura 35: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al moverlo hacia delante o
hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
38
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Variación de la correlación
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Lag
Variación de la correlación
Figura 36: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al moverlo hacia delante o
hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
Lag
Figura 37: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al moverlo hacia delante o
hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
39
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Figura 38: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al moverlo hacia delante o
hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
Experimento aleatorio 2
Variación del precio
En el segundo experimento se toma una muestra de datos del día 12/03/2014 de
11:39:05 a 17:25:00.
Tiempo
Figura 39: Gráfica variación del precio- tiempo para el experimento 2. Fuente: elaboración propia.
40
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Cálculo de correlaciones
Pearson's product-moment correlation
data
t
PriceIBEX_04 and Price70_04
-27.716
PriceIBEX_04 and Price107_04
643.41
PriceIBEX_04 and Price140_04
99.387
PriceIBEX_04 and Price160_04
1.8025
PriceIBEX_04 and Price233_04
117.75
PriceIBEX_04 and Price285_04
NA
Price70_04 and Price107_04
-29.73
Price70_04 and Price140_04
71.473
Price70_04 and Price160_04
129.33
Price70_04 and Price233_04
57.98
Price70_04 and Price285_04
NA
Price107_04 and Price140_04
104.4
Price107_04 and Price160_04
4.8721
Price107_04 and Price233_04
127.31
Price107_04 and Price285_04
NA
Price140_04 and Price160_04
100.09
Price140_04 and Price233_04
164.56
Price140_04 and Price285_04
NA
Price160_04 and Price233_04
94.983
Price160_04 and Price285_04
NA
Price233_04 and Price285_04
NA
p-value
< 2.2e-16
< 2.2e-16
< 2.2e-16
0.07148
< 2.2e-16
NA
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
NA
< 2.2e-16
1.112E-06
< 2.2e-16
NA
< 2.2e-16
< 2.2e-16
NA
< 2.2e-16
NA
NA
95 percent confidence interval
(-0.2020062, -0.1757682)
(0.9751803, 0.9764794)
(0.5585745, 0.5770105)
(-0.001093612, 0.026111021)
(0.6246157, 0.6409290)
NA
( -0.2151239, -0.1890262)
( 0.4334492, 0.4552845)
(0.6604382, 0.6755056)
(0.3615945, 0.3850111)
NA
(0.5778134, 0.5956543)
( 0.02020506, 0.04738288)
(0.6544730, 0.6697525)
NA
( 0.5613344, 0.5796862
(0.7464475, 0.7582540)
NA
(0.5408922, 0.5598581)
NA
NA
sample estimates: cor
-0.1889209
0.9758385
0.5678637
0.07148
0.6328426
NA
-0.2021109
0.4444329
0.6680404
0.3733623
NA
0.586805
0.03380022
0.6621816
NA
0.5705816
0.7524112
NA
0.5504461
NA
NA
Variación de la correlación
Figura 40: Coeficientes de correlación entre valores del experimento 2. Fuente: elaboración propia.
Lag
Figura 41: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al moverlo hacia delante
o hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
Los cambios abruptos en la variación porcentual de la correlación de 160 respecto
de IBEX se deben a que, como muestra la tabla anterior de correlaciones, el valor de
41
Isabel Vegas Villalmanzo
6. Resultados y discusión
Variación de la correlación
la correlación es muy pequeño (0,07148). Entonces, cualquier pequeña variación en
la correlación se hace porcentualmente enorme.
Lag
Variación de la correlación
Figura 42: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al moverlo hacia delante o
hacia atrás (lag), en el experimento 2. Fuente: elaboración propia
Lag
Figura 43: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al moverlo hacia delante o
hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
42
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Variación de la correlación
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Lag
Variación de la correlación
Figura 44: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al moverlo hacia delante o
hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
Lag
Figura 45: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al moverlo hacia delante o
hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
43
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Figura 46: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al moverlo hacia delante o
hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
Experimento aleatorio 3
Variación del precio
En el tercer experimento se toma una muestra de datos del día 20/03/2014 de
11:39:05 a 17:25:00.
Tiempo
Figura 47: Gráfica variación del precio- tiempo para el experimento 3. Fuente: elaboración propia.
44
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Cálculo de correlaciones
Pearson's product-moment correlation
data
t
PriceIBEX_20 and Price70_20
56.681
PriceIBEX_20 and Price107_20
755.25
PriceIBEX_20 and Price140_20
123.89
PriceIBEX_20 and Price160_20
162.89
PriceIBEX_20 and Price233_20
206.04
PriceIBEX_20 and Price285_20
-42.678
Price70_20 and Price107_20
65.906
Price70_20 and Price140_20
115.42
Price70_20 and Price160_20
116.03
Price70_20 and Price233_20
85.961
Price70_20 and Price285_20
-16.171
Price107_20 and Price140_20
143.27
Price107_20 and Price160_20
195.82
Price107_20 and Price233_20
241.24
Price107_20 and Price285_20
-48.44
Price140_20 and Price160_20
502.54
Price140_20 and Price233_20
148.06
Price140_20 and Price285_20
-24.438
Price160_20 and Price233_20
197.73
Price160_20 and Price285_20
-26.041
Price233_20 and Price285_20
-36.097
p-value
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
95 percent confidence interval
(0.3542787, 0.3778404)
(0.9818046, 0.9827600)
(0.6441356, 0.6597778)
(0.7430211, 0.7549645)
(0.8150164, 0.8239517)
( -0.2964959, -0.2714823)
(0.4046924, 0.4271926)
(0.6168974, 0.6334700)
(0.6189323, 0.6354367)
(0.5022954, 0.5223610)
( -0.12496307, -0.09809333)
(0.6982443, 0.7119249)
(0.8006622, 0.8102184)
(0.8549399, 0.8620933)
(-0.3308706, -0.3064254)
(0.9602327, 0.9622993)
(0.7100364, 0.7232694)
(-0.1804380, -0.1539906)
(0.8034548, 0.8128910)
( -0.1910192, -0.1646717)
(-0.2558058, -0.2302046)
sample estimates: cor
0.3661182
0.9822887
0.6520261
0.7490537
0.8195339
-0.2840374
0.4160062
0.6252542
0.627255
0.5123981
-0.1115486
0.7051502
0.8054926
0.8585584
-0.318701
0.9612796
0.7167174
-0.1672444
0.8082248
-0.1778774
-0.2430475
Variación de la correlación
Figura 48: Coeficientes de correlación entre valores del experimento 3. Fuente: elaboración propia.
Lag
Figura 49: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al moverlo hacia delante
o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
45
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Variación de la correlación
Figura 50: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al moverlo hacia delante o
hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
Lag
Figura 51: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al moverlo hacia delante o
hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
46
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Variación de la correlación
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Lag
Variación de la correlación
Figura 52: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al moverlo hacia delante o
hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
Lag
Figura 53: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al moverlo hacia delante o
hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
47
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Variación de la correlación
Figura 54: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al moverlo hacia delante o
hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
Lag
Figura 55: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al moverlo hacia delante o
hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
48
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Experimento aleatorio 4
Variación del precio
En el cuarto experimento se toma una muestra de datos del día 28/03/2014 de
11:39:05 a 17:25:00.
Tiempo
Figura 56: Gráfica variación del precio- tiempo para el experimento 4. Fuente: elaboración propia
Como en el día anterior, 27 de marzo, no hay ninguna operación del valor 285 se
coge la media del día 26 para calcular la variación del precio.
Cálculo de correlaciones
Pearson's product-moment correlation
data
t
PriceIBEX_28 and Price70_28
8.5146
PriceIBEX_28 and Price107_28
269.11
PriceIBEX_28 and Price140_28
47.373
PriceIBEX_28 and Price160_28
-12.258
PriceIBEX_28 and Price233_28
99.326
PriceIBEX_28 and Price285_28
-46.135
Price70_28 and Price107_28
-14.768
Price70_28 and Price140_28
-25.658
Price70_28 and Price160_28
-25.977
Price70_28 and Price233_28
22.506
Price70_28 and Price285_28
1.881
Price107_28 and Price140_28
94.562
Price107_28 and Price160_28
4.311
Price107_28 and Price233_28
47.953
Price107_28 and Price285_28
-44.846
Price140_28 and Price160_28
24.834
Price140_28 and Price233_28
-15.573
Price140_28 and Price285_28
-25.932
Price160_28 and Price233_28
0.73878
Price160_28 and Price285_28
-35.854
Price233_28 and Price285_28
-93.807
p-value
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
0.05999
< 2.2e-16
0.00001633
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
0.46
< 2.2e-16
< 2.2e-16
95 percent confidence interval
(0.04543340, 0.07254824)
(0.8785621, 0.8846234)
(0.3000571, 0.3246118)
(-0.09827343, -0.07125943)
(0.5583441, 0.5767875)
( -0.3172795, -0.2926005)
(-0.1154244, -0.0884978)
(-0.1885029, -0.1621299)
( -0.1906077, -0.1642549)
(0.1410496, 0.1676110)
(-0.0005491116, 0.0266557983)
(0.5391697, 0.5581868)
(0.01631375, 0.04349896)
(0.3035332, 0.3280290)
(-0.3095856, -0.2847796)
(0.1566420, 0.1830664)
(-0.12090163, -0.09400631)
(-0.1903100, -0.1639543)
(-0.00847711, 0.01873172)
(-0.2542849, -0.2286622)
(-0.5551619, -0.5360533)
sample estimates: cor
0.0590017
0.8816291
0.3123866
-0.08478201
0.567637
-0.3049912
-0.1019798
-0.1753479
-0.1774631
0.1543582
0.01305576
0.5487492
0.02991189
0.3158337
-0.2972328
0.1698847
-0.1074736
-0.1771639
0.005128255
-0.2415157
-0.5456785
Figura 57: Coeficientes de correlación entre valores del experimento 4. Fuente: elaboración propia.
49
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Variación de la correlación
Figura 58: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al moverlo hacia delante
o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
Lag
Figura 59: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al moverlo hacia delante o
hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
50
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Variación de la correlación
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Lag
Variación de la correlación
Figura 60: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al moverlo hacia delante o
hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
Lag
Figura 61: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al moverlo hacia delante o
hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
51
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Variación de la correlación
Figura 62: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al moverlo hacia delante o
hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
Lag
Figura 63: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al moverlo hacia delante o
hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
52
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Variación de la correlación
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Lag
Figura 64: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al moverlo hacia delante o
hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
Experimento aleatorio 5
Variación del precio
En el último experimento se toma una muestra de datos del día 31/03/2014 de 11:40:07
a 17:25:00.
Tiempo
Figura 65: Gráfica variación del precio- tiempo para el experimento 5. Fuente: elaboración propia
53
Isabel Vegas Villalmanzo
6. Resultados y discusión
Como en el día anterior, 30 de marzo, el mercado bursátil está cerrado por ser fin de
semana, se coge la media del primer día de mercado abierto anterior (el viernes 28) para
calcular la variación del precio de los distintos valores.
Cálculo de correlaciones
Pearson's product-moment correlation
t
data
-119.62
PriceIBEX_31 and Price70_31
243.79
PriceIBEX_31 and Price107_31
-103.25
PriceIBEX_31 and Price140_31
-53.515
PriceIBEX_31 and Price160_31
192.46
PriceIBEX_31 and Price233_31
119.89
PriceIBEX_31 and Price285_31
-169.32
Price70_31 and Price107_31
81.599
Price70_31 and Price140_31
120.28
Price70_31 and Price160_31
-100.81
Price70_31 and Price233_31
-67.041
Price70_31 and Price285_31
-58.235
Price107_31 and Price140_31
-76.363
Price107_31 and Price160_31
311.83
Price107_31 and Price233_31
142.65
Price107_31 and Price285_31
88.677
Price140_31 and Price160_31
-29.779
Price140_31 and Price233_31
-14.389
Price140_31 and Price285_31
-39.103
Price160_31 and Price233_31
2.5494
Price160_31 and Price285_31
220.97
Price233_31 and Price285_31
p-value
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
< 2.2e-16
0.0108
< 2.2e-16
95 percent confidence interval
(-0.6473959, -0.6312856)
(0.8576999, 0.8647377)
(-0.5920384, -0.5740528)
(-0.3605969, -0.3366592)
(0.7960601, 0.8058278)
( 0.6321491, 0.6482299)
(-0.7677619, -0.7563376)
(0.4830353, 0.5036522)
(0.6333946, 0.6494326)
(-0.5829697, -0.5646936)
(-0.4335715, -0.4111835)
(-0.3869111, -0.3634976)
(-0.4794597, -0.4582000)
(0.9056229, 0.9104049)
(0.6972231, 0.7109628)
(0.5148294, 0.5345764)
(-0.2157531, -0.1896225)
(-0.11300657, -0.08602622)
(-0.2749681, -0.2495927)
(0.00409627, 0.03133799)
(0.8339733, 0.8420848)
sample estimates: cor
-0.6394109
0.8612601
-0.583117
-0.3486849
0.8009972
0.6402596
-0.762109
0.493413
0.6414837
-0.5739031
-0.4224419
-0.3752642
-0.4688978
0.9080435
0.7041589
0.5247735
-0.2027239
-0.09953469
-0.2623258
0.01772042
0.8380754
Variación de la correlación
Figura 66: Coeficientes de correlación entre valores del experimento 5. Fuente: elaboración propia.
Lag
Figura 67: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al moverlo hacia delante o hacia
atrás (lag), en el experimento 5. Fuente: elaboración propia.
54
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Variación de la correlación
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Lag
Variación de la correlación
Figura 68: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al moverlo hacia delante o hacia
atrás (lag), en el experimento 5. Fuente: elaboración propia.
Lag
Figura 69: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al moverlo hacia delante o hacia
atrás (lag), en el experimento 5. Fuente: elaboración propia.
55
Isabel Vegas Villalmanzo
Variación de la correlación
6. Resultados y discusión
Lag
Variación de la correlación
Figura 70: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al moverlo hacia delante o hacia
atrás (lag), en el experimento 5. Fuente: elaboración propia.
Lag
Figura 71: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al moverlo hacia delante o hacia
atrás (lag), en el experimento 5. Fuente: elaboración propia.
56
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Variación de la correlación
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Lag
Variación de la correlación
Figura 72: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al moverlo hacia delante o hacia
atrás (lag), en el experimento 5. Fuente: elaboración propia.
Lag
Figura 73: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al moverlo hacia delante o hacia
atrás (lag), en el experimento 5. Fuente: elaboración propia.
57
Isabel Vegas Villalmanzo
t-n
t-n
t-n
t-n
Experimento 1 -Experimento 2
Experimento 3
Experimento 4
Experimento 5
lag 140
Experimento 1
Experimento 2
Experimento 3
Experimento 4
Experimento 5
lag 107
Experimento 1
Experimento 2
Experimento 3
Experimento 4
Experimento 5
lag 70
Experimento 1
Experimento 2
Experimento 3
Experimento 4
Experimento 5
lag IBEX
t+n
valor IBEX
t
t+n
NA
-0.567864
0.652026
0.312387
-0.58312
valor IBEX
t
t+n
0.955643
0.975839
0.982289
0.881629
0.86126
valor IBEX
t
t+n
-0.59838
-0.18892
0.366118
0.059002
-0.63941
valor 70
t
-0.59838
-0.18892
0.366118
0.059002
-0.63941
t-n
--
t-n
t-n
t-n
valor 70
t
NA
0.444433
0.625254
-0.17535
0.493413
valor 70
t
-0.50092
-0.20211
0.416006
-0.10198
-0.76211
t+n
--
t+n
valor 107
t
t+n
-0.50092
-0.20211
0.416006
-0.10198
-0.76211
valor 107
t
t+n
0.955643
0.975839
0.982289
0.881629
0.86126
t-n
--
t-n
--
t-n
--
t-n
--
valor 107
t
t+n
NA
-0.586805
0.70515
0.548749
-0.37526
valor 140
t
t+n
NA
-0.586805
0.70515
0.548749
-0.37526
valor 140
t
t+n
NA
-0.444433
0.625254
-0.17535
0.493413
valor 140
t
t+n
NA
-0.567864
0.652026
0.312387
-0.58312
t-n
--
t-n
t-n
t-n
valor 160
t
t+n
NA
-0.570582
0.96128
0.169885
0.524774
valor 160
t
t+n
-0.65568
0.0338
0.805493
0.029912
-0.4689
valor 160
t
t+n
0.69979
0.66804
0.627255
-0.17746
0.641484
valor 160
t
t+n
-0.79433
0.07148
0.749054
-0.08478
-0.34868
t-n
--
t-n
t-n
t-n
valor 233
t
t+n
NA
-0.752411
0.716717
-0.10747
-0.20272
valor 233
t
t+n
0.694628
0.662182
0.858558
0.315834
0.908044
valor 233
t
t+n
-0.30985
0.373362
0.512398
0.154358
-0.5739
valor 233
t
t+n
0.558852
0.632843
0.819534
0.567637
0.800997
t-n
---
--
t-n
--
t-n
--
t-n
valor 285
t
t+n
NA
-NA
--0.16724
-0.17716
-0.09953
valor 285
t
t+n
0.711815
NA
--0.3187
-0.29723
0.704159
valor 285
t
t+n
-0.08905
NA
--0.11155
0.013056
-0.42244
valor 285
t
t+n
0.647487
NA
--0.28404
-0.30499
0.64026
6. Resultados y discusión
En la siguiente tabla (ver Figura 74), podemos ver los resultados del estudio de las
correlaciones de los distintos valores, en los distintos experimentos realizados.
58
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Isabel Vegas Villalmanzo
Experimento 1
Experimento 2
Experimento 3
Experimento 4
Experimento 5
lag 285
lag 233
--
t-n
valor IBEX
t
t+n
0.647487
NA
--0.28404
-0.30499
0.64026
valor IBEX
t-n
t
t+n
Experimento 1
0.558852
Experimento 2
0.632843
Experimento 3
0.819534
Experimento 4
0.567637
Experimento 5
0.800997
valor IBEX
t-n
t
t+n
Experimento 1
-0.79433
Experimento 2
0.07148
Experimento 3
0.749054
Experimento 4
-0.08478
Experimento 5
-0.34868
lag 160
--
t-n
t-n
t-n
valor 70
t
-0.08905
NA
-0.11155
0.013056
-0.42244
valor 70
t
-0.30985
0.373362
0.512398
0.154358
-0.5739
valor 70
t
0.69979
0.66804
0.627255
-0.17746
0.641484
--
t+n
t+n
t+n
--
t-n
t-n
t-n
valor 107
t
t+n
0.711815
NA
--0.3187
-0.29723
0.704159
valor 107
t
t+n
0.694628
0.662182
0.858558
0.315834
0.908044
valor 107
t
t+n
-0.65568
0.0338
0.805493
0.029912
-0.4689
t-n
---
t-n
--
t-n
--
valor 140
t
t+n
NA
-NA
--0.16724
-0.17716
-0.09953
valor 140
t
t+n
NA
-0.752411
0.716717
-0.10747
-0.20272
valor 140
t
t+n
NA
-0.570582
0.96128
0.169885
0.524774
--
t-n
t-n
t-n
valor 160
t
t+n
-0.34176
NA
--0.17788
-0.24152
0.01772
valor 160
t
t+n
-0.16017
0.550446
0.808225
0.005128
-0.26233
valor 233
t
t+n
-0.16017
0.550446
0.808225
0.005128
-0.26233
--
t-n
--
t-n
--
t-n
valor 233
t
t+n
0.592539
NA
--0.24305
-0.54568
0.838075
valor 285
t
t+n
0.592539
NA
--0.24305
-0.54568
0.838075
valor 285
t
t+n
-0.34176
NA
--0.17788
-0.24152
0.01772
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Figura 74: Resultados del estudio de las correlaciones de los distintos valores, en los distintos experimentos realizados.
Fuente: elaboración propia.
59
6. Resultados y discusión
Como resultado de este estudio de correlaciones entre valores podemos afirmar que
existe una relación lineal, en mayor o menor medida, entre los distintos valores bursátiles.
Estas correlaciones pueden ser una información útil para elaborar el modelo de predicción
de precios.
Analizando más a fondo la tabla resumen anterior, podemos llegar a las siguientes
conclusiones:
1. Algunas relaciones se mantienen en todos los experimentos, con un alto valor del
coeficiente de correlación. Este es el caso de la relación entre IBEX y el valor 107, cuya
correlación media a lo largo de los 5 experimentos realizados es 0.931332; o de IBEX y
el valor 233, con una correlación media de 0.6759726.
2. Existen valores que no presentan un valor de correlación significativo para ninguno de
los experimentos realizados, como por ejemplo: entre 70 y 285, 140 y 285, ó 160 y 285.
3. En algunos casos, hay valores que presentan coeficientes de correlación significativos
para ciertos experimentos, pero para otros no. Cuando se da este fenómeno, no
podemos asegurar que la relación entre los valores se vaya a cumplir.
Dentro de este último caso, a veces, la correlación entre dos valores suele ser del mismo
orden para todos los experimentos menos para uno, en el que no es significativa la
correlación. Sería de gran utilidad ser capaces de saber lo antes posible si en ese día nos
encontramos en el caso de que la relación entre valores no siga el valor normal, y por lo
tanto, sea no significativa.
Vamos a comprobar si es posible saber si estamos en esta situación en los primeros 90
minutos de actividad del mercado (sin contar con los 5 minutos iniciales). Para ello,
calculamos la correlación entre los valores en este periodo y analizamos su evolución.
Hemos realizado dos pruebas con diferentes pares de valores:
1. Relación entre 107 y 233
La correlación media normal entre estos dos valores es 0.780853. En el experimento 4
podemos ver que la correlación a lo largo de todo ese día es 0.315834, bastante por
debajo de la normal, y además, no significativa.
Calculando los coeficientes de correlación en los primeros 90 minutos, desde que
empieza a haber operaciones con estos valores y que además, estén fuera de los 5
minutos iniciales, podemos observar los resultados en siguiente gráfica (ver Figura 75).
60
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
107 - 233
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
8:52
9:07
9:21
9:36
Correlación
9:50
10:04
10:19
10:33
10:48
Correlación media normal
Figura 75: Correlación en los primeros 90 minutos de sesión. Fuente: elaboración propia.
Podemos llegar a la conclusión de que realizando esta comprobación diariamente,
podemos saber en qué situación nos encontramos. De esta forma, podremos actuar
consecuentemente.
2. Relación entre 70 y 160
Al igual que en la prueba anterior, en el experimento número 4 se obtiene una
correlación muy por debajo de la media. Siendo la correlación media de 0.65912725 y
la del experimento 4 de -0.17746.
Como no hay más de una operación del valor 70 hasta pasadas las 15:30:00 (primera
operación realizada a las 10:00:17), la correlación entre 70 y 160 será NA hasta ese
momento. Eso es un periodo de tiempo mucho más grande que 90 minutos. Por lo que
no podemos saber en qué situación nos encontramos hasta que sea posible calcular el
grado de covariación. Este es un problema que aparece en valores bursátiles poco
líquidos, es decir, que muestran poca actividad a lo largo del día.
6.4. Generación de modelos
Vamos a elaborar un modelo de minería de datos que sea capaz de predecir el precio de un
valor bursátil. Un modelo de minería de datos consiste en el análisis de una estructura de
datos, mediante el uso de un determinado algoritmo, para extraer patrones y reglas que, a su
vez, pueden aplicarse a otros datos para obtener información. Para lograr el mejor modelo de
predicción vamos a analizar diferentes casos: variando el número de valores a predecir en el
tiempo, el algoritmo usado, o el tamaño de la estructura de datos a entrenar.
Primero, vamos a definir las distintas estructuras de datos que vamos a emplear. Estas
estructuras están formadas por una matriz en la que en cada columna se sitúa una variable.
61
Isabel Vegas Villalmanzo
6. Resultados y discusión
Dentro de ella, cabe distinguir entre una matriz X formada por todas las columnas menos la
última, y el vector Y que es la última columna de la matriz de la estructura (ver Figura 76). Este
vector Y, es un vector de valores de precio del activo en cada momento, que representa lo que
queremos predecir. Mientras que la matriz X consta de las distintas variables que se van a
emplear para tratar de predecir Y.
Para conseguir que el modelo sea capaz de predecir los valores de Y, se usará un vector de
precios adelantado en el tiempo tantos valores (z) como tiempo queramos adelantar la
predicción, ya que nuestra frecuencia de valores es de un minuto. De esta forma, nuestra
estructura de datos estará compuesta por un matriz X con variables que empiezan en el
instante t, y un vector Y con precios desde t+z, ambos de la misma longitud. Si fuésemos a
predecir valores para los próximos 10 minutos con una muestra de 90 minutos (1 valor cada
minuto), la matriz X estaría formada por los valores de todas las variables que la componen
durante 90 minutos, empezando desde una hora determinada (por ejemplo, 10:00); y el
vector Y, de longitud 90 minutos, empezando desde las 10:10, ya que z es 10. Así, cuando se
aplique el logaritmo, este buscará las relaciones existentes entre la matriz X e Y, de forma que
el modelo sea capaz de predecir los valores adelantados z minutos en Y al entrenar el modelo.
X
X1
Muestra de x
valores
t
t+1
t+2
…
…
…
…
…
…
t+n
X2
…
Y
Xm Y-2 Y-1
Y
t+z
Figura 76: Esquema de la estructura de datos. Fuente: elaboración propia.
Se realizarán 4 modelos de predicción distintos. El modelo inicial tratará de predecir el precio
del valor 107, mientras el resto añadirá a este modelo inicial el concepto de correlación
estudiado anteriormente para intentar conseguir un mejor modelo de predicción. Así, se
podrá comprobar si al añadir a la estructura de datos, en concreto a la matriz X, el valor del
precio de ese otro activo, que previamente hemos estudiado que estaba correlacionado, el
modelo de predicción mejora o no.
62
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Para estimar el valor de 107 hemos utilizado los siguientes modelos de predicción:
-
Modelo 0: predecir 107
Modelo 1: predecir 107 + correlacionado con IBEX
Modelo 2: predecir 107 + correlacionado con 233
Modelo 3: predecir 107 + correlacionado con IBEX y 233
La estructura del modelo inicial (modelo 0) consta de una matriz X (ver Figura 76) compuesta
por las siguientes variables:
-
-
Indicadores técnicos:
- Osciladores: RSI, Momentum, SMI, MACD
- Indicadores de tendencia: WMA, ADX, SAR
- Indicadores de volatilidad: Bollinger Bands, Volatility, ATR
Y-2, valores de precio de 107 hace 2 minutos
Y-1, valores de precio de 107 hace 1 minuto
Y también, del vector Y desplazado hacia delante z minutos según tratemos de predecir a 5,
10, 15 ó 20 minutos. Además, para cada una de estos modelos iniciales de predicción a 5, 10,
15 y 20 minutos, se tomarán muestras de 30, 60, 90, 120 y 180 minutos empezando todas
ellas a las 11:40:00 del día 12/03/2014, con valores de minuto en minuto.
Para crear el resto de las estructuras de los modelos 1, 2, y 3, tomaremos la estructura del
modelo 0 como partida y se añadirán las columnas correspondientes en la matriz X, dejando
el resto de la estructura invariante. El modelo 1 añadirá una columna con el precio del IBEX,
el modelo 2 una del precio del valor 233, y el modelo 3 tanto una del IBEX como una del valor
233. De cada uno de estos modelos, se analizarán las opciones de predecir a 5, 10, 15 y 20
minutos. Todos ellos, con muestras a un minuto de 30, 60, 90, 120 y 180 valores, empezando
desde las 11:40:00.
En los modelos 1 y 2, en los que se añade el precio de otro valor que sabemos previamente
que está correlacionado, hay que estudiar si al adelantar o retrasar estos valores respecto del
que queremos predecir mejora la correlación, y por lo tanto, mejora también el modelo de
predicción. Se analizará si mejora el modelo al adelantar la serie temporal de precios (variable
en X) de estos valores respecto del 107 (lag positivo), cuando se adelanta 1, 3 ó 5 minutos para
todos los casos anteriores (predecir a 5, 10, 15 y 20 minutos con muestras a un minuto de 30,
60, 90, 120 y 180 valores, empezando desde las 11:40:00). Tras analizarlo, se escogerá la
opción de menor error para cada caso (sin lag, lag de 1 minuto, lag de 3 minutos, o lag de 5
minutos).
El modelo 3, que es una combinación de los modelos anteriores, se elaborará después del
estudio anterior y se tomaran los precios de los valores IBEX y 233 con el menor error posible.
63
Isabel Vegas Villalmanzo
6. Resultados y discusión
modelo 0
107
predecir
modelo 1
107 + IBEX
predecir
5
10
15
20
Muestras de
30 60 90 120 180
modelo 2
107 + 233
predecir
5 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
5 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
10 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
10 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
15 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
15 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
20 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
20 sin lag
lag 1 min
Muestras de
lag 3 min 30 60 90 120 180
lag 5 min
modelo 3
107 + IBEX+
233
predecir
5
10
15
20
Muestras de
30 60 90 120 180
Figura 77: Esquema de las diferentes estructuras de datos analizadas. Fuente: elaboración propia.
Se entrenarán las distintas estructuras creadas (ver Figura 77) con 3 algoritmos diferentes con
el fin de determinar qué modelo de predicción de datos es el de mayor calidad.
Los algoritmos empleados son los siguientes:
1. Modelo lineal:
El modelo lineal más simple consiste en relacionar una variable aleatoria Y con una
serie de variables controlables (no aleatorias) xm, de modo que las n observaciones de
Y (yi) verifiquen la siguiente ecuación (ver Ecuación 8):
Ecuación 8: Modelo lineal de predicción. Fuente: elaboración propia basado en [28]
Se dice que Y es la variable de predicción o dependiente y x es la variable predictora.
También, podemos expresar el modelo lineal de una forma matricial (ver Ecuación 9).
Ecuación 9: Modelo lineal de predicción en forma matricial. Fuente: elaboración propia basado en [28]
64
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Donde Y es el vector de observaciones, X la matriz del modelo, β0 es una constante, β
el vector de parámetros y є es el vector de errores o desviaciones aleatorias, siendo єi
la desviación aleatoria de yi.
Realizando una regresión lineal podremos estimar el valor de los parámetros β que
acompañan a las variables predictoras y de la constante β0. Como resultado,
tendremos un modelo de predicción de valores Y, que al aplicarlo a una muestra de
datos X, nos permite obtener valores Y con un cierto error є. [28]
Este algoritmo se ha empleado para generar modelos en R mediante la función lm().
2. Máquinas de vectores de soporte (SVM):
El SVM puede ser aplicado no solo a problemas de clasificación, sino también como
método de regresión. La idea básica de SVR (Support Vector Regression) consiste en
realizar un mapeo de los datos de entrenamiento x ∈ X, a un espacio de mayor
dimensión F a través de un mapeo no lineal φ: X → F, donde podemos realizar una
regresión lineal (ver Figura 78) [29]. La capacidad del sistema es controlada por
parámetros que no dependen de la dimensión del espacio inicial definido. [30]
Figura 78: Mapeo de los datos a un espacio de mayor dimensión. Fuente: [31]
El objetivo es buscar una optimización de las restricciones, obtenida a través de la
regresión (ver Ecuación 10). Se estima una función de pérdida que ignora los errores
que están situados a una cierta distancia del valor verdadero. Generándose variables
que miden el coste de los errores en los puntos entrenados (ξ), y en función de los
valores se descartan o se utilizan. [30]
min
s.a.
Ecuación 10: Modelo de optimización de restricciones. Fuente: [32]
65
Isabel Vegas Villalmanzo
6. Resultados y discusión
Se efectúa una regresión lineal de forma que se cumplan los márgenes de error
predefinidos. Si el sistema no es lineal, se linealiza y posteriormente se realiza la
regresión lineal (ver Figura 79). [32]
Figura 79: Transformación de un sistema no lineal a uno lineal. Fuente: [32]
La precisión del modelo depende de la selección adecuada de los parámetros, por lo
que hay que realizar una optimización del modelo de selección de parámetros. [30]
En nuestro caso, para elaborar el modelo en R usamos la función svm() del paquete
e1071. Al predecir los datos con el modelo anterior y una nueva muestra, la
optimización de selección de parámetros la realiza el sistema automáticamente.
3. Random Forest:
Es un algoritmo predictivo que usa la técnica de Bagging para combinar diferentes
árboles, donde cada árbol es construido con observaciones y variables aleatorias. Este
algoritmo se puede emplear para fabricar árboles de clasificación y de regresión, en
nuestro caso se usará como árbol de regresión. [33]
De forma resumida, el funcionamiento del algoritmo sigue el siguiente proceso (ver
Figura 80) [33]:
1. Selección de individuos al azar (usando muestreo con reemplazo) para crear
diferentes set de datos.
2. Creación de un árbol de decisión con cada set de datos, obteniendo diferentes
árboles, ya que cada set contiene diferentes individuos y diferentes variables.
3. Al crear los árboles se eligen variables al azar en cada nodo del árbol, dejando
crecer el árbol en profundidad (sin podar).
4. Una vez el algoritmo se ha entrenado, como respuesta estimada de la regresión
se obtiene el valor promedio de las respuestas predichas individualmente del
conjunto de árboles.
66
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Figura 80: Modelo Random Forest. Fuente: [34]
En un árbol de regresión, la variable a predecir no tiene ninguna clase. Se ajusta
entonces, el modelo de regresión para esta variable, con cada una de las variables
independientes. Luego, para cada variable independiente, los datos se dividen en
varios puntos de división, en los cuales se eleva al cuadrado el error entre el valor
predicho y el real. De esta forma, se consigue que la suma de errores estándar (SEE)
sea mínima. [33], [35]
Para su cálculo en R, hemos empleado la función randomForest() del paquete
randomForest.
6.5 Validación de los modelos
Después de elaborar los modelos de minería de datos para cada uno de los casos anteriores,
hay que comprobar su validez y eficacia para ver si son precisos y confiables.
Se ha establecido un criterio general de validación. Consiste, en el reprocesamiento del
modelo con una muestra de los 10 minutos siguientes de valores de X de cada estructura de
datos (X’). Al procesar X’ con el modelo se obtendrá un vector de precios estimados Y 1. Como
los datos usados son datos históricos, conocemos también el vector de precios reales Y’ (ver
Figura 81). Por lo tanto, seremos capaces de calcular el error existente entre los valores
predichos (Y1) y los reales (Y’).
67
Isabel Vegas Villalmanzo
6. Resultados y discusión
Y
X
X1
Muestra de x
valores
Muestra de
validación
(10 min)
X2
Xm Y-2 Y-1
…
Y
t
t+1
t+2
…
…
…
…
…
…
t+n
t+z
X'
Y'
Figura 81: Validación de los modelos de minería de datos. Fuente: elaboración propia.
Para calcular el error emplearemos la raíz del error cuadrático medio (RMSE), ampliamente
usado en machine learning (ver Ecuación 11), que tiene las mismas unidades que la cantidad
que se estima.
Ecuación 11: Raíz del error cuadrático medio. Fuente: elaboración propia.
A menor error, mejor será la predicción, y por tanto, mejor será nuestro modelo. El cálculo del
error tendrá una doble función: validación del modelo, y criterio de selección del mejor
modelo de predicción.
68
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
7. CONCLUSIONES
Una vez se han elaborado y validado todos los casos de modelos de minería de datos
previamente descritos, tenemos que analizar cuáles son los más apropiados para lograr
nuestro objetivo: predecir el valor del precio del activo 107 a lo largo del tiempo.
Primero, vamos a determinar para el modelo 1 (predecir 107 + correlacionado con IBEX) y el
modelo 2 (predecir 107 + correlacionado con 233) que configuración del valor correlacionado
con el que queremos predecir es la más precisa, es decir, la de menor error de predicción. Se
va a elegir entre una de las siguientes configuraciones: sin lag o con lag de 1, 3 ó 5 minutos
adelantado para los casos de predecir a 5, 10, 15 y 20 minutos con muestras de 30, 60, 90, 120
y 180 minutos (empezando desde las 11:40:00), con los distintos algoritmos empleados. A
continuación, podemos ver unas tablas que nos indican la configuración más adecuada (ver
Figura 82), en función del algoritmo empleado y de la longitud de tiempo a predecir, siendo
todos ellos válidos, en general, para cualquier tamaño de muestra empleado.
lm
lag IBEX
lag 233
5
3
5
10
3
5
15
1
5
20
1
5
svm
lag IBEX
lag 233
5
5
1
10
5
1
15
5
1
20
5
1
rf
lag IBEX
lag 233
5
3
5
10
3
1
15
3
5
20
3
3
Figura 82: Configuración óptima de los valores IBEX y 233 para los modelos. Fuente: elaboración propia.
Se confirma así, la importancia de los valores correlacionados, ya que pueden actuar como
predictores adelantados. Al mover la serie hacia delante en mayor o menor medida, la
correlación entre los valores mejora. Por lo tanto, también mejora el modelo de predicción.
Para el modelo 1 (107 + IBEX), es preferible emplear siempre en el modelo de predicción la
serie de precios del IBEX adelantada. Si se usa un algoritmo lineal, para predecir a 5 ó 10
minutos es mejor usar la serie adelantada 3 minutos respecto del valor a predecir (107).
Mientras, que si se estima a más tiempo, como a 15 ó 20 minutos, es más adecuado
adelantarla 1 minuto. En cambio, si se emplea el algoritmo de la máquina de vectores de
soporte (SVM) es preferible usarla 5 minutos adelantada, y para el algoritmo random forest,
con tan solo 3 minutos.
En cuanto al modelo 2 (107 + 233), si se emplea el modelo lineal es mejor usar el precio del
valor 233 adelantado 5 minutos respecto el 107, y si se usa el modelo SVM basta con 1 minuto
de adelanto. Para el random forest podemos ver en la Figura 82 que según el tiempo a predecir
69
Isabel Vegas Villalmanzo
7. Conclusiones
es conveniente usar el vector de precio de 233 adelantado respecto al que queremos predecir
en mayor o menor medida.
Para elaborar el modelo 3 (107 + IBEX + 233) se han tenido en cuenta los resultados anteriores
para escoger las series de precios del IBEX y del 233 en su configuración óptima.
Ahora, que ya tenemos claro que datos se han empleado en los modelos anteriores, podemos
comparar los resultados de todos los modelos ( 0, 1, 2, y 3) para predecir a 5, 10, 15 y 20
minutos con muestras de 30, 60, 90, 120 y 180 minutos (empezando desde las 11:40:00), y
con los distintos algoritmos empleados.
Vamos a analizar los resultados de los diferentes modelos al emplear el algoritmo lineal (ver
Figura 83).
Modelos lineales
0,045
0,04
0,035
Error
0,03
0,025
0,02
0,015
0,01
0,005
0
0
20
40
60
80
100
120
140
160
180
200
Tamaño muestra
MODELO 0 - 5
MODELO 0 - 10
MODELO 0 - 15
MODELO 0 - 20
MODELO 1 - 5
MODELO 1 - 10
MODELO 1 - 15
MODELO 1 - 20
MODELO 2 - 5
MODELO 2 -10
MODELO 2 - 15
MODELO 2 - 20
MODELO 3 - 5
MODELO 3 - 10
MODELO 3 - 15
MODELO 3 - 20
Figura 83: Modelos lineales. Fuente: elaboración propia.
Usando el modelo lineal, podemos observar que los mejores resultados se obtienen al
predecir a 20 minutos. A continuación, hemos aislado en la Figura 84 los diferentes modelos
que predicen a 20 minutos para poder compararlos adecuadamente.
En la gráfica de la Figura 84, el modelo que da resultados óptimos para muestras de mayor
tamaño (120/ 180 minutos) es el modelo 0 (sólo predice 107, sin ninguna correlación). Pero
para muestras menores (30/ 60/ 90 minutos), los resultados son visiblemente mejores si se
usa el modelo 1 (predecir 107 correlacionado con IBEX adelantado 1 minuto). Por lo tanto,
70
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
habrá que tener en cuenta un modelo u otro dependiendo de si se van a usar muestras de
mayor o menor tamaño.
Modelos lineales a 20'
0,025
Error
0,02
0,015
0,01
0,005
0
0
50
100
150
200
Tamaño muestra
MODELO 0 - 20
MODELO 1 - 20
MODELO 2 - 20
MODELO 3 - 20
Figura 84: Modelos lineales que predicen a 20 minutos. Fuente: elaboración propia.
Analizando los modelos elaborados mediante el algoritmo de máquina de vectores de soporte
(ver Figura 85), podemos ver que las predicciones son más homogéneas que las lineales para
la mayoría de los casos y además, el error en general es menor que con el lineal.
Modelos SVM
0,03
0,025
Error
0,02
0,015
0,01
0,005
0
0
20
40
60
80
100
120
140
160
180
200
Tamaño muestra
MODELO 0 - 5
MODELO 1 - 5
MODELO 2 - 5
MODELO 3 - 5
MODELO 0 - 10
MODELO 1 - 10
MODELO 2 -10
MODELO 3 - 10
MODELO 0 - 15
MODELO 1 - 15
MODELO 2 - 15
MODELO 3 - 15
MODELO 0 - 20
MODELO 1 - 20
MODELO 2 - 20
MODELO 3 - 20
Figura 85: Modelos usando SVM. Fuente: elaboración propia.
71
Isabel Vegas Villalmanzo
7. Conclusiones
Como se puede observar en la Figura 85, los errores de predicción aumentan para muestras
de menor tamaño en cualquier modelo cuando se predice a 20 minutos. En cambio, el error
es mayor en muestras grandes cuando los modelos son a 5 minutos. Y, al igual que ocurre con
el modelo lineal, el resultado óptimo con una muestra mayor (120/ 180 minutos) se da con el
modelo 0 a 20 minutos.
En cuanto a los modelos desarrollados con el algoritmo random forest (ver Figura 86), las
estimaciones son también más homogéneas que las de los modelos lineales, y de menor error.
Modelos random forest
0,02
0,018
0,016
0,014
Error
0,012
0,01
0,008
0,006
0,004
0,002
0
0
20
40
60
80
100
120
140
160
180
200
Tamaño muestra
MODELO 0 - 5
MODELO 1 - 5
MODELO 2 - 5
MODELO 3 - 5
MODELO 0 - 10
MODELO 1 - 10
MODELO 2 -10
MODELO 3 - 10
MODELO 0 - 15
MODELO 1 - 15
MODELO 2 - 15
MODELO 3 - 15
MODELO 0 - 20
MODELO 1 - 20
MODELO 2 - 20
MODELO 3 - 20
Figura 86: Modelos usando random forest. Fuente: elaboración propia.
Los modelos con random forest muestran unos resultados muy similares a los de los diferentes
modelos empleando el algoritmo SVM (ver Figura 85 y Figura 86), aunque con menor error
de predicción en todos los casos. Comparando la cota superior e inferior de errores para todos
los modelos usando uno u otro algoritmo, se puede evidenciar claramente el nivel de mejora
de estimación al usar el algoritmo random forest (ver Figura 87). Para ambos, la cota inferior
de error se obtiene con el modelo 0 a 20 minutos.
Algortimo
cota superior
cota inferior
svm
0.02545265
0.000812166
rf
0.01791281
0.000447824
Figura 87: Errores al usar SVM y random forest. Fuente: elaboración propia.
72
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Además, para los diferentes modelos estudiados al emplear estos dos algoritmos se cumple,
en general, que a mayor tamaño de muestra, mayor es el error de predicción encontrado.
Como se puede apreciar en los diferentes modelos al usar algoritmos SVM y random forest, y
para el lineal en menor medida, existe un aumento del error significativo alrededor de la
muestra de 60 minutos y de 120 a 180. Esto se debe a que los modelos no son capaces de
predecir adecuadamente el cambio de tendencia. Como podemos ver en la gráfica siguiente
(ver Figura 88), siendo cada línea azul vertical el último valor que abarca cada muestra tomada
desde las 11:40:00, que justo antes del valor 60 hay un cambio abrupto de tendencia. Lo
mismo ocurre entre 120 y 180.
Por otra parte, para todos los algoritmos en general, las muestras tomadas alrededor de 90/
100 minutos son las de menor error. Una de las razones será el claro mantenimiento de la
tendencia que se produce en los últimos 30 valores de estas muestras (ver Figura 88).
Figura 88: Variación relativa de los precios respecto de la media del día anterior para las muestras tomadas. Fuente:
elaboración propia.
Por lo tanto, los resultados estarán influenciados por la muestra tomada. Si esta se toma otro
día, la evolución a lo largo del tiempo de los precios será diferente, y por lo tanto los modelos
mostraran distintos errores de predicción. Siempre cumpliéndose que el error aumentará
ligeramente cuando cambie la tendencia de los precios abruptamente. Aun así, los errores de
estimación varían entre 0,04 y 0,002 (entre 0.6% y 0.03%) en todos los casos, por lo que se
pueden considerar muy buenos al ser un margen de error bastante manejable para operar.
73
Isabel Vegas Villalmanzo
7. Conclusiones
Como norma general, los modelos lineales muestran un mayor error de predicción que los no
lineales (SVM y random forest). Además, la predicción usando el modelo lineal varía
significativamente con el tiempo a predecir, mejorando notablemente a mayor tiempo (ver
Figura 89). Este error medio se ha calculado con la media de todos los modelos (0, 1, 2, y 3)
para todas las muestras (30, 60, 90, 120 y 180) para cada uno de los tiempos a predecir
calculados.
Error medio
5'
10'
15'
20'
lm
0.016394
0.013739
0.016566
0.009345
svm
rf
0.010483 0.007458
0.008633 0.0066
0.008127 0.006059
0.010031 0.006873
Error medio algoritmos
0,02
Error
0,015
0,01
0,005
0
0
5
10
15
20
25
Minutos a predecir
lm
svm
rf
Figura 89: Error medio de todos los casos de modelo al emplear cada algoritmo. Fuente: elaboración propia.
Por lo tanto, es preferible usar en todos los casos (modelos 0, 1, 2 y 3 para predecir a 5, 10, 15
y 20 minutos con muestras de 30, 60, 90, 120 y 180 minutos (empezando desde las 11:40:00))
el algoritmo random forest.
Al usar este algoritmo, como se puede ver en la ver Figura 86, los modelos de predicción a 20
minutos muestran un error mayor para pequeñas muestras. Mientras que los modelos a 5
minutos presentan los mayores errores al emplear muestras de mayor tamaño.
Si la tendencia se mantiene, el error se sitúa en general para todos los modelos en torno al
0.003 – 0.0065. Por otra parte, el incremento de error al producirse un cambio abrupto de
tendencia es mayor para modelos que predicen a mayor tiempo que los que estiman a uno
menor. En este caso, los mayores errores por este motivo se dan en modelos que estiman a
20 minutos, y en cambio, los modelos a 5 minutos logran una predicción sin apenas
incrementos de error de estas situaciones.
74
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos para mercado de alta frecuencia
Un caso a comentar, es el de los modelos de predicción a 15 minutos, cuyo error se mantiene
en las mismas cotas para las muestras más pequeñas y grandes. Pero sin embargo, no son
capaces de predecir adecuadamente el cambio de tendencia, por lo que aumenta su error
considerablemente.
Además, comparando el resultado de los diferentes modelos que predicen a 15 minutos (ver
Figura 90), el de mejor resultado (menor error) es el modelo 1 para muestras más grandes y
el modelo 2 cuando aparece el cambio de tendencia en la muestra de 60 minutos. Ambos
modelos cuentan con los precios de otros valores adelantados en mayor o menor medida
respecto del valor a predecir. En el caso del modelo2, cuenta con el precio del valor 233
adelantado 5 minutos respecto del 107. Al observar la evolución temporal del precio de 233
(ver Figura 88) se pueden ver que los cambios de tendencia que aparecen en 107 ocurren un
poco antes en 233. De esta forma, este modelo será de gran ayuda para poder predecir
correctamente cuando van a ocurrir estos cambios de tendencia.
Modelos con random forest a 15'
0,012
0,01
Error
0,008
0,006
0,004
0,002
0
0
50
100
150
200
Tamaño muestra
MODELO 0 - 15
MODELO 1 - 15
MODELO 2 - 15
MODELO 3 - 15
Figura 90: Modelos random forest que predicen a 15 minutos. Fuente: elaboración propia.
Si se aplica el modelo de predicción a la realidad, como se realizan un gran número de
operaciones a lo largo del día, el impacto que tendrá el aumento del error de predicción por
el cambio de tendencia será mínimo. Esto se debe a que nos movemos en errores entorno al
0.012 – 0.018 en el peor de los casos, y se podrán compensar ampliamente con el resto de las
operaciones.
75
Isabel Vegas Villalmanzo
8. Líneas futuras
8. LÍNEAS FUTURAS
El estudio realizado del modelo de predicción de valores de bolsa mediante minería de datos
es meramente teórico. A la vista de los resultados obtenidos, se podría estudiar su aplicación
real, ya que el error obtenido es manejable desde un punto de vista operativo.
Además, se ha podido comprobar que el uso de otros valores correlacionados puede resultar
ventajoso a la hora de predecir valores. Por lo que, por una parte, el error de estimación
disminuye y por otra, puede ayudar, en determinados casos, a predecir el cambio de tendencia
en el precio.
En un futuro, se podría realizar este estudio para un abanico más amplio de valores y
progresivamente en el tiempo. De esta forma, se podría profundizar más en las relaciones
existentes entre valores y en la eficiencia de los modelos de predicción a lo largo del tiempo.
76
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos en mercados de alta frecuencia
9. BIBLIOGRAFÍA
[1] Sánchez Monjo, M. and Pineda Martínez, A. (2013). Cuatrecasas. [online] Cuatrecasas.
Disponible en:
http://www.cuatrecasas.com/media_repository/docs/esp/la_denominada_negociacion_aut
omatizada_de_alta_frecuencia_(high_frequency_trading)._revista_de_derecho_del_mercad
o_de_valores_n_12_2013_(enero-junio)._316.pdf
[2] Alubankudi, B. and Tapia, M. (2014). Innovación y tecnología. [online] Bolsas y mercados.
Disponible en:
https://www.bolsasymercados.es/docs/BME/docsSubidos/48-52_I_T-ArtAlta_Frecuencia.pdf
[3] Segura, J. (2014). Qué es el High-Frequency Trading y por qué es peligroso. [online]
Estratega Financiero - Finanzas Personales Alternativas. Disponible en:
http://estrategafinanciero.com/que-es-el-high-frequency-trading-y-por-que-es-peligroso/.
[4] Vegas Alonso, J. BT Global Services.
[5] Heredia, R. (2015). BI, Minería de Datos y Big Data: Oportunidades para la Banca Digital Reporte Digital. [online] Reporte Digital. Disponible en:
http://reportedigital.com/iot/bi-mineria-datos-big-data-oportunidades-banca-digital/.
[6] Krall, C. (2016). Minería de datos (data mining). ¿Qué es? ¿Para qué sirve? (1ª parte)
(DV00105A). [online] Aprenderaprogramar.com. Disponible en:
http://www.aprenderaprogramar.com/index.php?option=com_content&id=252:mineria-dedatos-data-mining-ique-es-ipara-que-sirve-1o-parte-dv00105a&Itemid=164
[7] Vallejos, S. (2006). [online] http://exa.unne.edu.ar/. Disponible en:
http://exa.unne.edu.ar/informatica/SO/Mineria_Datos_Vallejos.pdf
[8] Msdn.microsoft.com. (2016). Conceptos de minería de datos. [online]. Disponible en:
https://msdn.microsoft.com/es-es/library/ms174949.aspx
[9] Herrera, F., Riquelme, J. and Ruiz, R. (2004). [online]. Disponible en:
http://www.lsi.us.es/redmidas/IIreunion/trans/prepro.pdf
[10] Msdn.microsoft.com. (2016). Modelos de minería de datos (Analysis Services - Minería
de datos). [online]. Disponible en:
https://msdn.microsoft.com/es-es/library/cc645779(v=sql.120).aspx
[11] Tick Data, LLC. (n.d.). Tick Data: Historical Forex, Options, Stock & Futures Data. [online].
Disponible en: https://www.tickdata.com/
77
Isabel Vegas Villalmanzo
9. Bibliografía
[12] Zivot, E. (2014). Working with Financial Time Series Data in R. [online] Disponible en:
http://faculty.washington.edu/ezivot/econ424/Working%20with%20Time%20Series%20Dat
a%20in%20R.pdf
[13] Bolsamadrid.es. (2016). Bolsa de Madrid - Horario Mercado. [online] Disponible en:
http://www.bolsamadrid.es/esp/Inversores/Agenda/HorarioMercado.aspx
[14] Clicktrade.es. (n.d.). Funcionamiento de las subastas de apertura y cierre en la bolsa de
valores - Clicktrade. [online] Disponible en:
http://www.clicktrade.es/blog-trading/183/funcionamiento-de-las-subastas-de-apertura-ycierre-en-la-bolsa-de-valores.
[15] Rankia. (2010). Indicadores técnicos (III) - El RSI... y la táctica del acechador. [online]
Disponible en:
http://www.rankia.com/blog/ahorrador-compulsivo/628258-indicadores-tecnicos-iii-rsitactica-acechador.
[16] 21tradingcoach.com. (n.d.). 21 Trading Coach - Análisis Técnico. [online] Disponible en:
http://www.21tradingcoach.com/es/formaci%C3%B3n-gratuita/an%C3%A1lisist%C3%A9cnico
[17] Cordero, E. (2015). SMI: Stochastic Momentum Index • esBolsa. [online] esBolsa.
Disponible en:
http://esbolsa.com/blog/analisis-tecnico/smi-stochastic-momentum-index/.
[18] Mateu Gordon, J. (2016). MACD. [online] Expansion.com. Disponible en:
http://www.expansion.com/diccionario-economico/macd.html.
[19] Metatrader5.com. (n.d.). MACD - Osciladores - Uso de indicadores técnicos - Gráficos de
cotizaciones, análisis técnico y fundamental - Guía de ayuda de MetaTrader 5.
[online]Disponible en:
http://www.metatrader5.com/es/terminal/help/indicators/oscillators/macd.
[20] Efxto.com. (n.d.). MACD (Moving Average Convergence Divergence) – eFXto Forex.
[online] Disponible en:
https://efxto.com/escuela/macd.
[21] Indicatorsmt4.com. (n.d.). Moving Averages: EMA, SMA and WMA | Forex Indicators
MT4. [online]Disponible en:
http://www.indicatorsmt4.com/indicators-wiki/trend-indicators/moving-averages-emasma-and-wma/?lang=es.
78
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos en mercados de alta frecuencia
[22] Cordero, E. (2014). ADX: Average Directional Index • esBolsa. [online] esBolsa. Disponible
en:
http://esbolsa.com/blog/analisis-tecnico/adx-average-directional-index/.
[23] Canessa C., R. (2014). Indicador SAR Parabólico | Técnicas de Trading. [online] Técnicas
de Trading. Disponible en:
http://www.tecnicasdetrading.com/2014/01/indicador-tecnico-sar-parabolico.html.
[24] Efxto.com. (n.d.). Bandas de Bollinger – eFXto Forex. [online] Disponible en:
https://efxto.com/diccionario/bandas-de-bollinger.
[25] Elaccionista.com. (n.d.). Volatility. [online]Disponible en:
http://www.elaccionista.com/indicadores/Volatility.html
[26] ESTRATEGIAS DE TRADING. (2014). El indicador ATR (Average True Range) : medir la
volatilidad. [online]Disponible en:
http://estrategiastrading.com/indicador-atr/
[27] COEFICIENTE DE CORRELACIÓN LINEAL DE PEARSON. [online]Disponible en:
http://personal.us.es/vararey/adatos2/correlacion.pdf
[28] Carmona, F. (2005). Modelos lineales. Pub. Univ. de Barcelona, Barcelona.
[29] Es.wikipedia.org. (n.d.). Máquinas de vectores de soporte. [online] Disponible en:
https://es.wikipedia.org/wiki/M%C3%A1quinas_de_vectores_de_soporte
[30] Kernelsvm.tripod.com. (n.d.). Support Vector Machine Regression. [online] Disponible
en:
http://kernelsvm.tripod.com/
[31] Stackoverflow.com. (2012). What is the relation between the number of Support
Vectors and training data and classifiers performance?. [online] Disponible en:
http://stackoverflow.com/questions/9480605/what-is-the-relation-between-the-number-ofsupport-vectors-and-training-data-and
[32] Saedsayad.com. (n.d.). Support Vector Regression. [online] Disponible en:
http://www.saedsayad.com/support_vector_machine_reg.htm
[33] Santana, E. (2014). Data Mining con R: Ejemplo de Random Forest. [online] Apuntesr.blogspot.com.es. Disponible en:
http://apuntes-r.blogspot.com.es/2014/11/ejemplo-de-random-forest.html
79
Isabel Vegas Villalmanzo
9. Bibliografía
[34] Conceptual diagram of the RANDOM FOREST algorithm. On the left, trees... - Scientific
Figure on ResearchGate. Disponible en:
https://www.researchgate.net/figure/278677730_fig2_Conceptual-diagram-of-theRANDOM-FOREST-algorithm-On-the-left-trees-are-trained
[35] Barber i Vallés, X. (n.d.). Técnicas Estadísticas en Investigación de Mercados.
[online]Disponible en:
http://umh1480.edu.umh.es/wpcontent/uploads/sites/44/2013/02/teim_sesion_007_14_15.pdf
80
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos en mercados de alta frecuencia
10. PLANIFICACIÓN TEMPORAL Y PRESUPUESTO
La programación temporal del proyecto trabajo fin de grado se ha dividido en varias fases, y
estas a su vez en múltiples tareas (ver Figura 91).
Nombre de tarea
Duración
Comienzo
Fin
Fase Preliminar
64 días
mié 07/10/15
lun 04/01/16
Definición del
problema
7 días
mié 07/10/15
jue 15/10/15
Aprender R
30 días
vie 16/10/15
jue 26/11/15
Recopilación de datos
e información
57 días
vie 16/10/15
lun 04/01/16
Fin Fase Preliminar
0 días
lun 04/01/16
lun 04/01/16
Fase Diseño
112 días
mar 05/01/16
mié 08/06/16
Preparación de los
datos
30 días
mar 05/01/16
lun 15/02/16
Exploración de los
datos
45 días
mar 16/02/16
lun 18/04/16
Generar modelos
30 días
mar 19/04/16
lun 30/05/16
Validación de los
modelos
7 días
mar 31/05/16
mié 08/06/16
Fin Fase Diseño
0 días
mié 08/06/16
mié 08/06/16
Fase Análisis
28 días
jue 09/06/16
dom 17/07/16
Análisis de los
resultados
21 días
jue 09/06/16
jue 07/07/16
Estudio y
conclusiones
7 días
vie 08/07/16
sáb 16/07/16
0 días
dom 17/07/16
dom 17/07/16
Documentación:
Elaboración de la
memoria
108 días
vie 19/02/16
dom 17/07/16
Elaboración de la
memoria
108 días
vie 19/02/16
dom 17/07/16
0 días
dom 17/07/16
dom 17/07/16
Fin Fase Análisis
TFG listo
Figura 91: Fases y tareas del proyecto trabajo fin de grado. Fuente: elaboración propia.
A continuación, podemos ver el diagrama PERT con vista Gantt del proyecto (ver Figura 93),
donde:
Figura 92: Leyenda del diagrama de Gantt. Fuente: elaboración propia.
81
Isabel Vegas Villalmanzo
10. Planificación temporal y presupuesto
Figura 93: Diagrama PERT con vista Gantt del proyecto. Fuente: elaboración propia.
82
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos en mercados de alta frecuencia
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Presupuesto de Proyecto por Recursos
Líder del Proyecto: Isabel Vegas Villalmanzo
Presupuesto
17,830.00
Fecha de Inicio: [07/10/2015]
Total
Categoría
Recurso
Costos Directos
Labor (Personal)
Ayudande de investigación
Analista
Administrativo
Consultoría
Consultor
Coste
Tipo de Unidades Unitario
Presupuesto
Horas / Jornadas
Horas / Jornadas
Horas / Jornadas
35
45
20
17,270.00
9,240.00
5,850.00
2,180.00
Horas / Jornadas
40
560.00
560.00
83
Isabel Vegas Villalmanzo
11. Índice de figuras
11. ÍNDICE DE FIGURAS
Figura 1: Representación del proceso de la minería de datos. Fuente: elaboración propia
basado en [8]. ............................................................................................................................. 9
Figura 2: Etapas del proceso de minería de datos sensibles a problemas con los datos.
Fuente: elaboración propia basado en [8] ............................................................................... 10
Figura 3: Estructura de los datos. Fuente: elaboración propia. ............................................... 15
Figura 4: Esquema homogeneización de series temporales. Fuente: elaboración propia. ..... 15
Figura 5: Horarios de apertura de BME. Fuente: elaboración propia basado en [13] ............. 16
Figura 6: Esquema de un día de mercado bursátil en BME. Fuente: elaboración propia. ...... 16
Figura 7: Osciladores RSI, Momentum, MACD y SMI del valor 70. Fuente: elaboración propia.
.................................................................................................................................................. 21
Figura 8: Indicadores de tendencia WMA, ADX y SAR del valor 70. Fuente: elaboración
propia. ...................................................................................................................................... 21
Figura 9: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 70. Fuente:
elaboración propia. .................................................................................................................. 22
Figura 10: Osciladores RSI, Momentum, MACD y SMI del valor 107. Fuente: elaboración
propia. ...................................................................................................................................... 22
Figura 11: Indicadores de tendencia WMA, ADX y SAR del valor 107. Fuente: elaboración
propia. ...................................................................................................................................... 23
Figura 12: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 107.
Fuente: elaboración propia. ..................................................................................................... 23
Figura 13: Osciladores RSI, Momentum, MACD y SMI del valor 140. Fuente: elaboración
propia. ...................................................................................................................................... 24
Figura 14: Indicadores de tendencia WMA, ADX y SAR del valor 140. Fuente: elaboración
propia. ...................................................................................................................................... 24
Figura 15: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 140.
Fuente: elaboración propia. ..................................................................................................... 25
Figura 16: Osciladores RSI, Momentum, MACD y SMI del valor 160. Fuente: elaboración
propia. ...................................................................................................................................... 25
Figura 17: Indicadores de tendencia WMA, ADX y SAR del valor 160. Fuente: elaboración
propia. ...................................................................................................................................... 26
Figura 18: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 160.
Fuente: elaboración propia. ..................................................................................................... 26
Figura 19: Osciladores RSI, Momentum, MACD y SMI del valor 233. Fuente: elaboración
propia. ...................................................................................................................................... 27
Figura 20: Indicadores de tendencia WMA, ADX y SAR del valor 233. Fuente: elaboración
propia. ...................................................................................................................................... 27
Figura 21: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 233.
Fuente: elaboración propia. ..................................................................................................... 28
Figura 22: Osciladores RSI, Momentum, MACD y SMI del valor 285. Fuente: elaboración
propia. ...................................................................................................................................... 28
84
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos en mercados de alta frecuencia
Figura 23: Indicadores de tendencia WMA, ADX y SAR del valor 285. Fuente: elaboración
propia. ...................................................................................................................................... 29
Figura 24: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor 285.
Fuente: elaboración propia. ..................................................................................................... 29
Figura 25: Osciladores RSI, Momentum, MACD y SMI del IBEX. Fuente: elaboración propia. 30
Figura 26: Indicadores de tendencia WMA, ADX y SAR del IBEX. Fuente: elaboración propia.
.................................................................................................................................................. 30
Figura 27: Indicadores de volatilidad Bollinger Bands, Volatility y ATR para el valor IBEX.
Fuente: elaboración propia. ..................................................................................................... 31
Figura 28: Calendario con las muestras escogidas para realizar los experimentos marcadas.
Fuente: elaboración propia. ..................................................................................................... 32
Figura 29: Gráfica variación del precio- tiempo para el experimento 1. Fuente: elaboración
propia. ...................................................................................................................................... 34
Figura 30: Coeficientes de correlación entre valores del experimento 1. Fuente: elaboración
propia. ...................................................................................................................................... 35
Figura 31: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al
moverlo hacia delante o hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
.................................................................................................................................................. 36
Figura 32: Esquema del movimiento lag de IBEX hacia atrás respecto de los valores 233 y 70.
Fuente: elaboración propia. ..................................................................................................... 37
Figura 33: Esquema del movimiento lag de IBEX hacia delante respecto del valor 285. Fuente:
elaboración propia. .................................................................................................................. 37
Figura 34: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al
moverlo hacia delante o hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
.................................................................................................................................................. 38
Figura 35: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al
moverlo hacia delante o hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
.................................................................................................................................................. 38
Figura 36: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al
moverlo hacia delante o hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
.................................................................................................................................................. 39
Figura 37: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al
moverlo hacia delante o hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
.................................................................................................................................................. 39
Figura 38: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al
moverlo hacia delante o hacia atrás (lag), en el experimento 1. Fuente: elaboración propia.
.................................................................................................................................................. 40
Figura 39: Gráfica variación del precio- tiempo para el experimento 2. Fuente: elaboración
propia. ...................................................................................................................................... 40
Figura 40: Coeficientes de correlación entre valores del experimento 2. Fuente: elaboración
propia. ...................................................................................................................................... 41
Figura 41: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al
moverlo hacia delante o hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
.................................................................................................................................................. 41
85
Isabel Vegas Villalmanzo
11. Índice de figuras
Figura 42: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al
moverlo hacia delante o hacia atrás (lag), en el experimento 2. Fuente: elaboración propia 42
Figura 43: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al
moverlo hacia delante o hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
.................................................................................................................................................. 42
Figura 44: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al
moverlo hacia delante o hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
.................................................................................................................................................. 43
Figura 45: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al
moverlo hacia delante o hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
.................................................................................................................................................. 43
Figura 46: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al
moverlo hacia delante o hacia atrás (lag), en el experimento 2. Fuente: elaboración propia.
.................................................................................................................................................. 44
Figura 47: Gráfica variación del precio- tiempo para el experimento 3. Fuente: elaboración
propia. ...................................................................................................................................... 44
Figura 48: Coeficientes de correlación entre valores del experimento 3. Fuente: elaboración
propia. ...................................................................................................................................... 45
Figura 49: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al
moverlo hacia delante o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
.................................................................................................................................................. 45
Figura 50: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al
moverlo hacia delante o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
.................................................................................................................................................. 46
Figura 51: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al
moverlo hacia delante o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
.................................................................................................................................................. 46
Figura 52: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al
moverlo hacia delante o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
.................................................................................................................................................. 47
Figura 53: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al
moverlo hacia delante o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
.................................................................................................................................................. 47
Figura 54: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al
moverlo hacia delante o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
.................................................................................................................................................. 48
Figura 55: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al
moverlo hacia delante o hacia atrás (lag), en el experimento 3. Fuente: elaboración propia.
.................................................................................................................................................. 48
Figura 56: Gráfica variación del precio- tiempo para el experimento 4. Fuente: elaboración
propia ....................................................................................................................................... 49
Figura 57: Coeficientes de correlación entre valores del experimento 4. Fuente: elaboración
propia. ...................................................................................................................................... 49
86
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Predicción de valores de bolsa mediante minería de datos en mercados de alta frecuencia
Figura 58: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al
moverlo hacia delante o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
.................................................................................................................................................. 50
Figura 59: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al
moverlo hacia delante o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
.................................................................................................................................................. 50
Figura 60: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al
moverlo hacia delante o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
.................................................................................................................................................. 51
Figura 61: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al
moverlo hacia delante o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
.................................................................................................................................................. 51
Figura 62: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al
moverlo hacia delante o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
.................................................................................................................................................. 52
Figura 63: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al
moverlo hacia delante o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
.................................................................................................................................................. 52
Figura 64: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al
moverlo hacia delante o hacia atrás (lag), en el experimento 4. Fuente: elaboración propia.
.................................................................................................................................................. 53
Figura 65: Gráfica variación del precio- tiempo para el experimento 5. Fuente: elaboración
propia ....................................................................................................................................... 53
Figura 66: Coeficientes de correlación entre valores del experimento 5. Fuente: elaboración
propia. ...................................................................................................................................... 54
Figura 67: Variación de la correlación respecto la inicial entre los distintos valores y el IBEX al
moverlo hacia delante o hacia atrás (lag), en el experimento 5. Fuente: elaboración propia.
.................................................................................................................................................. 54
Figura 68: Variación de la correlación respecto la inicial entre los distintos valores y el 70 al
moverlo hacia delante o hacia atrás (lag), en el experimento 5. Fuente: elaboración propia.
.................................................................................................................................................. 55
Figura 69: Variación de la correlación respecto la inicial entre los distintos valores y el 107 al
moverlo hacia delante o hacia atrás (lag), en el experimento 5. Fuente: elaboración propia.
.................................................................................................................................................. 55
Figura 70: Variación de la correlación respecto la inicial entre los distintos valores y el 140 al
moverlo hacia delante o hacia atrás (lag), en el experimento 5. Fuente: elaboración propia.
.................................................................................................................................................. 56
Figura 71: Variación de la correlación respecto la inicial entre los distintos valores y el 160 al
moverlo hacia delante o hacia atrás (lag), en el experimento 5. Fuente: elaboración propia.
.................................................................................................................................................. 56
Figura 72: Variación de la correlación respecto la inicial entre los distintos valores y el 233 al
moverlo hacia delante o hacia atrás (lag), en el experimento 5. Fuente: elaboración propia.
.................................................................................................................................................. 57
87
Isabel Vegas Villalmanzo
11. Índice de figuras
Figura 73: Variación de la correlación respecto la inicial entre los distintos valores y el 285 al
moverlo hacia delante o hacia atrás (lag), en el experimento 5. Fuente: elaboración propia.
.................................................................................................................................................. 57
Figura 74: Resultados del estudio de las correlaciones de los distintos valores, en los distintos
experimentos realizados. Fuente: elaboración propia. ........................................................... 59
Figura 75: Correlación en los primeros 90 minutos de sesión. Fuente: elaboración propia. .. 61
Figura 76: Esquema de la estructura de datos. Fuente: elaboración propia. .......................... 62
Figura 77: Esquema de las diferentes estructuras de datos analizadas. Fuente: elaboración
propia. ...................................................................................................................................... 64
Figura 78: Mapeo de los datos a un espacio de mayor dimensión. Fuente: [31] .................... 65
Figura 79: Transformación de un sistema no lineal a uno lineal. Fuente: [32]........................ 66
Figura 80: Modelo Random Forest. Fuente: [34] ..................................................................... 67
Figura 81: Validación de los modelos de minería de datos. Fuente: elaboración propia. ...... 68
Figura 82: Configuración óptima de los valores IBEX y 233 para los modelos. Fuente:
elaboración propia. .................................................................................................................. 69
Figura 83: Modelos lineales. Fuente: elaboración propia........................................................ 70
Figura 84: Modelos lineales que predicen a 20 minutos. Fuente: elaboración propia. .......... 71
Figura 85: Modelos usando SVM. Fuente: elaboración propia................................................ 71
Figura 86: Modelos usando random forest. Fuente: elaboración propia. ............................... 72
Figura 87: Errores al usar SVM y random forest. Fuente: elaboración propia. ....................... 72
Figura 88: Variación relativa de los precios respecto de la media del día anterior para las
muestras tomadas. Fuente: elaboración propia. ..................................................................... 73
Figura 89: Error medio de todos los casos de modelo al emplear cada algoritmo. Fuente:
elaboración propia. .................................................................................................................. 74
Figura 90: Modelos random forest que predicen a 15 minutos. Fuente: elaboración propia. 75
Figura 91: Fases y tareas del proyecto trabajo fin de grado. Fuente: elaboración propia. ..... 81
Figura 92: Leyenda del diagrama de Gantt. Fuente: elaboración propia. ............................... 81
Figura 93: Diagrama PERT con vista Gantt del proyecto. Fuente: elaboración propia. ........... 82
88
Escuela Técnica Superior de Ingenieros Industriales (UPM)
Descargar