Un modelo de predicción para el valor TRM: Un acercamiento desde las redes neuronales artificiales Mauricio Ayala Sánchez* Escuela de Matemáticas Universidad Sergio Arboleda Bogotá, Colombia. Ruben Dario Castillo Serna** Departamento de Administración y Finanzas Universidad del Valle Cali - Colombia. Resumen Se presenta un modelo de predicción a un dı́a del mercado de divisas en Colombia, basado en Redes Neuronales Artificiales (RNA), el cual logró “entender” y predecir eficientemente el mercado. Y aunque el modelo reportó resultados de entrenamiento óptimo similares tanto en una serie con 20 dı́as precedentes, como en una serie con solo 5 dı́as precedentes al valor de la predicción, la red neuronal con 5 entradas reporto una eficiencia de validación del 90 % comparado con una eficiencia del 44 % en el otro caso (Todo esto, en el mismo conjunto Test y con un error de aprendizaje inferior al 1 %). En ambos casos fue más importante y sensible a la predicción el valor TRM del dı́a anterior, cuantificadores que decrecen en la medida que los dı́as se alejan hacia atrás del dı́a a predecir. Adicionalmente, usando la red con 5 entradas se mostró que el modelo de RNA es mucho más eficiente para hacer predicciones a 1 dı́a que a 50 dı́as seguidos; con una eficiencia promedio de 48 % y 28,5 % en el primer y segundo caso respectivamente y un error de aprendizaje inferior o igual al 2 %. Por otro lado, se buscó una validación (según RNA) del análisis técnico en el mercado local de divisas, usando como valor output el precio de cierre del dolar en un dı́a transaccional y como inputs: el dı́a y mes de la predicción, apertura, mı́nimo, máximo, cierre, monto transado y número de operaciones de los tres dı́as inmediatamente anteriores. Se encontró que el parámetro significativamente más relevante para la predicción fue el precio de cierre del dı́a anterior, aún ası́ el modelo de RNA mostró ser coherente con el análisis de velas. Siendo muy interesante el 3er. lugar de importancia que la RNA * ** E-mail: mauricio.ayala@usa.edu.co E-mail: rcastillo@uniweb.net.co Mauricio Ayala Sánchez, Ruben Dario Castillo Serna le da al mes o época del año, indicándonos que el mercado por lo regular tiene una tendencia según la época del año. Sin embargo, tuvo poca o casi ninguna relevancia el monto y el número de operaciones hechas en los 3 dı́as anteriores, lo cual significa que “el volumen no necesariamente sigue la tendencia”. Aquı́ se usó una base de datos sobre los históricos que van desde enero/1995 hasta junio/2004 para un total 2271 dı́as de análisis. Palabras claves: Redes Neuronales Artificiales, Predicción en series de tiempo, Valor TRM. 1. Introducción En la actualidad, las Redes Neuronales Artificiales o RNA, se reconocen como una de las herramientas matemáticas de uso computacional que mejores resultados presenta a la hora de modelar un problema, ya sea de: Aproximación de funciones: como el diagnóstico y control de maquinaria, en el control del piloto automático de una aeronave, o en el control de un robot, etc. Clasificación: como el diagnóstico médico, reconocimiento de caracteres, detección de fraude o clasificación de riesgo crediticio, etc. Predicción de series de tiempo: como la predicción del mercado de capitales, quiebra bancaria, predicción de ventas, predicción del consumo energético, etc. Procesamiento de datos: en filtrado de ruido o encriptando información, etc. En particular son las redes perceptrón multicapa o rpm las que han mostrado resultados satisfactorios en la economı́a, como es el caso de la predicción del mercado de valores[3, 4, 10, 14], la clasificación de riesgo crediticio[6], en el análisis de solvencia de una compañı́a[7], predicción de la quiebra bancaria[13], ası́ como su aplicación en modelos de inflación en la economı́a colombiana[8, 9]. A pesar que, la idea de RNA surgió por McCulloch & Pitts en 1943, esta técnica solo vino a tener una fuerte aplicación en problemas concretos en la última década, debido en parte al creciente desarrollo en los 90‘s de las computadores, las cuales hicieron posible implementar estos modelos. Y aunque se tiene indicios de que la mayorı́a de las aplicaciones que se desarrollan con RNA pueden ser desarrolladas con los métodos estadı́sticos standard[12], estos modelos han mostrado que pueden ser superiores a otras técnicas de análisis multivariado, llegando a mejores resultados de predicción que otros métodos estandard[2, 9, 16]. Esto debido a que las RNA se pueden adaptar muy bien tanto a problemas lineales, como en problemas no lineales, y es aquı́ donde las RNA tiene un potencial que otros modelos no poseen. Además, la técnica de redes neuronales tiene un atractivo que las hace aún más interesantes y es su habilidad para aprender, re-aprender y generalizar el conocimiento adquirido a nuevas observaciones, es decir este es un modelo que tiene memoria. Por otro 164 Un modelo de predicción para el valor TRM lado, las RNA consideran a cada conjunto de parámetros de un objeto de estudio, como una unidad que debe ser reproducida, y correlacionado con sus semejantes, a diferencia de los modelos tradicionales que se enfocan solo en la correlación entre parámetros y no entre objetos de estudio. Cuando se aplica un modelo de aprendizaje supervisado de una RNA a un conjunto de datos, estos se dividen en dos grupos separados: un conjunto de datos de entrenamiento y un conjunto de test que validará el modelo. En su mayorı́a, las aplicaciones de RNA en series de tiempo, los datos son distribuidos en perı́odos separados y prolongados, lo cual aumenta la probabilidad de error, dado que las condiciones del mercado están variando dı́a a dı́a y no siempre es posible saber con precisión como va a ser el mercado la semana siguiente o el mes siguiente. Aquı́, nosotros consideramos que esto no tiene mucho sentido y nuestro planteamiento es hacer predicciones a muy corto plazo (un dı́a, una semana, etc.) de tal manera que se reduzca el error y el modelo ofrezca una utilidad práctica para el mercado. Siendo las RNA un método de “caja negra”, las redes neuronales son una herra-mienta adecuada para encontrar una relación causal entre diferentes parámetros. En particular pueden ser muy útiles para encontrar las variables de predicción relevantes en una serie de tiempo financiera, ya que no asumen alguna estructura de la economı́a, su objetivo primordial antes que suponer cualquier relación funcional preconcebida, es encontrar una relación causal entre los parámetros de entrada y la salida deseada. Por un lado se puede pensar que una serie de tiempo de un mercado de valores es algo que tiene un comportamiento no predecible; no siempre es posible saber con anticipación que va a suceder un tiempo después. Sin embargo, la existencia de métodos de análisis bursatil son un claro indicio que existe un comportamiento subyacente en los mercados de valores, al describir las tendencias implı́citas. Por consiguiente surge la pregunta de ¿cual es el caracter dominante en un mercado de valores?, en particular el mercado colombiano, el cual nos corresponde. Con este interrogante a resolver, tomamos el mercado de divisas en Colombia como objeto de estudio, que es uno de los items en el mercado bursatil con mayor liquidez, y de mayor relevancia en las exportaciones colombianas. Con este propósito, usando la técnica de redes neuronales, estudiamos aquı́ el comportamiento del valor TRM (Tasa Representativa del Mercado)1, además del precio de cierre del dólar en el mercado regulado. 165 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna 2. Redes perceptrón multicapa Por analogı́a con las redes neuronales celulares, las RNA consisten de un conjunto finito de unidades interconectadas entre si, llamadas neuronas. Cada neurona Ni es modelada por un conjunto de datos de entrada Yj , los cuales tendrán cada uno un peso Wij que nos indica el factor de importancia de conexión entre la neurona i con la neurona j. Asociado a una neurona Ni siempre hay valor de salida Yi que podrı́a ser la entrada a otra neurona o el valor de salida de la red neuronal (respuesta de la red), el cual se encuentra al evaluar la función de activación f (Si ), donde Si es definido como la suma de un valor bias θi (factor de corrimiento) más la suma de todos las entradas a la neurona multiplicados por los correspondientes pesos sinápticos, es decir X Si = Yj Wji + θi j La función de activación puede tener múltiples formas, una de las más utilizadas es la función sigmoidal (ver [11] para más detalles) Al construir una red neuronal, esta debe poseer un conjunto de neuronas que recibirán los parámetros de entrada (input), y un conjunto de neuronas que reportarán el valor predicho (output). La literatura clasifica las RNA en dos tipos: Recurrentes: Pueden haber neuronas que son ambos: input & output. Ej. Redes autoasociadas (estas pueden presentar un comportamiento caótico). Ver figura 3. Dirigidas: Las neuronas input son diferentes de las neuronas output y la información siempre viaje unidireccionalmente de las neuronas input a las neuronas output. Ej. Redes perceptrón. Ver figura 3. Las estructuras de RNA más estudiadas y usadas en diferentes problemas, son las redes perceptrón debido a su estabilidad y a su eficiencia para minimizar el error. Estas pueden ser simples o multicapas (rpm), y se caracterizan porque sus neuronas están dispuestas en capas o niveles, siendo la primera capa, la capa de entrada de datos o neuronas input, la última capa representa las neuronas de salida o output, y entre estos se encuentran (si las hay) las capas ocultas o hidden. En estas topologı́as las neuronas input están conectados con la primera capa oculta (si la hay), la cual conecta con la segunda capa oculta (si la hay) y ası́ sucesivamente hasta las neuronas output. Las RNA adquieren el conocimiento a través de un proceso de instrucción, que puede ser de dos formas: 1 La TRM se calcula como el promedio ponderado de las operaciones de compra y venta de dólares sin incluir las operaciones de ventanilla (conocidas como aquellas que se realizan en el next day o mercado de compra y venta de dólares que funciona entre las 14:30 y 16:30 horas) y de derivados sobre divisas que llevan a cabo los establecimientos de crédito (sin incluir las compañı́as de financiamiento comercial) en las cuatro principales ciudades del paı́s (Bogotá, Medellı́n, Cali y Barranquilla). ver[15] 166 Un modelo de predicción para el valor TRM Supervisado: cada conjunto de parámetros de entrada tiene asociado un conjunto de parámetros de salida deseado (un profesor). De otra manera, después del entrenamiento, la RNA debe reportar la salida deseada para cada conjunto de parámetros de entrada. No supervisado: Los datos son distribuidos en una malla n-dimensional, de tal forma que después del entrenamiento cada conjunto de observación se ubicará al lado de sus semejantes, es decir al lado de aquellos elementos con quienes las diferencias sean mı́nimas. En nuestro caso, el cual es un problema de predicción en series de tiempo, el aprendizaje supervisado es el que mejor se adapta a nuestras necesidades, debido a que siempre es posible disponer de un conjunto “profesor”. Este aprendizaje se obtiene al minimizar la función de Error cuadrático medio: 1X E= (d0 − Y0 )2, 2 p siendo d0, Y0 respectivamente el valor deseado y el valor output de la RNA para cada caso de estudio p. Tenga en cuenta que Y0 depende de la salida de las neuronas que le preceden y de los pesos de conexión correspondientes, valores (salidas) que a su vez dependen de la salida y peso de conexión con las neuronas precedentes y ası́ sucesivamente hasta los valores input. Luego, son los pesos Wij de la conexión interneuronal junto con los parámetros θi , los usados para obtener el conocimiento, ya que estos son los únicos valores libres en la red; estos representan la memoria de una red neuronal artificial que ha sido entrenada. Por lo tanto, minimizar la función Error significa buscar unos valores Wij , θi para cada neurona que logren este objetivo, lo cual se logra después de un número finito de ciclos de entrenamiento. Esto conlleva a la siguiente perturbación que se itera para los valores Wij en cada ciclo, ∆Wij+ = γδj Yi + α∆Wij− , (1) siendo ∆Wij− la iteración anterior y ∆Wij+ la iteración siguiente2. Tenga en cuenta que en el primer ciclo de entrenamiento no hay una iteración precedente, por lo tanto ∆Wij− = 0. Los parámetros γ y α normalizados entre [0, 1], son una rata de aprendizaje y un momentum respectivamente3 . 2 La primera parte del lado derecho de la ecuación (1) se obtiene al aplicar la condición + = −γ∂Wij E, ∆Wij la cual es una condición de gradiente que nos indica la dirección en que la función Error se minimiza. La segunda parte, es una factor de corrección que mantiene una memoria de la dirección de minimización en los parámetros Wij , esto debido a deformaciones locales o falsos mı́nimos que pueda tener la función Error. 3 El parámetro γ se puede interpretar como: que tan aprisa queremos que la red aprenda o avance en la dirección de minimización. Por lo tanto, si este coeficiente toma valores cercanos a 1, significa que la red intentará asimilar el conocimiento lo más rápido posible con el inconveniente que puede aprender no 167 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna Aquı́ δj toma valores diferentes si se aplica a una neurona input, hidden u output. Por ejemplo, tomando como función de activación la función sigmoidal, se tiene que: δo = (do − Yo )Yo (1 − Yo ), (2) si el peso Wij que se modifica conecta a una neurona output. Si Wij conecta dos neuronas hidden o una neurona hidden con una neurona input, entonces se aplica la siguiente regla, para el caso de la función sigmoidal δh = Yh (1 − Yh ) No X δo Who (3) o=1 Esta regla se conoce como la regla “Back-propagation” (ver detalles en [11]). Tenga en cuenta que si la red neuronal alcanza un aprendizaje completo en el n-ésimo ciclo (es decir d0 = Y0 ), se tiene entonces que las ecuaciones (2), (3) toman valor cero y por lo tanto ∆Wij+ = 0, lo cual indica que el entrenamiento se ha terminado. 3. Modelo La predicción de series de tiempo, es algo que ha ocupado mucho a investigadores de distintas disciplinas, pero son las series de tiempo financieras las que más interés obtienen, en parte debido a la complejidad de los sistemas financieros, y a la alta no-linealidad de su comportamiento fluctuante y a veces “caprichoso”. Sin embargo, las RNA han tenido aquı́ un éxito que otras técnicas no han logrado. Diferentes modelos de redes neuronales han sido desarrollados para la predicción de mercados, algunos se enfocan en la predicción del precio futuro de un valor o en modelar la rentabilidad de una acción, otros son aplicados para reconocer ciertos patrones de precios del mercado. Sin embargo, aunque una RNA tenga la habilidad de entender el comportamiento de una secuencia (aprender) y de predecir la serie un tiempo después, el aprendizaje y la predicción no necesariamente están relacionados entre si. Se han encontrado secuencias caóticas que pudieron ser aprendidas pero no predichas, y secuencias cuasiperiódicas que pudieron ser predichas pero no aprendidas por una RNA[5], aunque este no ha sido el caso en muchos estudios aplicados a la economı́a[3, 4, 10, 14]. Para nuestro modelo de predicción, usamos como inputs, los valores de la serie de tiempo anteriores al valor de la predicción, tomando tantas entradas como se considere necesario para hacer una predicción aceptable (ver figura 4). muy eficientemente (recuerde que la función puede tener deformaciones locales abruptas). Si γ toma valores cercanos a 0, puede significar que la red aprende con mayor seguridad, pero esta vez lo hace muy lentamente, lo cual puede conllevar a que la red se estanque en su aprendizaje. Debido a estos inconvenientes se introduce un factor α que se puede interpretar como: que tan enfocada en el entrenamiento queremos que la red se encuentre, el cual permite una convergencia óptima aún en el caso que γ tome valores “grandes”. 168 Un modelo de predicción para el valor TRM 3.1. Predicción del valor TRM Para desarrollar nuestro modelo, escogimos una estructura que fuese versatil en el proceso de aprendizaje. Por esto partimos de un diseño perceptrón multicapa con un entrenamiento supervisado, usando como función de activación la función sigmoidal y aplicando la regla de aprendizaje “Back-propagation” antes comentada. Las restricciones que se le impuso a nuestro modelo de rpm, es que tuviese máximo 3 capas ocultas y mı́nimo 1 capa oculta, es decir buscamos un diseño rpm(N:x:y:z:M)4. Luego, se exploraron diferentes estructuras de rpm con estas condiciones, hasta encontrar una topologı́a óptima (es decir, con el menor error cuadrático medio posible) para cada conjunto de datos expuestos a la red. En el primer caso, se usó como datos de entrada: el valor TRM de los 20 dı́as precedentes al valor TRM del dı́a de predicción. Después de explorar diferentes rpm, llegamos a una red neuronal óptima con la siguiente estructura rpm(20:7:1), la cual alcanzó un error normalizado promedio5 de 0.003452 (o un error porcentual promedio de 0.34 %) después de 7875 ciclos de entrenamiento y 2271 casos de estudio. Aquı́ definimos la importancia de una neurona input k, como la suma del valor absoluto de los pesos Wkh que conectan esta neurona con la siguiente capa, es decir X Imp(Tk ) = |Wkh |. h Este valor es una medida de cuanto pesa cada neurona input en la red, o que tanta influencia tiene esta en la misma. Por comodidad, reescalaremos este cuantificador en una Importancia Normalizada usando la siguiente fórmula Imp(Ti) ImpN (Ti) = P j Imp(Tj ) Como es de notar en la anterior gráfica, este análisis le ha dado una mayor relevancia a los 5 dı́as precedentes al dı́a de predicción (T1 → T5), siendo más importante el dı́a anterior (T1) y en donde la importancia decrece en la medida que los dı́as se alejan hacia atrás del dı́a a predecir (Ver los valores de importancia para esta red en la tabla No. 1 del apéndice). Cabe anotar que en todas las RNA que se exploraron, los parámetros de entrada más relevantes para la predicción del valor TRM fueron los 5 dı́as anteriores al valor de la predicción y ordenados de la misma manera como el caso anterior, además de que los dı́as T6 → T20 tuvieron poca relevancia en la predicción en todos estos. 4 Siendo N el número de inputs, M el número de outputs, x,y,z el número de neuronas en la primera, segunda y tercera capa oculta posible. 5 El error normalizado promedio se define como: Ē = N 1 X |d0 − Y0 | . N p=1 d0 169 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna Después de esto se exploró diferentes rpm, pero esta vez con solo 5 parámetros de entrada correspondientes al valor TRM de los 5 dı́as anteriores a la predicción. Encontramos una red óptima con una estructura rpm(5:9:1), la cual logró un error promedio normalizado de 0.003491 después de 3100 ciclos de entrenamiento. Valor que es bastante cercano al error alcanzado por la rpm(20:7:1), salvo que esta red necesitó menos de la mitad de ciclos. Nuevamente se encontró que el dı́a más importante para la predicción era el dı́a anterior (T1), los otros 4 dı́as se ubicaron en un orden descendente similar al que muestra el análisis de importancia en el caso rpm(20:7:1). Para mostrar la relación causa-efecto que puede haber entre las neuronas input-output, definimos la sensibilidad de la entrada Tk (o la neurona input k-ésima) como k k Se(Tk ) = |Yom − YoM |, (4) k (Y k ) el valor que toma Y cuando T toma el valor mı́nimo (Máximo). De otra siendo Yom o k oM manera, la sensibilidad es una medida de como cambia el valor output en la RNA cuando la neurona input k-ésima incrementa su valor desde el mı́nimo hasta el valor máximo. Para hacer esta evaluación todos los demás inputs diferentes del k-ésimo se establecen en el valor promedio. Para la rpm(5:9:1), se obtuvo que la predicción es mucho más sensible al valor del dı́a anterior (T1) y en un claro orden descendente de los dı́as precedentes a la predicción, similar al que reporta el análisis de importancia. (Ver la tabla No. 2 en el apéndice) Después de esta fase de aprendizaje, se sometieron ambas RNA óptimas encontradas rpm(5:9:1) y rpm(20:7:1) a la prueba de validación. La cual consiste en re-entrenar cada rpm, pero escondiéndole 50 casos, que se presentarı́an luego a la red como test de predicción. Para esto, sometimos ambas rpm a un entrenamiento de 54500 ciclos, logrando un error normalizado medio de 0.003275 y 0.003295 para rpm(5:9:1) y rpm(20:7:1) respectivamente, y con los siguientes resultados en el test de validación. De aquı́ podemos observar que: la rpm(5:9:1) es la que mejores resultados de predicción y de aprendizaje6 mostró al modelar la serie de tiempo del valor TRM. Razón por la cual, sometimos esta red a la prueba de predicciones en corto (predicciones a 1 dı́a) y en largo (predicciones a 50 dı́as). Encontramos una eficiencia promedio de 28,5 % y un error medio de 0.030552 en las predicciones a 50 dı́as consecutivos, y una eficiencia promedio del 48 % y un error de 0.004 para 50 casos aleatoriamente escogidos y no secuenciales. Esta prueba se implementó con 1000 ciclos de entrenamiento para cada caso, y un error de predicción menor o igual al 2 %. 3.2. Predicción del precio de cierre del dolar. Para este caso, implementamos una red perceptrón multicapa con caracterı́sticas de aprendizaje similares al caso anterior. Los datos de entrada que se utilizaron fueron: la fecha del dı́a de predicción (dı́a, mes) y el precio de apertura, valor mı́nimo, valor máximo, precio de cierre, monto transado y número de operaciones de los tres dı́as inmediatamente anteriores. 6 170 La red con el mejor error óptimo Un modelo de predicción para el valor TRM Después de explorar diferentes rpm, llegamos a una red neuronal óptima con la siguiente estructura rpm(20:14:1), la cual alcanzó un error normalizado promedio de 0.003293 después de 36250 ciclos de entrenamiento. En el análisis de importancia y sensibilidad se encuentró una fuerte dependencia del precio de cierre del dolar con respecto al precio de cierre del dı́a anterior (ver figura 9). Los siguientes valores relevantes en el análisis de sensibilidad fueron: el valor de apertura del dı́a anterior y el valor mı́nimo, la apertura y el valor de cierre del dı́a 3, lo cual indica que el modelo de redes neuronales es coherente con el análisis de velas, en donde el cierre y los valores máximo, mı́nimo y apertura permiten predecir una tendencia, siendo más relevante la vela del dı́a anterior y luego la vela del 3er dı́a. Por otro lado, en el análisis de importancia después del precio de cierre del dı́a anterior, los valores con mayor peso fueron: el valor máximo y mı́nimo del dı́a anterior junto con el mes en el que se hace la predicción. Tanto en el análisis de importancia como en el análisis de sensibilidad, el monto y el número de operaciones hechas en los 3 dı́as anteriores no muestran mucha relevancia o casi ninguna, lo que significa que en el mercado local de divisas “el volumen no necesariamente sigue la tendencia”. Es muy interesante el tercer lugar de importancia que la RNA le da al mes de la predicción (ver apéndice: tabla 3), indicándonos entonces que la dinámica del mercado de dólares en Colombia depende de la época del año y no siendo relevante el dı́a del mes. Como el lector puede notar, la importancia es un valor siempre mayor que cero, de tal manera que si una entrada a la red tiene un alto valor de importancia, implica que las “decisiones” que tome la red neuronal estarán “fuertemente” influenciadas por el valor que tome esta entrada en particular. Por otro lado, la sensibilidad de una entrada es siempre un valor mayor o igual a cero. Luego, si este parámetro es grande para un input en particular, entonces pequeños cambios en esta entrada implicarán cambios proporcionales en la respuesta de la red neuronal, de otra manera se dice que la respuesta de la red es sensible a este input particular, lo que significa que la sensibilidad puede ser una medida de relación causal entre dos parámetros. Por consiguiente, sensibilidad e importancia son cuantificadores que no significan lo mismo. Por ejemplo, en nuestro caso el mes de predicción es una variable importante para tomar decisiones sobre como se va a comportar el dolar. Sin embargo, el hecho de que se tenga un cambio de mes en la predicción, no significa que esto afecte el comportamiento del dolar, como puede ser por ejemplo el cambio de diciembre a enero. El caso contrario, en donde la entrada ocupa un lugar más destacado en sensibilidad que en importancia; como es el caso del valor mı́nimo3, el cual ocupa el sexto lugar en importancia pero el segundo en sensibilidad, se tiene que la red neuronal responderá sensiblemente a pequeños cambios en este parámetro, pero este no afectará tanto a las otras entradas al momento de “tomar decisiones”, de otra manera mı́nimo3 no tiene gran influencia sobre los otros parámetros en el momento de hacer una predicción. Otro caso es la variable cierre1, la cual tiene la mayor importancia y sensibilidad en la rpm 171 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna implementada. Lo que nos indica que la red responderá sensiblemente a este parámetro, y a su vez este afectará “fuertemente” las otras entradas en el momento de hacer una predicción. Caso contrario es por ejemplo; el dı́a, número de operaciones en los dı́as 2 y 3 o el monto transado en los 3 dias anteriores, los cuales no logran afectar la respuesta de la red neuronal, ni alcanzan a influenciar las decisiones que tome la red neuronal sobre los otros parámetros. 4. Discusión y conclusiones Si bien, la capacidad que poseen las RNA para aprender y predecir no están generalmente correlacionados, este no es el caso para el mercado de divisas en Colombia. En el cual se pudo implementar con muy buenos resultados una red de tipo perceptrón con una capa oculta para cada problema de aprendizaje y predicción planteado. Para el caso de predicción del valor TRM, aunque el modelo perceptrón obtuvo unos resultados de aprendizaje eficientes tanto en una red con 5 entradas como en una red con 20 entradas (correspondientes al valor TRM de los 20 dı́as anteriores), la primera logró una eficiencia del 90 % comparado con un 44 % en el otro caso (en el mismo Test y un error de predicción inferior o igual al 1 %). Lo que nos sugiere que el exceso de información no significa necesariamente mayor comprensión del mercado. Adicionalmente, confirmamos nuestra sospecha para este caso de predicción, que los modelos de RNA son mucho más eficientes haciendo predicciones a corto plazo que sobre perı́odos largos de tiempo, con una eficiencia de 48 % y 28.5 % en el primer y segundo caso respectivamente (Esto en 1000 ciclos de aprendizaje y un error de predicción inferioral 2 %). En el análisis de importancia y sensibilidad, el modelo reportó que el dı́a con mayor peso para el mercado es el anterior a la predicción, relevancia que disminuye a medida que los dı́as se alejan hacia atrás del dı́a a predecir. Dicho de otra forma, el valor TRM de mañana depende fuertemente del valor TRM de hoy, dependencia que disminuye en la medida que los dı́as se alejan hacia atrás. Indicándonos entonces que; entre más lejos esté un dı́a de la predicción, menores serán sus posibilidades de afectar el futuro. Adicionalmente, el análisis de importancia y sensibilidad indica que si es posible predecir el mercado siguiendo la tendencia, sin embargo no todos los dı́as son pesados de la misma manera, lo que nos lleva a considerar que un análisis de promedios móviles ponderados o exponenciales es más acertado para estudiar las tendencias, que un análisis de promedios móviles simples (pms) en donde todos los valores tienen el mismo peso. De hecho, proponemos una mejora e estos, definiendo un promedio móvil de tipo neuronal (pmn), en donde cada dı́a es pesado según el análisis de importancia que reporta la red y que ha sido previamente normalizado, es decir pmn(n) = n X ImpN (Tk )Tk , k=1 donde n indica el número de dı́as que se consideran en el promedio móvil. Al hacer un 172 Un modelo de predicción para el valor TRM análisis comparativo entre los pms y los pmn, encontramos que los segundos anticiparon el cambio de tendencia 2 o 3 dı́as antes que los primeros para el perı́odo comprendido en la figura 10. Lo que indica nuevamente que la información más relevante en relación con el cambio de tendencia está en los valores más recientes. Cabe anotar aquı́, que todas las RNA implementadas para la predicción del valor TRM obtuvieron resultados en el entrenamiento con un error de predicción inferior al 2.5 % salvo en 2 dı́as de operaciones (ver apéndice: tabla 4): 1. (2, sept/98 → el dolar subió 6.18 %): la predicción obtuvo siempre un error superior al 4.1 % y aunque predice bien un alza, está por debajo del valor deseado. 2. (9, agost/02 → el dolar cayó 3.06 %): la predicción obtuvo siempre un error superior al 3.5 % y aunque predice bien una baja, está por encima del valor deseado. Para el otro caso, en el modelo de predicción del precio de cierre del dolar, la rpm óptima encontrada logró resultados de entrenamiento similares al implementado para el valor TRM, con un error de aprendizaje del orden de 0.33 % (o un error medio normalizado de 0.003293). Aquı́ la red neuronal le da mayor relevancia al precio de cierre del dı́a anterior, diciéndonos que el precio de cierre del dolar en el dı́a de mañana depende sensiblemente del precio de cierre del dı́a de hoy. El modelo mostró ser coherente con el análisis de velas, siendo más relevante la vela del dı́a anterior y luego la vela del 3er dı́a. Sin embargo, tuvo poca o casi ninguna relevancia el monto y el número de operaciones hechas en los 3 dı́as anteriores, lo cual significa que “el volumen no necesariamente sigue la tendencia”. De otra manera, hay un mercado que se mantiene, ası́ el dolar esté a la baja o al alza. En cuanto al tercer lugar de importancia para la predicción que la RNA le da al mes, se puede explicar en la siguiente figura, si se observa que en la última década el mercado de divisas ha tenido por lo regular: un comportamiento alcista en agosto, septiembre y la primera mitad de octubre; de soporte en la segunda mitad de enero, febrero, marzo y la primera mitad de abril; y con tendencia a la baja en noviembre para algunos años. Confirmando esto, que el mercado local se inclina a mantener un tendencia diaria promedio según la época del año. Agradecimientos Los autores desean expresar su gratitud a Angélica Muñoz Castellanos por los comentarios y apuntes hechos a este trabajo. 173 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna Apéndice Input T1 T2 T3 T4 T5 Imp(Tk ) 26,2192 11,1907 9,6431 6,9008 5,8021 Input T10 T6 T7 T8 T9 Imp(Tk) 5,1517 4,8318 4,7153 4,6177 4,5606 Input T11 T20 T16 T19 T12 Imp(Tk) 4,3367 4,1090 3,6412 3,4698 3,4160 Input T14 T18 T13 T17 T15 Imp(Tk) 3,3288 3,1449 3,0937 3,0105 2,8026 Tabla 1. Análisis de importancia para la rpm(20:7:1) después de 7875 ciclos de entrenamiento. Input T1 T2 T3 T4 T5 Imp(Tk ) 54,7192 21,0239 18,5255 17,7955 16,6489 Se(Tk ) 0,85320009 0,30630508 0,17117343 0,12403183 0,05204189 Tabla 2. Análisis de importancia y sensibilidad para la rpm(5:9:1). Aquı́ la sensibilidad es normalizada entre [0, 1]. Input Imp(Tk ) Cierre T1 30,0303 Máximo T1 11,5078 Mes T0 8,8992 Mı́nimo T1 7,9616 Apertura T2 7,1335 Mı́nimo T3 6,6437 Máximo T2 6,4983 Operaciones T1 6,4167 Apertura T3 6,2216 Cierre T2 6,0085 Se(Tk ) 0,75117491 0,04475237 0,00660025 0,05740495 0,04006379 0,16020802 0,03892178 0,02897890 0,08257140 0,00297948 Input Imp(Tk ) Mı́nimo T2 5,6872 Cierre T3 5,6549 Máximo T3 5,4704 Apertura T1 4,8666 Monto T1 4,2152 Monto T3 3,8760 Operaciones T2 3,4267 Operaciones T3 3,4099 Monto T2 3,2193 Dı́a T0 2,2907 Se(Tk ) 0,06073493 0,07689388 0,04454920 0,12317505 0,01681221 0,00264038 0,02813428 0,01337309 0,00592695 0,00056303 Tabla 3. Análisis de importancia y sensibilidad para la validación del análisis técnico bursatil en una rpm(20:14:1). T5 T4 T3 T2 T1 T0 deseado T0 predicho 2/09/98 1431, 52 1438, 94 1441, 20 1442, 15 1443, 30 1532, 46 1450,30 9/08/02 2641, 12 2643, 10 2662, 90 2670, 64 2651, 88 2570, 81 2644,71 Tabla 4. Predicción del valor TRM para los dı́as con el error más alto encontrado. 174 Un modelo de predicción para el valor TRM Bibliografı́a [1] Amat, Oriol; Puig, Xavier: Análisis técnico bursatil. Ediciones GESTION 2000, Barcelona: España. (1993) [2] Ayala, M; Moreno, E: Un modelo de diagnóstico de PNF aguda mediante redes neuronales artificiales. ICP XXIV, México, 2004. [3] Bosch, J; Garrido, Ll; Gómez, S: “Predicción de indices de futuros financieros mediante redes neuronales”. Swap & productos derivados 27 (1997) pp. 19-21. [4] Castiglione, Filippo: “Forecasting price increments using an artificial Neural Network”. Adv. Complex Systems 1 (2002) pp. 1-12. [5] Freking, Ansgar; Wolfgang, Kinzel: “Learning and predicting time series by neural networks”. cond-mat/0202537. (Feb. 2002)7 [6] Jagielska, Ilona; Jaworski, Janusz: “Neural Network for Predicting the Performance of Credit Card Accounts”. Computational Economics 9(1) (1996) pp. 77-82. [7] Martı́n del Brı́o, B; Serrano, C: “Self-Organizing Neural Networks: The Financial State of Spanish Companies”. Neural Networks in the Capital Markets, Ed Refenes, John Wiley & Sons, Capı́tulo XXIII. (1995) [8] Misas M, López E, Querubı́n P: “La inflación en Colombia: una aproximación desde las redes neuronales”, Ensayos sobre polı́tica económica, Banco de la República, No. 41-42, (Jun. 2002) [9] Misas, M; López, E; Arango, C; Hernández, J.N: “La demanda de efectivo en Colombia: una caja negra a la luz de las Redes Neuronales”, Ensayos sobre polı́tica económica, Banco de la República, (Nov. 2003). [10] Mizuno, H; Kosaka, M; Yajima, H: “Stock Market Prediction System Based On Technical Analysis of Stock Index Using Neural Network”, Proceedings of the 15th IMACS, (1997) pp. 49-54. [11] Kröse, Ben; Van der Smagt, Patrick: An introduction to neural networks, University of Amsterdam (1996). [12] Sarle, W.S: “Neural Networks and Statistical Models”, Proceedings of the Nineteenth Annual SAS Users Group International Conference, April 1994. 7 Ver el servidor de artı́culos e-print: http://arxiv.org 175 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna [13] Serrano, C; Martı́n del Brı́o, B: “Predicción de la crisis bancaria mediante el empleo de redes neuronales artificiales”, Revista Española de Financiación y Contabilidad, vol XXII, No 74, (1993) pp 153-176. [14] Situngkir, H; Surya, Y: “Neural Network Revisited: Perception on Modified Poincare Map of Financial Time Series Data”. cond-mat/0403620. (Mar. 2004)7 [15] Superintendencia Bancaria: “Funcionamiento del mercado cambiario”. May. 2002 [16] Zirilli, Joseph S: Financial Prediction Using Neural Networks, International Thomson Publishing (1996). 176 Un modelo de predicción para el valor TRM Figura 1: Estructura de una neurona artificial en analogı́a a una neurona celular. 1 0.8 0.6 f (S) = 1 1+e−S 0.4 0.2 0 -7.5 -5 -2.5 0 2.5 5 7.5 Figura 2: Definición algebráica y el gráfico de la función sigmoidal Figura 3: (a) Una rpm con 9 neuronas input, una primera capa oculta de 3 neuronas, una segunda capa oculta de 6 neuronas y una capa de 5 neuronas output, la cual se abrevia como rpm(9:3:6.5). (b) Red auto-asociada, todas las neuronas son ambos: input & output 177 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna Figura 4: Implementación de una rpm(9:3:1) en la predicción de una serie de tiempo con 9 parámetros de entrada precedentes, siendo T1 la entrada anterior a la predicción y T9 la novena entrada antes de la predicción. T0 indica el valor a predecir. Figura 5: Análisis de Importancia para la rpm(20:7:1) después de 7875 ciclos de entrenamiento. 178 Un modelo de predicción para el valor TRM Figura 6: Importancia normalizada y sensibilidad para la rpm(5:9:1) después de 3100 ciclos de entrenamiento. Figura 7: Número de aciertos para rpm(5:9:1) y rpm(20:7:1) que están dentro del rango de error marcado en el eje x. Aquı́ se observa una clara superioridad de la rpm(5:9:1) al hacer predicciones 179 Mauricio Ayala Sánchez, Ruben Dario Castillo Serna Figura 8: Curva de eficiencia para una predicción en largo, tomando para cada caso de entrenamiento un conjunto de 50 dı́as consecutivos como datos de validación, que luego eran desplazados en 1 a la derecha, para el siguiente caso de validación. La gráfica muestra que el modelo tuvo una buena eficiencia solo en ciertas épocas. Figura 9: Análisis de sensibilidad y de importancia normalizada para la rpm(20:14:1) después de 36250 ciclos de entrenamiento. 180 Un modelo de predicción para el valor TRM Figura 10: pmn para 5 y 20 dı́as sobre el valor TRM entre: 29/mayo/03 y 14/noviembre/03. Figura 11: Mercado del dolar en Colombia según la época del año desde 1995 hasta 2004. 181