Inteligencia artificial aplicada a la microestructura de los mercados financieros
Full text
M´aster en Matem´atica Computacional Departamento de Matem´aticas. Universidad Jaume I. Trabajo Fin de M´aster Inteligencia Artificial aplicada a la Microestructura de los Mercados Financieros Realizado por Francisco J. Luguera Par´uas y dirigido por Pablo Gregori Huerta Septiembre 2023
Agradecimientos Quisiera transmitir mi m´as sincero agradecimiento a todos los que me han ayudado durante esta etapa y han colaborado de una u otra forma en esta investigaci´on. En especial, a mi mujer, qui´en ha vivido d´ıa a d´ıa el esfuerzo y dedicaci´on sobre este trabajo, apoyando en todo momento y haciendo que cada palabra cuente. En segundo lugar, a mi familia, quien sin ella, nunca hubiera adoptado los valores de perseverancia y esfuerzo que me han inculcado desde peque˜no. A mi tutor, Pablo Gregori Huerta, por su tiempo y confianza sobre la tem´atica de dicho trabajo. A todos ellos, mil gracias. I
II AGRADECIMIENTOS
´ Indice general Lista de figuras V Lista de tablas IX 1. Introducci´on 1 2. Aprendizaje Autom´atico 5 2.1. M´aquinas de Soporte Vectorial . . . . . . . . . . . . . . . . . . 5 2.1.1. Margen y Hard-SVM . . . . . . . . . . . . . . . . . . . 6 2.1.2. Soft-SVM y regularizaci´on de las normas . . . . . . . . 9 2.1.3. Condiciones de optimizaci´on y Vectores de Soporte . . 10 2.1.4. Dualidad.......................... 10 2.1.5. M´etodo Kernel . . . . . . . . . . . . . . . . . . . . . . 12 2.1.5.1. Incrustaciones en espacios caracter´ısticos . . . 12 2.1.5.2. El truco del Kernel . . . . . . . . . . . . . . . 13 2.2. Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1. ElPerceptron....................... 16 2.2.2. Estructura de la Red Neuronal . . . . . . . . . . . . . 18 2.2.3. Entrenamiento de la Red Neuronal . . . . . . . . . . . 21 III
IV ´ INDICE GENERAL 2.2.3.1. Funciones de Coste . . . . . . . . . . . . . . . 22 2.2.3.2. Algoritmo de Descenso de Gradiente . . . . . 22 2.3. Algoritmo de Bosque Aleatorio . . . . . . . . . . . . . . . . . 23 2.3.1. Algoritmo de ´ Arbol de Decisi´on . . . . . . . . . . . . . 24 2.3.1.1. Entrop´ıa . . . . . . . . . . . . . . . . . . . . . 25 2.3.1.2. Ganancia de Informaci´on . . . . . . . . . . . 26 2.3.2. Clasificaci´on final con Bosque Aleatorio . . . . . . . . . 27 3. Caso de Estudio 29 3.1. Datos ............................... 29 3.2. Pre-Procesado de datos . . . . . . . . . . . . . . . . . . . . . . 31 3.2.1. Selecci´on de Caracter´ısticas y Creaci´on de las Clases a Predecir .......................... 34 3.3. An´alisis Exploratorio de Datos . . . . . . . . . . . . . . . . . . 37 3.4. Reducci´on de la Dimensi´on . . . . . . . . . . . . . . . . . . . . 45 3.5. Aprendizaje Autom´atico . . . . . . . . . . . . . . . . . . . . . 48 3.5.1. M´aquina de Soporte Vectorial (SVM) . . . . . . . . . . 52 3.5.2. RedNeuronal....................... 55 3.5.3. Bosque Aleatorio . . . . . . . . . . . . . . . . . . . . . 58 3.6. Conclusi´on Final . . . . . . . . . . . . . . . . . . . . . . . . . 60 A. Rendimiento en la Clasificaci´on 65 A.1.SVM................................ 65 A.2.RedNeuronal ........................... 68 A.3. Bosque Aleatorio . . . . . . . . . . . . . . . . . . . . . . . . . 71 Bibliograf´ıa 75
´ Indice de figuras 2.1. Diagrama de una neurona. ...................... 17 2.2. Estructura de una red neuronal. Fuente Wikipedia. .......... 19 2.3. ´ Arbol de decisi´on. Fuente: https://www.javatpoint.com. ........ 24 2.4. Random forest. Fuente: https://www.javatpoint.com. .......... 27 3.1. Representaci´on de 1000 Precios Bid/Ask agregados a 60 segundos. . . . 31 3.2. Representaci´on de 1000 Vol´umenes Bid/Ask agregados a 60 segundos. . . 32 3.3. Representaci´on del N´umero de Transacciones Bid/Ask agregados a 60 segundos. .............................. 33 3.4. Porcentaje de precios vac´ıos (Bid/Ask) por d´ıa de la semana. ...... 34 3.5. Representaci´on del desbalanceo entre las distintas clases. ........ 38 3.6. Diagrama de cajas e Histograma de la variable de retorno en diferentes periodos. .............................. 40 3.7. Diagrama de cajas e Histograma de la variable de transacciones en diferentes periodos. ........................... 42 3.8. Diagrama de cajas e Histograma de la variable de vol´umenes en diferentes periodos. .............................. 43 3.9. Matriz de correlaci´on entre cada una de las variables Bid. ....... 44 V
VI ´ INDICE DE FIGURAS 3.10. N´umero de componentes seg´un la informaci´on de la varianza explicada. . 46 3.11. N´umero de componentes seg´un la informaci´on de los autovalores. . . . . 46 3.12. Validaci´on cruzada K=5. Fuente: www.scikit-learn.com. ........ 49 3.13. Representaci´on de una matriz de confusi´on. .............. 50 3.14. Tiempos medios de entrenamiento para cada clasificador en segundos. . . 63 A.1. Resultados de la clasificaci´on de la SVM para tiempos de agregaci´on de 60 segundos y ventanas de predicci´on de 300 y 120 segundos respectivamente. 65 A.2. Resultados de la clasificaci´on de la SVM para tiempos de agregaci´on de 60 y 30 segundos y ventanas de predicci´on de 60 y 150 segundos respectivamente. ........................... 66 A.3. Resultados de la clasificaci´on de la SVM para tiempos de agregaci´on de 30 segundos y ventanas de predicci´on de 60 y 30 segundos respectivamente. 66 A.4. Resultados de la clasificaci´on de la SVM para tiempos de agregaci´on de 15 segundos y ventanas de predicci´on de 75 y 30 segundos respectivamente. 67 A.5. Resultados de la clasificaci´on de la SVM para tiempos de agregaci´on de 15 y 5 segundos y ventanas de predicci´on de 15 y 25 segundos respectivamente. 67 A.6. Resultados de la clasificaci´on de la SVM para tiempos de agregaci´on de 5 segundos y ventanas de predicci´on de 10 y 5 segundos respectivamente. 68 A.7. Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 60 segundos y ventanas de predicci´on de 300 y 120 segundos respectivamente. 68 A.8. Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 60 y 30 segundos y ventanas de predicci´on de 60 y 150 segundos respectivamente. ........................... 69 A.9. Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 30 segundos y ventanas de predicci´on de 60 y 30 segundos respectivamente. 69
´ INDICE DE FIGURAS VII A.10.Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 15 segundos y ventanas de predicci´on de 75 y 30 segundos respectivamente. 69 A.11.Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 15 y 5 segundos y ventanas de predicci´on de 15 y 25 segundos respectivamente. 70 A.12.Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 5 segundos y ventanas de predicci´on de 10 y 5 segundos respectivamente. 70 A.13.Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 60 segundos y ventanas de predicci´on de 300 y 120 segundos respectivamente. 71 A.14.Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 60 y 30 segundos y ventanas de predicci´on de 60 y 150 segundos respectivamente. 71 A.15.Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 30 segundos y ventanas de predicci´on de 60 y 30 segundos respectivamente. 72 A.16.Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 15 segundos y ventanas de predicci´on de 75 y 30 segundos respectivamente. 72 A.17.Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 15 y 5 segundos y ventanas de predicci´on de 15 y 25 segundos respectivamente. 73 A.18.Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 5 segundos y ventanas de predicci´on de 10 y 5 segundos respectivamente. . 73
4CAP´ ITULO 1. INTRODUCCI ´ ON compuesto exhibe niveles prometedores de precisi´on. Adem´as, se lleva a cabo una simulaci´on de operaciones en el mercado financiero, sin tener en cuenta los costos de transacci´on, lo que arroja un rendimiento anualizado que alcanza hasta el 53 %. Nuestra metodolog´ıa, como se mencion´o anteriormente, tiene como objetivo descubrir las caracter´ısticas subyacentes del activo que estamos analizando. Llevamos a cabo un an´alisis exhaustivo de manera individual, evaluando la precisi´on de varios algoritmos de clasificaci´on, teniendo en cuenta que trabajamos con datos de alta frecuencia y mantenemos un enfoque pragm´atico en cuanto a la eficiencia computacional necesaria para su uso. Por ello, utilizamos diferentes metodolog´ıas sobre los datos que nos permitan liberar exigencias computacionales como la reducci´on de la dimensionalidad, el tratamiento de datos vac´ıos, el estudio de la distribuci´on de las variables en cada agregaci´on temporal creada, el tratamiento de valores at´ıpicos y las relaciones de las caracter´ısticas con la variable objetivo. Hemos de notar, que algunas variables iniciales no las obtenemos de forma directa, siendo necesaria su creaci´on precisa, dado el impacto que tienen sobre cada uno de los modelos. Por todo ello, se ha decidido analizar tres algoritmos de aprendizaje autom´atico: m´aquina de soporte vectorial, red neuronal y random forest con datos de 60, 30, 15, y 5 segundos y de esta forma, evaluar su precisi´on entre diferentes horizontes temporales. De esta forma, extraemos la informaci´on sobre la complejidad de cada uno de los modelos en diferentes datos, gracias a la evoluci´on de sus par´ametros.
Cap´ıtulo 2 Aprendizaje Autom´atico En este cap´ıtulo vamos a esbozar te´oricamente los distintos algoritmos de Aprendizaje Autom´atica que aplicaremos en el caso de estudio. Cabe destacar que nos centraremos en la M´aquina de Soporte Vectorial (SVM), la Red Neuronal y el Bosque Aleatorio (RF). 2.1. M´aquinas de Soporte Vectorial Para la elaboraci´on de esta secci´on se tuvo en cuenta el libro de Robert Tibshirani[8], libro de Shai Shalev[14], el art´ıculo de Vapnik et al.[1] y Wikipedia principalmente. Una t´ecnica de aprendizaje autom´atico ampliamente reconocida, desarrollada principalmente por Vladimir Vapnik y su colaborador Corinna Cortes [1], es la M´aquina de Soporte Vectorial (SVM). Vladimir Vapnik es un destacado cient´ıfico de la inform´atica y estad´ıstico que trabaj´o en AT&Bell Labs y posteriormente en otras instituciones acad´emicas y de investigaci´on. 5
6CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO La M´aquina de Soporte Vectorial (SVM) es una t´ecnica de aprendizaje supervisado ampliamente empleada para llevar a cabo tareas de clasificaci´on y regresi´on. Su objetivo principal consiste en identificar un hiperplano ´optimo de separaci´on (en el caso de la clasificaci´on binaria) o un hiperplano ´optimo de regresi´on (en el caso de la regresi´on) que maximice la distancia entre las diferentes clases o puntos de datos. Los puntos de datos que se encuentran pr´oximos a este hiperplano se denominan vectores de soporte. Las SVM originalmente se dise˜naron para la clasificaci´on binaria, pero con el tiempo se han adaptado a resolver problemas de clasificaci´on multiclase y regresi´on. En t´erminos generales, funcionan mediante la introducci´on de una matriz Xde dimensiones N×Dque contienen datos y una matriz Y de dimensiones N×1 con valores +1 y −1 que representan las dos clases. Estas SVM buscan separar estas clases utilizando un hiperplano, donde N es el n´umero de muestras y Des el n´umero de caracter´ısticas en los datos. La obtenci´on del hiperplano se realiza mediante la resoluci´on de un problema de optimizaci´on convexa, asegurando que cualquier ´optimo local sea tambi´en un ´optimo global. Una vez obtenido, este hiperplano se utiliza para clasificar nuevas entradas x∗de dimensi´on 1 ×D. 2.1.1. Margen y Hard-SVM Sea S= (x1, y1), ..., (xm, ym) un conjunto de entrenamiento donde cada xi∈Rdyyi∈ {±1}. Decimos que este conjunto de entrenamiento es linealmente separable si existe un semiespacio, (w, b), tal que yi=sign(⟨w, xi⟩+b) para todo i. Alternativamente, esta condici´on puede ser escrita como
2.1. M ´ AQUINAS DE SOPORTE VECTORIAL 7 ∀i∈[m], yi(⟨w, xi⟩+b)>0.(2.1) Todos los semiespacios (w, b) que satisfacen esta condici´on son hip´otesis de Minimizaci´on del Riesgo Emp´ırico (ERM - el error de clasificaci´on es cero). Para cualquier conjunto de entrenamiento en la muestra, hay muchos semiespacios de ERM. Para seleccionar un semiespacio, evaluamos el margen del hiperplano. El margen se define como la distancia m´as corta entre un punto en el conjunto de entrenamiento y el hiperplano. El Hard-SVM es una regla de aprendizaje que busca devolver un hiperplano ERM que logre la m´axima separaci´on con el conjunto de entrenamiento. Para definir formalmente, comenzamos por expresar la distancia entre un punto xy un hiperplano utilizando los par´ametros que caracterizan el semiespacio. Definici´on. La distancia entre un punto xy el hiperplano definido por (w, b) donde ||w|| = 1 es |⟨w, x⟩+b|. Seg´un la definici´on anterior, el punto m´as cercano del conjunto de entrenamiento al hiperplano de separaci´on es mini∈[m]|⟨w, xi⟩+b|Por lo tanto, la regla Hard-SVM es argmax (w,b):||w||=1 m´ın i∈[m]|⟨w, xi⟩+b| ∀i, yi(⟨w, xi⟩+b)>0.(2.2) Cuando haya una soluci´on disponible (en el caso de que los datos sean separables), podemos formular un problema equivalente de la siguiente ma-
8CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO nera: argmax (w,b):||w||=1 m´ın i∈[m]yi(|⟨w, xi⟩+b|).(2.3) A continuaci´on, vamos a dar una formulaci´on equivalente de Hard-SVM como un problema de optimizaci´on cuadr´atico: 1. Las entradas al modelo son (x1, y1), ..., (xm, ym). 2. La ecuaci´on es: (w0, b0) = argmin (w,b)||w||2,∀i, yi(⟨w, xi⟩+b)≥1.(2.4) 3. Como salida obtenemos ˆw=w0 ||w0|| ,ˆ b=b0 ||w0|| . El siguiente lema demuestra que la salida Hard-SVM es el hiperplano separador con el margen m´as grande. En t´erminos simples, Hard-SVM busca un vector wque minimice su norma, asegurando que |⟨w, xi⟩| ≥ 1 para todos los puntos de datos xi. En esencia, estamos escalando el margen a una unidad de uno, y la tarea de encontrar el semiespacio de margen m´as grande se reduce a encontrar el vector wcon la norma m´ınima. Formalmente: Lema 1. La salida de Hard-SVM es una soluci´on de la ecuaci´on argmax (w,b):||w||=1 m´ın i∈[m]yi(⟨w, xi⟩+b) .
2.1. M ´ AQUINAS DE SOPORTE VECTORIAL 9 2.1.2. Soft-SVM y regularizaci´on de las normas La formulaci´on Hard-SVM asume que el conjunto de entrenamiento es linealmente separable, la cual es una suposici´on fuerte. Soft-SVM puede verse como una relajaci´on de la regla Hard-SVM, que se puede aplicar incluso si el conjunto de entrenamiento no es linealmente separable. Soft-SVM es una versi´on m´as flexible de Hard-SVM, dise˜nada para lidiar con conjuntos de entrenamiento que no son necesariamente linealmente separables. mientras que Hard-SVM asume la separabilidad lineal, Soft-SVM permite ciertas violaciones de esta suposici´on. En lugar de imponer restricciones estrictas, como en Hard-SVM, que requiere que yi(⟨w, xi⟩+b)≥1 para todos los puntos de datos, Soft-SVM introduce variables de holgura no negativas ξ1, ..., ξm. Estas variables miden cu´anto se violan las restricciones. En Soft-SVM, se busca minimizar tanto la norma de w(correspondiente al margen) como el promedio de ξi(correspondiente a las violaciones de las restricciones). La compensaci´on entre estos dos t´erminos se controla mediante el par´ametro λ. Esto da lugar a la formulaci´on de Soft-SVM: 1. Las entradas (x1, y1), ..., (xm, ym). 2. Par´ametro λ > 0. 3. Ecuaci´on: m´ın w,b,ξ λ||w||2+1 m m X i=1 ξi!∀i, y1(⟨w, xi⟩+b)≥1−ξi.(2.5) 4. Como salidas obtenemos w, b
10 CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO 2.1.3. Condiciones de optimizaci´on y Vectores de Soporte La denominaci´on M´aquina de Soporte Vectorial proviene del hecho de que la soluci´on de Hard-SVM, representada como w0, est´a relacionada con los ejemplos que se encuentran exactamente a una distancia de 1/||w0|| del hiperplano separador. Estos ejemplos se llaman vectores de soporte. Esta relaci´on se fundamenta en las condiciones de optimizaci´on de Fritz John. Teorema. Sea w0como se define en la ecuaci´on (2.7) y sea I={i:|⟨w0, xi⟩| = 1}. Entonces, existen coeficientes α1, ..., αmtal que w0=X i∈I αixi.(2.6) Los ejemplos {xi:i∈I}son llamados vectores de soporte. 2.1.4. Dualidad Hist´oricamente, las propiedades de la M´aquina de Soporte Vectorial se han investigado principalmente a trav´es del an´alisis del dual de la ecuaci´on, m´ın w||w||2,∀i, yi⟨w, xi⟩ ≥ 1 (2.7) Para completar, mostramos como derivar el dual de la ecuaci´on (2.7). Comenzamos reescribiendo el problema en una forma equivalente de la siguiente forma. Considerar la funci´on
2.1. M ´ AQUINAS DE SOPORTE VECTORIAL 11 g(w) = m´ax α∈Rm:α≥0 m X i=1 αi(1 −yi⟨w, xi⟩) = 0 si ∀i, yi⟨w, xi⟩ ≥ 1 ∞otro caso (2.8) As´ı que podemos reescribir la ecuaci´on (2.7) como, m´ın w||w||2+g(w).(2.9) Reordenando lo anterior, obtenemos que la ecuaci´on (2.7) puede ser reescrita como el problema m´ın wm´ax α∈Rm:α≥0 1 2||w||2+ m X i=1 αi(1 −yi⟨w, xi⟩)!.(2.10) Ahora supongamos que invertimos el orden de m´ınimo y m´aximo en la ecuaci´on anterior. Esto s´olo puede hacer decrecer el valor objetivo, y nosotros tenemos, m´ın wm´ax α∈Rm:α≥0 1 2||w||2+ m X i=1 αi(1 −yi⟨w, xi⟩)! ≥m´ax α∈Rm:α≥0m´ın w 1 2||w||2+ m X i=1 αi(1 −yi⟨w, xi⟩)! La desigualdad anterior se llama dualidad d´ebil. Resulta que en nuestro caso, tambi´en se mantiene una fuerte dualidad, es decir, la desigualdad se cumple con la igualdad. Por lo tanto, el problema dual es m´ax α∈Rm:α≥0m´ın w 1 2||w||2+ m X i=1 αi(1 −yi⟨w, xi⟩)!.(2.11)
12 CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO Podemos simplificar el problema dual notando que una vez que αes fijada, el problema de optimizaci´on con respecto a wno tiene restricciones y el objetivo es diferenciable; por lo tanto, en el punto ´optimo, el gradiente es igual a cero: w− m X i=1 αiyixi=0=⇒w= m X i=1 αiyixi.(2.12) Esto nos muestra que la soluci´on debe estar en el lapso lineal de los ejemplos. Conectando lo anterior a la ecuaci´on (2.11) obtenemos que el problema dual puede ser reescrito como m´ax α∈Rm:α≥0 1 2 m X i=1 αiyixi 2 + m X i=1 αi 1−yi*X j αjyjxj, xi+! .(2.13) Reorganizando t´erminos obtenemos el problema dual m´ax α∈Rm:α≥0 m X i=1 αi−1 2 m X i=1 m X j=1 αiαjyiyj⟨xj, xi⟩!.(2.14) 2.1.5. M´etodo Kernel Un kernel es una medida de similitud entre instancias que se pueden interpretar como un producto interno en un espacio de Hilbert donde las instancias se incorporan de manera virtual. 2.1.5.1. Incrustaciones en espacios caracter´ısticos Para hacer que los semiespacios sean m´as efectivos en la captura y representaci´on de informaci´on, se puede relacionar el espacio original de las instancias con otro espacio, posiblemente de mayor dimensi´on, y luego aprender
2.1. M ´ AQUINAS DE SOPORTE VECTORIAL 13 un semiespacio en ese nuevo espacio. En lugar de aprender directamente en la representaci´on original, se introduce una funci´on ψ:R−→ R2, ψ(x) = (x, x2). Utilizamos el t´ermino de espacio caracter´ıstico para denotar el rango de ψ. Despu´es de aplicar ψ, los datos se puede explicar f´acilmente utilizando el semiespacio h(x) = sign(⟨w, ψ(x)⟩−b). El paradigma b´asico ser´ıa: 1. Dado alg´un conjunto de dominio χy una tarea de aprendizaje, elegimos una funci´on ψ:χ−→ F para un espacio caracter´ıstico Fque normalmente ser´a Rnpara alg´un n. 2. Dada una secuencia de ejemplos etiquetados, S= (x1, y1), ..., (xm, ym), crear la secuencia de imagen ˆ S= (ψ(x1), y1), ..., (ψ(xm), ym). 3. Entrenar un predictor lineal hsobre ˆ S. 4. Predecir la etiqueta de un punto test, x, a ser h(ψ(x)). El ´exito de este paradigma de aprendizaje depende de escoger un buen ψ. 2.1.5.2. El truco del Kernel Al aumentar la dimensi´on del espacio caracter´ıstico, los semiespacios se vuelven m´as efectivos en la captura y representaci´on de la informaci´on, pero tambi´en aumenta la complejidad computacional. Calcular separadores lineales en espacios de alta dimensi´on puede ser costoso. Para abordar este
20 CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO a(2) 1=ϕw(1) 10 a(1) 0+w(1) 11 a(1) 1+... +w(1) 1na(1) n, a(2) 2=ϕw(1) 20 a(1) 0+w(1) 21 a(1) 1+... +w(1) 2na(1) n, . . . a(2) m=ϕw(1) m0a(1) 0+w(1) m1a(1) 1+... +w(1) mna(1) n, (2.25) donde a(1) 0es un t´ermino de sesgo a˜nadido y mdenota el n´umero de neuronas en la capa oculta. Finalmente, la capa de salida se calcula como a(3) 1=ϕw(2) 10 a(2) 0+w(2) 11 a(2) 1+... +w(2) 1ma(2) m, a(3) 2=ϕw(2) 20 a(2) 0+w(2) 21 a(2) 1+... +w(2) 2ma(2) m, . . . a(3) k=ϕw(2) k0a(2) 0+w(2) k1a(2) 1+... +w(2) kma(2) m, (2.26) donde a(2) 0es un t´ermino de sesgo a˜nadido y kdenota el n´umero de neuronas en la capa de salida. Con xi= xi 0 xi 1 xi 2 . . . xi n , W(1) = w(1) 10 w(1) 11 ··· w(1) 1n w(1) 20 w(1) 21 ··· w(1) 2n . . .. . ..... . . w(1) m0w(1) m1··· w(1) mn , W(2) = w(2) 10 w(2) 11 ··· w(2) 1m w(2) 20 w(2) 21 ··· w(2) 2m . . .. . ..... . . w(2) k0w(2) k1··· w(2) km (2.27) Las ecuaciones (2.24), (2.25) y (2.26) pueden ser escritas como a(1) =xi, a(2) =ϕ(z(2)) y a(3) =ϕ(z(3)), donde z(2) =W(1)a(1) yz(3) =W(2)a(2) y la funci´on de activaci´on ϕes aplicada por elementos. En conclusi´on, dada una muestra de datos de entrada xi, la red neuronal
2.2. REDES NEURONALES 21 produce la siguiente funci´on de aproximaci´on hW(xi) = a(3) =ϕW(2)a(2)=ϕW(2)ϕW(1)a(1)=ϕW(2)ϕW(1)xi. (2.28) Este proceso de c´alculo se conoce como propagaci´on hacia delante. Para conseguir que los resultados obtenidos mediante la funci´on de aproximaci´on sean aproximados a los valores objetivo, la red neuronal necesita ser entrenada. Este proceso se lleva a cabo en parte mediante un procedimiento conocido como retropropagaci´on. 2.2.3. Entrenamiento de la Red Neuronal Para entrenar la red neuronal es necesaria una funci´on de coste (tambi´en llamada funci´on de p´erdida o funci´on objetivo). Dicha funci´on desempe˜na un papel fundamental durante el entrenamiento de la red. Su funci´on principal es cuantificar la discrepancia entre las predicciones realizadas por la red neuronal y los valores reales o etiquetas de los datos de entrenamiento. La funci´on de coste proporciona una medida de cu´an equivocada es la red en sus predicciones. El objetivo del entrenamiento de una red neuronal es minimizar la funci´on de coste. Para hacerlo, se utilizan t´ecnicas de optimizaci´on como el descenso de gradiente para ajustar los pesos y los sesgos de la red de manera que las predicciones se acerquen lo m´as posible a los valores reales.
22 CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO 2.2.3.1. Funciones de Coste Las funciones de coste dependen del tipo de problema que se est´a resolviendo. Una de las funciones de coste m´as com´un es la funci´on de coste cuadr´atica. Es una funci´on efectiva y ampliamente utilizada en problemas de regresi´on debido a su facilidad de c´alculo, pero es importante tener en cuenta que puede ser sensible a valores at´ıpicos en los datos, JiW, xi, yi=1 2 K X k=1 hW(xi)k−yi k2(2.29) y la funci´on de entrop´ıa cruzada, que es com´unmente utilizada en problemas de clasificaci´on en el aprendizaje autom´atico y las redes neuronales. Tambi´en se la conoce como p´erdida logar´ıtmica. Su f´ormula matem´atica var´ıa seg´un el contexto de clasificaci´on binaria o multiclase. Aqu´ı definimos la versi´on multiclase, JiW.xi, yi=− K X k=1 yi klog hW(xi)k+ (1 −yi k)log(1 −hW(xi)k),(2.30) donde Kdenota la dimensi´on de la capa de salida, y el coste total sobre el total de muestras Ses J(W) = 1 S S X i=1 JiW, xi, yi.(2.31) 2.2.3.2. Algoritmo de Descenso de Gradiente El algoritmo de Descenso de Gradiente (SGD) es un m´etodo de optimizaci´on ampliamente utilizado en el aprendizaje autom´atico para ajustar
2.3. ALGORITMO DE BOSQUE ALEATORIO 23 los par´ametros de un modelo con el objetivo de minimizar una funci´on de coste. Su funcionamiento se basa en la idea de encontrar los valores de los par´ametros que hacen que la funci´on de coste sea lo m´as peque˜na posible, lo que equivale a encontrar el m´ınimo de la funci´on de coste en el espacio de par´ametros. En el contexto de la funci´on de coste de una red neuronal, el algoritmo de descenso de gradiente estoc´astico se desplaza de forma iterativa hacia un conjunto de pesos en el espacio de par´ametros que minimiza la funci´on de coste. Este proceso se define como: wl kj(n+ 1) = wl kj(n)−η∂J(n) ∂wl kj(n).(2.32) donde ηes el ratio de aprendizaje, controlando la magnitud de los cambios de pesos en la red neuronal. Este m´etodo actualiza los pesos despu´es de cada observaci´on y en cada iteraci´on selecciona una muestra aleatoria, haciendo que el procesamiento sea menos costoso. 2.3. Algoritmo de Bosque Aleatorio Para la elaboraci´on de esta secci´on hemos tenido en cuenta la informaci´on de la p´agina web www.scikit-learn.org, Wikipedia, el art´ıculo de Lior Rokach et al.[13], y los libros [8] [14] principalmente. El algoritmo Bosque Aleatorio es un m´etodo avanzado para analizar una colecci´on de muchas clasificaciones diferentes de ´arboles de decisi´on. El nombre de bosque aleatorio describe con precisi´on el algoritmo de clasificaci´on en el sentido que es el an´alisis de una infinidad de ´arboles de decisi´on generados al azar a partir de un conjunto finito de datos conocidos y clasificados.
24 CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO 2.3.1. Algoritmo de ´ Arbol de Decisi´on Un ´ Arbol de Decisi´on es una t´ecnica de modelado predictivo que se emplea para descomponer un problema de clasificaci´on en una jerarqu´ıa de decisiones que se toman a nivel de variables. El objetivo principal de un ´arbol de decisi´on es ofrecer una comprensi´on explicativa de los patrones y las variables que influyen en la clasificaci´on. Los ´arboles se componen de tres elementos fundamentales: la ra´ız, los nodos y las hojas. La ra´ız de cada ´arbol simboliza la variable inicial de decisi´on que proporciona la informaci´on m´as crucial para que el ´arbol contin´ue dividi´endose. Cada nodo crea un nuevo punto de decisi´on a lo largo del ´arbol, y cada ruta de nodos finaliza en una hoja que representa la clasificaci´on de salida. Figura 2.3: ´ Arbol de decisi´on. Fuente: https://www.javatpoint.com. A continuaci´on explicamos la m´etrica de la entrop´ıa, utilizada en ´arboles
2.3. ALGORITMO DE BOSQUE ALEATORIO 25 de decisi´on y bosques aleatorios para medir la impureza de un conjunto de datos y ayudar en la toma de decisiones sobre c´omo dividir los datos en nodos durante la construcci´on del ´arbol. Ambas m´etricas se utilizan para determinar la calidad de una divisi´on y se esfuerzan por crear divisiones que sean m´as homog´eneas en t´erminos de clases o categor´ıas objetivo. En la pr´actica tambi´en utilizaremos la m´etrica Gini, aunque el objetivo ahora es obtener una visi´on general del funcionamiento de un algoritmo de bosque aleatorio. 2.3.1.1. Entrop´ıa La entrop´ıa se describe por Shannon como una medida de cuantos datos son producidos y cuanta incertidumbre se presenta en la producci´on. Para calcular la entrop´ıa, necesitamos calcular la probabilidad de todos los eventos posibles, eso es, no podemos calcular la entrop´ıa de un sistema desconocido. Shannon define el valor de la entrop´ıa de un sistema discreto a ser, H=−Xpilog2pi(2.33) donde pies la probabilidad de cada posible evento. Podemos extender un poco m´as definiendo el significado de entrop´ıa condicional tal que para dos eventos XeY, deseamos considerar la entrop´ıa de Ydado un evento X. En t´erminos pr´acticos, esto nos dice la incertidumbre y predictibilidad de un evento Yasumiendo que el evento Xocurra con anterioridad al evento Y HX(Y) = −Xp(i)p(j)log2pi(j) (2.34)
26 CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO donde: 1. p(i) es la probabilidad de que el evento Xocurra 2. p(j) es el evento Y 3. pi(j) es la probabilidad de que el evento Yocurra despu´es del evento X. 2.3.1.2. Ganancia de Informaci´on La ganancia de informaci´on en un ´arbol de decisi´on es una m´etrica que se utiliza para evaluar la calidad de una divisi´on potencial en un nodo del ´arbol. En el contexto de los ´arboles de decisi´on, el objetivo principal es dividir los datos de entrenamiento en subconjuntos m´as homog´eneos en t´erminos de la variable objetivo para mejorar la capacidad predictiva del ´arbol. La ganancia de informaci´on se basa en el concepto de entrop´ıa y se utiliza para medir cu´anto se reduce la incertidumbre o la impureza en los datos al realizar una divisi´on particular en un nodo del ´arbol. La f´ormula general para calcular la ganancia de informaci´on es, IG = Entropia Inicial −Entropia despues de la division.(2.35) Una vez que obtenemos la entrop´ıa y la ganancia de informaci´on, ya es posible tomar decisiones sobre c´omo dividir los datos en los nodos del ´arbol para construir un ´arbol de decisi´on efectivo.
2.3. ALGORITMO DE BOSQUE ALEATORIO 27 2.3.2. Clasificaci´on final con Bosque Aleatorio Dado que el algoritmo Bosque Aleatorio requiere la construcci´on de m´ultiples ´arboles de decisi´on, la fase final implica tomar una decisi´on de clasificaci´on definitiva. Existen varias maneras de abordar este proceso, pero mencionaremos dos de los enfoques m´as comunes. Figura 2.4: Random forest. Fuente: https://www.javatpoint.com. El m´etodo m´as com´un es llamado majority voting, es decir, si tenemos 10 ´arboles y 4 resultados en una clasificaci´on de Amientras que 6 resultados en la clasificaci´on de B, la clasificaci´on final ser´a B. El otro m´etodo es llamado performance voting. En este m´etodo, cada ´arbol tiene un voto ponderado a su precisi´on en la clasificaci´on de un conjunto conocido como validation set.
28 CAP´ ITULO 2. APRENDIZAJE AUTOM ´ ATICO
Cap´ıtulo 3 Caso de Estudio A continuaci´on, presentaremos la metodolog´ıa utilizada para llevar a cabo la implementaci´on pr´actica. Los datos utilizados provienen de la p´agina web Tickstory.com, cuya fuente principal de informaci´on pertenece al intermediario burs´atil suizo Dukascopy, obteniendo de esta manera la descarga de datos sobre mercados de divisas, materiales, indices, bonos, etc... El procesamiento se llev´o a cabo mediante la creaci´on de una m´aquina virtual en la plataforma de servicios Cloud de Amazon. Se configur´o una m´aquina con Sistema Operativo Windows, equipada con 16 GB de memoria RAM y un procesador Intel I7 de dos n´ucleos. 3.1. Datos Los datos utilizados en este trabajo corresponden al Libro de ´ Ordenes Limitadas o Profundidad de Mercado del par de divisas EUR/USD. Estos 29
36 CAP´ ITULO 3. CASO DE ESTUDIO cando la regla agregacion(seg)·20. 3. F3: Media m´ovil de largo periodo sobre vol´umenes Bid y Ask, aplicando la regla agregacion(seg)·100. 4. F4: Media m´ovil de largo periodo sobre el total del volumen aplicando la regla agregacion(seg)·100. 5. F5: Media m´ovil de corto periodo sobre retornos Bid y Ask, aplicando la regla agregacion(seg)·5. 6. F6: Media m´ovil de medio periodo sobre retornos Bid y Ask, aplicando la regla agregacion(seg)·20. 7. F7: Media m´ovil de largo periodo sobre retornos Bid y Ask, aplicando la regla agregacion(seg)·100. 8. F8: Media m´ovil de corto periodo sobre transacciones Bid y Ask, aplicando la regla agregacion(seg)·5. 9. F9: Media m´ovil de medio periodo sobre transacciones Bid y Ask, aplicando la regla agregacion(seg)·20. 10. F10: Media m´ovil de largo periodo sobre transacciones Bid y Ask, aplicando la regla agregacion(seg)·100. 11. F11: Media m´ovil de largo periodo sobre el total de transacciones aplicando la regla agregacion(seg)·100.
3.3. AN ´ ALISIS EXPLORATORIO DE DATOS 37 Para la creaci´on de las diferentes clases a predecir, tenemos en cuenta el art´ıculo de Alec Kercheval et al.[9], donde asumiendo que el precio de la oferta es inferior al precio de la demanda en el mismo instante t, podemos definir tres escenarios: el primero, un escenario de compra, cuando el mejor precio de la oferta en un instante futuro t+ ∆tsupera al mejor precio de la demanda en el instante t; un escenario de venta, cuando el mejor precio de la demanda en un instante futuro t+ ∆tes inferior al mejor precio de la oferta en un instante t; un escenario de no comprar ni vender, si no existe ninguna de las dos situaciones anteriores. Por lo tanto, las tres clases {C+1, C0, C−1}son definidas matem´aticamente de la siguiente manera, 1. C+1:PBid t+∆t> PAsk t. 2. C0:PBid t+∆t≤PAsk tyPAsk t+∆t≥PBid t. 3. C−1:PAsk t+∆t< PBid t. Donde PAsk tyPBid tdenotan el mejor precio de la demanda (Ask) y el mejor precios de la oferta (Bid) en el tiempo t. Similarmente, PAsk t+∆tyPBid t+∆t denotan el mejor precio Ask y Bid al final del intervalo de predicci´on t+ ∆t. 3.3. An´alisis Exploratorio de Datos Realizamos un primer an´alisis de los datos para evaluar principalmente el desbalanceo de las clases en la muestra, la relaci´on y la distribuci´on de cada una de las variables. Por simplicidad tomar´e el ejemplo de la agregaci´on
38 CAP´ ITULO 3. CASO DE ESTUDIO temporal a 60 segundos, ya que el an´alisis de todas las distintas agregaciones temporales se hace de una forma similar y de forma autom´atica. En primer lugar, observamos cierto desbalanceo en la muestra entre las diferentes clases, por lo que aplicamos la t´ecnica del submuestreo para mitigar dicho efecto. Buscamos generalizar al m´aximo el modelo, ya que como sabemos, en los mercados financieros existen tendencias y dependiendo de la ventana de datos utilizada, puede existir cierto sesgo en una determinada direcci´on. Por otro lado, nos inclinamos por el m´etodo del submuestreo, dado que computacionalmente es menos costoso, existe un hist´orico de datos abundante y podemos de esta forma tambi´en, mitigar la acci´on de ciertos valores at´ıpicos (outliers). Figura 3.5: Representaci´on del desbalanceo entre las distintas clases. Para el estudio de valores at´ıpicos utilizamos tanto el gr´afico de cajas como la gr´afica de distribuci´on de densidad para ver la din´amica de una determinada variable. Podemos apreciar en la Figura 3.6 que, aparentemente, los retornos, tanto
3.3. AN ´ ALISIS EXPLORATORIO DE DATOS 39 en el precio Bid como en el precio Ask, mantienen una distribuci´on aproximadamente normal, que se ve distorsionado cuanto m´as grande es el periodo de la media utilizada. No obstante, se aprecian tambi´en ciertos valores at´ıpicos en cada uno de los periodos, oblig´andonos de esta forma a tomar ciertas reglas para mitigar dicho efecto en distribuciones no normales.
40 CAP´ ITULO 3. CASO DE ESTUDIO Figura 3.6: Diagrama de cajas e Histograma de la variable de retorno en diferentes periodos. En la Figura 3.7, donde se tienen en cuenta las transacciones, podemos
3.3. AN ´ ALISIS EXPLORATORIO DE DATOS 41 ver como en periodos cortos, no existe normalidad y se aprecia la presencia de valores at´ıpicos, tanto en el precio Bid como en el precio Ask. En el medio periodo se aprecia un poco de desplazamiento con respecto a la distribuci´on normal y la presencia de valores at´ıpicos. En el periodo largo no se aprecia normalidad y s´ı la presencia de valores at´ıpicos.
42 CAP´ ITULO 3. CASO DE ESTUDIO Figura 3.7: Diagrama de cajas e Histograma de la variable de transacciones en diferentes periodos. En la Figura 3.8, donde se tienen en cuenta vol´umenes, se aprecia bastante desplazamiento y presencia de valores at´ıpicos en todos los periodos tanto
3.3. AN ´ ALISIS EXPLORATORIO DE DATOS 43 para el precio Bid como para el precio Ask. Figura 3.8: Diagrama de cajas e Histograma de la variable de vol´umenes en diferentes periodos. Para el control de los valores at´ıpicos, excluimos todos aquellos valores que superan los l´ımites calculados: 1. outlier minimo < Q1−1.5·IQR 2. outlier maximo > Q3+1.5·IQR
44 CAP´ ITULO 3. CASO DE ESTUDIO Figura 3.9: Matriz de correlaci´on entre cada una de las variables Bid. Despu´es de llevar a cabo el submuestreo inicial para equilibrar los datos y aplicar la regla para eliminar los valores at´ıpicos, procedemos a realizar un segundo submuestreo con el objetivo de mantener la muestra completa-
3.4. REDUCCI ´ ON DE LA DIMENSI ´ ON 45 mente balanceada. Nuestra intenci´on es generalizar el modelo al m´aximo, evitando el sobre-entrenamiento en la utilizaci´on de algoritmos de aprendizaje autom´atico. En la Figura 3.9, se muestra la matriz de correlaci´on de las variables relacionadas con la informaci´on de la oferta (Bid), para una mejor visualizaci´on, reduciendo as´ı la cantidad de variables representadas. Es importante destacar que la din´amica en relaci´on a la informaci´on de los precios de la demanda (Ask) es similar a la de los precios de la oferta (Bid). En cuando a la variable objetivo, no presenta relaciones fuertes con las caracter´ısticas. 3.4. Reducci´on de la Dimensi´on Para este apartado hemos utilizado diversas fuentes de internet dado que no existe un m´etodo determinista para calcular el n´umero de componentes de forma precisa. Entre las fuentes destaca https://support.minitab.com, www.scikit-learn.org y Wikipedia. En esta secci´on evaluamos la posibilidad de reducir la cantidad de variables de entrada, que actualmente ascienden a once. Es crucial recordar que estamos trabajando con intervalos temporales muy cortos, lo que implica que la eficiencia computacional es un factor de gran importancia. Para abordar este objetivo, llevamos a cabo un an´alisis con el fin de determinar cu´antas variables son necesarias para explicar el 90 % de la varianza acumulada. Adem´as, consideramos la informaci´on proporcionada por los autovalores, identificando cualquier autovalor menor a 1 como insignificante. El n´umero m´aximo de componentes resultante de la combinaci´on de ambos an´alisis, ya
52 CAP´ ITULO 3. CASO DE ESTUDIO 2. Dividimos los datos en entrenamiento y prueba. Utilizamos una relaci´on del 70 por ciento de la muestra para realizar el entrenamiento. Los datos restantes se utilizan para evaluar la precisi´on del algoritmo en datos de prueba. Esta proporci´on se ha calculado realizando varios muestreos de datos reducidos. 3. Aplicamos a cada columna la estandarizaci´on de los datos Z=x−µ σ, donde µes la media de la muestra de entrenamiento y σes la desviaci´on est´andar de la muestra de entrenamiento. 4. Aplicamos el n´umero de componentes calculadas en la Secci´on 3.4 sobre los datos de entrada, tanto en la partici´on de entrenamiento como en la de prueba. 5. Definimos los hiperpar´ametros para conseguir optimizar el modelo. 6. Entrenamos el modelo empleando una validaci´on cruzada de cinco bloques. 7. Se emplean los hiperpar´ametros ´optimos obtenidos en el paso anterior para realizar la clasificaci´on sobre los datos de prueba. 8. Se extrae la precisi´on del modelo desarrollado sobre los datos de prueba, junto con un reporte de cada una de las medidas de clasificaci´on (Precisi´on, Recall, F1-Score) y la matriz de confusi´on. 3.5.1. M´aquina de Soporte Vectorial (SVM) Para la aplicaci´on de la SVM a trav´es de Python seguimos los pasos citados en Etapas Generales a excepci´on de la definici´on espec´ıfica de los
3.5. APRENDIZAJE AUTOM ´ ATICO 53 hiperpar´ametros de dicho algoritmo. 1. El par´ametro C: Ayuda a controlar el equilibrio entre el error de entrenamiento y el margen, ya que puede determinar la penalizaci´on por puntos de datos mal clasificados durante el proceso de entrenamiento. Por ello, definimos una lista de valores C={0.1,1,10,100,500,1000}. Para la definici´on de dicha lista, hemos realizado muestreos de datos reducidos. 2. Kernel: El kernel que vamos a utilizar es el gaussiano, k(xi, xj) = exp −d(xi, xj)2 2l2(3.6) donde les la longitud de escala del kernel y d(·,·) es la distancia euclidiana. Este kernel es infinitamente diferenciable. 3. Gamma: El par´ametro gamma define hasta qu´e punto llega la influencia de un ´unico ejemplo de entrenamiento, donde los valores bajos significan ”lejos” y los valores altos significan “cerca”. Los par´ametros gamma pueden verse como la inversa del radio de influencia de las muestras seleccionadas por el modelo como vectores de soporte. Por ello definimos la siguiente lista de valores gamma ={0.1,1,10,100,500,1000}. Para la definici´on de dicha lista, hemos realizado muestreos de datos reducidos. En la Tabla 3.2 se presenta una tabla con los par´ametros calculados en cada agregaci´on temporal para cada ventana de predicci´on junto con su precisi´on (Accuracy).
54 CAP´ ITULO 3. CASO DE ESTUDIO Vemos como mejora la precisi´on si disminuimos nuestros tiempos de agregaci´on y definimos ventanas de predicci´on 5 veces superiores a la temporalidad de agregaci´on. Tambi´en se observa una n´ıtida tendencia en los valores del par´ametro Cconforme disminuimos la temporalidad de agregaci´on, lo que nos indica que se fomenta un mayor margen y por tanto, una funci´on de decisi´on m´as simple. Agreg.(seg) Pred.(seg) C Gamma Acc(Test) 60 300 10 10 0.6273 60 120 500 1 0.5266 60 60 500 0.1 0.4638 30 150 10 10 0.6144 30 60 100 1 0.5125 30 30 500 0.1 0.4613 15 75 1 10 0.6618 15 30 10 1 0.5159 15 15 1 0.1 0.4525 5 25 10 10 0.7083 5 10 10 10 0.5542 5 5 10 0.1 0.4701 Tabla 3.2: Evoluci´on de los hiperpar´ametros de la SVM a trav´es de las diferentes agregaciones temporales y ventanas de predicci´on
3.5. APRENDIZAJE AUTOM ´ ATICO 55 3.5.2. Red Neuronal En este apartado vamos a realizar una red neuronal (perceptron multicapa MLP). Como anteriormente, seguimos los pasos citados en Etapas Generales definiendo espec´ıficamente los hiperpar´ametros del percetr´on multicapa, 1. Funci´on de activaci´on: Tenemos en cuenta cinco funciones de activaci´on que act´uan sobre las capas ocultas. Al realizar un problema de clasificaci´on m´ultiple, la funci´on de activaci´on de la capa de salida es la funci´on Softmax: a) Tangente hiperb´olica: g(z) = ez−e−z ez+e−z b) Log´ıstica: g(z)=1/(1 + e−z) c) Softmax: softmax(z)i=ezi Pk l=1 ezl d) Lineal rectificada (ReLu): g(z) = m´ax [0, z] 2. N´umero de capas ocultas: Se representa no s´olo el n´umero de capas ocultas sino tambi´en el n´umero de neuronas, es decir, (5,10) significan dos capas ocultas donde una de ellas tiene 5 neuronas y la otra 10. En nuestro caso vamos a tener en cuenta la siguiente lista: {(5,10),(8,15),(10,21),(15,33),(21,57)}. Dicha configuraci´on de capas y neuronas no se ha elegido de una forma aleatoria sino que se ha hecho un muestreo con un n´umero reducido de datos. 3. Solver: donde tenemos en cuenta,
56 CAP´ ITULO 3. CASO DE ESTUDIO a)Descenso Estoc´astico del Gradiente (SGD): w←w−ηα∂R(w) ∂w +∂Loss ∂w donde ηes el ratio de aprendizaje que controla el tama˜no de paso en el espacio de b´usqueda de par´ametros. Loss es la funci´on de p´erdida utilizada en la red. b)Adam: Es similar a SGD en el sentido que es un optimizador estoc´astico, pero puede ajustarse a la cantidad de par´ametros actualizados basados en funci´on de estimaciones adaptativas de momentos de orden inferior. c)Memoria limitada BFGS (LBFGS): es un solver que se aproxima a la matriz de Hessiana la cual representa la derivada parcial de segundo orden de una funci´on. Adem´as se aproxima a la inversa de la matriz de Hessiana para realizar la actualizaci´on de par´ametros. Al igual que en la secci´on anterior, en la Tabla 3.3 tenemos la evoluci´on de los hiperpar´ametros y la precisi´on conseguida con dichos hiperpar´ametros. Podemos observar que no existe una tendencia clara en la utilizaci´on de unos hiperpar´ametros conforme cambian las ventanas de agregaci´on y predicci´on. Simplemente observamos que la configuraci´on de capas y neuronas que mejor funciona es (21,57), es decir dos capas ocultas con 21 neuronas en la primera capa oculta y 57 neuronas en la segunda capa oculta. A diferencia de la SVM, no aumenta mucho la precisi´on al disminuir los tiempos de agregaci´on, aunque si se aprecia un aumento de la precisi´on en intervalos
3.5. APRENDIZAJE AUTOM ´ ATICO 57 de predicci´on de al menos 5 veces los intervalos de agregaci´on. Si conviene mencionar que el coste computacional del entrenamiento de dicho algoritmo ha sido muy exigente, con unos tiempos de entrenamiento altos. Agreg.(seg) Pred.(seg) activ. Capas Solver Acc(Test) 60 300 Tanh (21,57) LBFGS 0.5334 60 120 Logistic (21,57) LBFGS 0.4708 60 60 ReLu (21,57) Adam 0.4548 30 150 Tanh (21,57) LBFGS 0.5232 30 60 ReLu (21,57) LBFGS 0.4742 30 30 Tanh (21,57) Adam 0.4430 15 75 Tanh (21,57) LBFGS 0.5546 15 30 ReLu (21,57) LBFGS 0.4672 15 15 ReLu (10,21) SGD 0.4446 5 25 Tanh (21,57) Adam 0.5467 5 10 ReLu (21,57) Adam 0.4937 5 5 Tanh (5,10) SGD 0.4591 Tabla 3.3: Evoluci´on de los hiperpar´ametros del perceptron multicapa a trav´es de las diferentes agregaciones temporales y ventanas de predicci´on Una primera apreciaci´on sobre las redes neuronales es la complejidad de optimizaci´on dado que son muy sensibles a hiperpar´ametros que a su vez est´an relacionados entre s´ı entre las distintas capas que conforman la red. Tambi´en parece tener bastante sensibilidad al dato subyacente, a la limpieza y la din´amica que ´este mantiene. En este caso concreto, las precisiones con-
58 CAP´ ITULO 3. CASO DE ESTUDIO seguidas en la muestra de prueba no son realmente llamativas en ninguno de los tiempos de agregaci´on ni en ning´un intervalo de predicci´on. Se destaca el gran coste computacional realizado para la b´usqueda de hiperpar´ametros y el entrenamiento de la red neuronal, cuesti´on que debemos tener en cuenta ante la ejecuci´on de algoritmos de alta frecuencia en los mercados financieros, teniendo el riesgo de incurrir en p´erdidas si se efect´ua una mala modelizaci´on de costes en las transacciones. 3.5.3. Bosque Aleatorio En este apartado vamos a desarrollar un algoritmo de Bosque Aleatorio (RF). Un RF es un meta-estimador que ajusta una serie de clasificadores de ´arboles de decisi´on en varias submuestras del conjunto de datos y utiliza promedios para mejorar la precisi´on predictiva y controlar el sobre ajuste. Similarmente a los apartados anteriores, y con la utilizaci´on de Python, seguimos los pasos citados en Etapas Generales y definimos los hiperpar´ametros para su optimizaci´on. 1. Cantidad de ´arboles: definimos la lista {300,500}. Esta lista no ha sido elegida al azar, sino que se ha realizado un muestreo con un menor tama˜no. 2. M´aximo de caracter´ısticas: es la cantidad de caracter´ısticas a considerar al buscar la mejor divisi´on, a) sqrt: entonces el m´aximo de caracter´ısticas es √n caracteristicas b) log2: entonces el m´aximo de caracter´ısticas es log2(n caracteristicas)
3.5. APRENDIZAJE AUTOM ´ ATICO 59 c) auto 3. M´axima Profundidad: la profundidad m´axima del ´arbol. Definimos la lista {4,5,6,7,8}. Esta lista no ha sido elegida de forma aleatoria, sino que se ha realizado varios muestreos con tama˜no de muestra peque˜nos. 4. Criterio: la funci´on para medir la calidad de una divisi´on. los criterios utilizados son {gini, entropy}. Si un objetivo es un resultado de clasificaci´on que toma valores 0,1, ..., K −1, para el nodo m, entonces sea pmk =1 nmPy∈QmI(y=k) la proporci´on de observaciones de clase ken el nodo m. Las medidas de impureza, por tanto son, a) Gini: H(Qm) = Pkpmk(1 −pmk) b) Entropy: H(Qm) = −Pkpmklog(pmk) A continuaci´on la Tabla 3.4 muestra los par´ametros y la precisi´on conseguida con dichos hiperpar´ametros. Vemos que la precisi´on mejora conforme disminuimos los tiempos de la agregaci´on y ampliamos las ventanas de predicci´on al igual que observamos de forma notable con la SVM. Por otra parte, no se aprecia una tendencia clara en cuanto a la evoluci´on de los par´ametros espec´ıficos. El n´umero m´aximo de profundidad permanece pr´acticamente constante en 8. El criterio sobre la medida de impureza o desorden en los datos se alterna entre Gini yEntropy. Las precisiones alcanzadas son inferiores a las de la SVM y del orden del algoritmo perceptron multicapa.
60 CAP´ ITULO 3. CASO DE ESTUDIO Agreg.(seg) Pred.(seg) Num.Estim Max.Caract Max.Prof. criterio Acc(Test) 60 300 500 sqrt 8 Gini 0.5142 60 120 500 sqrt 8 Gini 0.4747 60 60 500 sqrt 8 Entropy 0.4466 30 150 300 sqrt 8 Gini 0.5153 30 60 300 sqrt 8 Gini 0.4774 30 30 500 sqrt 8 Gini 0.4475 15 75 500 sqrt 8 Gini 0.5396 15 30 300 sqrt 8 Entropy 0.4710 15 15 300 sqrt 8 Entropy 0.4417 5 25 300 sqrt 8 Gini 0.5418 5 10 500 sqrt 8 Gini 0.5022 5 5 300 sqrt 6 Entropy 0.4737 Tabla 3.4: Evoluci´on de los hiperpar´ametros del RF a trav´es de las diferentes agregaciones temporales y ventanas de predicci´on 3.6. Conclusi´on Final En este trabajo podemos observar cierto paralelismo con respecto a la tesis de Aleksandar Palikuca[12], pero existen diferencias sustanciales, tanto desde el punto de vista de ejecuci´on como el prop´osito del trabajo, haciendo incomparables los resultados entre dichos trabajos. Por un lado, en la tesis si utilizan datos cuyo formato y significado son diferentes a los tratados en este trabajo, es decir, se utilizan datos de la profundidad de mercado obteniendo informaci´on de cada transacci´on en un radio de 60 precios circundantes
3.6. CONCLUSI ´ ON FINAL 61 al precio de la oferta y la demanda en el instante t. En nuestro caso, s´olo tenemos los precios de la oferta y la demanda en el instante t, sin la informaci´on que rodea dichos precios. En nuestra base de datos, hemos tenido que construir variables, como el conteo de transacciones, a diferencia de la tesis. El prop´osito de la tesis es la creaci´on de distintos modelos combinados para medir su precisi´on en la predicci´on en intervalos de tiempo de 5, 20 y 60 segundos con la utilizaci´on de datos en intervalo de segundo, mientras que en nuestro caso, utilizamos m´as intervalos de tiempo (60, 30, 15 y 5 segundos) con diferentes ventanas de predicci´on m´ultiplos ∆t={1,2,5}de los intervalos de tiempo creados. En la tesis se menciona brevemente alguna exploraci´on de los datos, mientras que en nuestro caso se tienen en cuenta todos los procedimientos necesarios para asegurar en lo posible un tratamiento correcto de los datos con el prop´osito de alcanzar una generalizaci´on de cada uno de los modelos ejecutados (an´alisis exploratorio, tratamiento de valores at´ıpicos, datos vac´ıos, tratamiento del desbalanceo de la muestra, reducci´on de la dimensionalidad,...). Por ´ultimo, la base de las combinaciones de los algoritmos en la tesis es la red neuronal y la m´aquina de soporte vectorial, mientras que en nuestro caso no s´olo son estos dos ´ultimos sino que introducimos un algoritmo adicional, el bosque aleatorio (RF). Dicho esto, hemos observado que existe una ventana de predicci´on de unos segundos, incluso pocos minutos, de una precisi´on considerable usando datos de intervalos de unos pocos segundos, por lo que nuestra primera conclusi´on es la utilizaci´on de datos en intervalos de tiempo muy peque˜nos para aumentar la probabilidad en la predicci´on. Tambi´en hemos observado, que en la SVM, el par´ametro C decae conforme utilizamos datos de intervalos m´as peque˜nos,
68 AP´ ENDICE A. RENDIMIENTO EN LA CLASIFICACI ´ ON Figura A.6: Resultados de la clasificaci´on de la SVM para tiempos de agregaci´on de 5 segundos y ventanas de predicci´on de 10 y 5 segundos respectivamente. A.2. Red Neuronal Figura A.7: Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 60 segundos y ventanas de predicci´on de 300 y 120 segundos respectivamente.
A.2. RED NEURONAL 69 Figura A.8: Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 60 y 30 segundos y ventanas de predicci´on de 60 y 150 segundos respectivamente. Figura A.9: Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 30 segundos y ventanas de predicci´on de 60 y 30 segundos respectivamente. Figura A.10: Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 15 segundos y ventanas de predicci´on de 75 y 30 segundos respectivamente.
70 AP´ ENDICE A. RENDIMIENTO EN LA CLASIFICACI ´ ON Figura A.11: Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 15 y 5 segundos y ventanas de predicci´on de 15 y 25 segundos respectivamente. Figura A.12: Resultados de la clasificaci´on de la ANN para tiempos de agregaci´on de 5 segundos y ventanas de predicci´on de 10 y 5 segundos respectivamente.
A.3. BOSQUE ALEATORIO 71 A.3. Bosque Aleatorio Figura A.13: Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 60 segundos y ventanas de predicci´on de 300 y 120 segundos respectivamente. Figura A.14: Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 60 y 30 segundos y ventanas de predicci´on de 60 y 150 segundos respectivamente.
72 AP´ ENDICE A. RENDIMIENTO EN LA CLASIFICACI ´ ON Figura A.15: Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 30 segundos y ventanas de predicci´on de 60 y 30 segundos respectivamente. Figura A.16: Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 15 segundos y ventanas de predicci´on de 75 y 30 segundos respectivamente.
A.3. BOSQUE ALEATORIO 73 Figura A.17: Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 15 y 5 segundos y ventanas de predicci´on de 15 y 25 segundos respectivamente. Figura A.18: Resultados de la clasificaci´on de RF para tiempos de agregaci´on de 5 segundos y ventanas de predicci´on de 10 y 5 segundos respectivamente.
74 AP´ ENDICE A. RENDIMIENTO EN LA CLASIFICACI ´ ON
Bibliograf´ıa [1] Cortes, C., and Vapnik, V. Support vector networks. Machine Learning 20 (1995), 273–297. [2] Ding, X., Zhang, Y., Liu, T., and Duan, J. Deep learning for event-driven stock prediction. [3] Dubey, S. R., Singh, S. K., and Chaudhuri, B. B. Activation functions in deep learning: A comprehensive survey and benchmark. [4] Fama, E. Efficient capital markets: A review of theory and empirical work. Annual Meeting of the American Finance Association New York (1970). [5] Fletcher, T., Hussain, Z., and Shawe-Taylor, J. Multiple kernel learning on the limit order book. Workshop on Applications of Pattern Analysis (2010). [6] Garc´ ıa, R. El perceptr´on: Una red neuronal artificial para clasificar datos. 75
76 BIBLIOGRAF´ IA [7] Huang, W., Nakamori, Y., and Wang, S.-Y. Forecasting stock market movement direction with support vector machine. Computers and Operations Research 32 (2005), 2513–2522. [8] James, G., Witten, D., Hastie, T., and Tibshirani, R. An Introduction to Statistical Learning with Applications in R. 2021. [9] Kercheval, A., and Zhang, Y. Modeling high-frequency limit order book dynamics with support vector machines. [10] Nasr, G., and adn E.A.Badr, C. Cross entropy error function in neural networks: Forecasting gasoline demand. [11] Neely, C., Weller, P., and Dittmar, R. Is technical analysis in the foreign exchange market profitable? a genetic programming approach. The Journal of Financial and Quantitative Analysis 32 (1997), 405–426. [12] Palikuca, A., and Seidl, T. Predicting High Frequency Exchange Rates using Machine Learning. 2016. [13] Rokach, L., and Maimon, O. Decision trees. [14] Shalev-Shwartz, S., and Ben-David, S. Understanding Machine Learning: From Theory to Algorithms. 2014. [15] Yu, T.-W., and Yu, C.-C. Forecasting stock market with neural networks. Statist. Soc B (2009).