UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL PROYECTO FIN DE CARRERA APLICACIÓN PARA OBTENER SISTEMAS AUTOMÁTICOS DE TRADING BASADOS EN ANÁLISIS TÉCNICO AUTOR: Luis Martí Gutiérrez de la Cámara MADRID, Junio de 2005 APLICACIÓN PARA OBTENER SISTEMAS AUTOMÁTICOS DE TRADING BASADOS EN ANÁLISIS TÉCNICO Autor: Luis Martí Gutiérrez de la Cámara Directores: Álvaro Baíllo Moreno, Jesús Pascual Peco González RESUMEN DEL PROYECTO En este proyecto se propone una metodología para obtener sistemas automáticos de trading basados en análisis técnico utilizando redes neuronales artificiales. Para ello, en una primera parte se analizan diferentes elementos del análisis técnico (medias móviles, osciladores, días de giro,…) y se explica su uso para tomar decisiones de inversión. A partir de este análisis se plantea un modelo de desarrollo de sistemas de trading basado en redes neuronales. Este modelo toma los elementos del análisis técnico para generar variables de entrada y produce salidas que orientan las decisiones de compra o venta. Para el desarrollo de este modelo es necesario definir claramente las señales de entrada, las señales de salida, los indicadores y la función objetivo. Las señales de entrada son criterios que nos permiten identificar situaciones del mercado en las que podría ser un buen momento para abrir una posición. Las señales de salida nos indicarán el precio al que debemos cerrar una posición abierta. Los indicadores serán las variables explicativas a partir de las que decidiremos, en cada caso, si se ejecuta una determinada señal de entrada. La función objetivo será una función que modela el beneficio que se obtiene al abrir una posición con una señal de entrada y cerrar la posición con una señal de salida. De esta forma, se plantea un problema de aproximación funcional en el que se trata de establecer una relación entre un conjunto de indicadores técnicos seleccionados y una función objetivo evaluada en el momento en el que se produce una señal de entrada. Para resolver este problema de aproximación funcional se ha empleado una red neuronal artificial, concretamente un Perceptrón Multicapa. Se han propuesto dos enfoques distintos para orientar el entrenamiento del Perceptrón Multicapa: minimización del error cuadrático medio y maximización del beneficio medio por operación. Para la utilización de este tipo de red neuronal se ha implementado una librería codificada en Visual Basic, que incorpora un algoritmo de tipo Quasi-Newton de baja memoria para resolver la optimización de los pesos del Perceptrón Multicapa. Los sistemas automáticos de trading obtenidos con esta tecnología han ofrecido resultados satisfactorios en periodos no considerados durante el proceso de optimización, de lo que se deduce que es posible obtener beneficio operando en los mercados financieros utilizando el análisis técnico con este procedimiento. No obstante, no se puede garantizar que los sistemas automáticos de trading obtenidos vayan a ofrecer el mismo rendimiento en el futuro. El principal inconveniente que se ha presentado en la realización de este proyecto ha sido que al optimizar un patrón de funcionamiento en un periodo, los resultados que se obtenían en periodos distintos empeoraban. Se ha desarrollado una aplicación con la que se puede representar gráficos especialmente diseñados para el estudio de los elementos del análisis técnico y obtener sistemas automáticos de trading. Adicionalmente la aplicación incorpora un interfaz que hace posible que el usuario opere con los sistemas automáticos de trading creados anteriormente en tiempo real a través de una plataforma Web. APPLICATION TO OBTAIN AUTOMATIC TRADING SYSTEMS BASED ON A TECHNICAL ANALYSIS APPROACH Author: Luis Martí Gutiérrez de la Cámara Supervisors: Álvaro Baíllo Moreno, Jesús Pascual Peco González ABSTRACT In this thesis we have developed a methodology to obtain automatic trading systems based on a technical analysis approach by using artificial neural networks. The dissertation begins with a study of the different components of technical analysis (moving averages, oscillators, reversal days…) and with an explanation of their use to take investing decisions. According to this analysis we formulate a model for developing automatic trading systems based in artificial neural networks. This model takes elements from technical analysis in order to generate input variables and produces outputs that support adopting long or short positions. The development of this model requires a clear definition of the input signals, the output signals, the indicators and the objective function. The input signals are criteria that permit the identification of market situations in which it might be a chance to open a new position. The output signals indicate the price at which the positions should be closed. The indicators are explanatory variables that we use to decide whether an input signal should be executed. The objective function is a function that models the profit that is obtained by opening a contract with an input signal and closing it with an output signal. In this fashion, a functional approximation problem is formulated. We shall try to set up a relationship between a set of selected indicators and an objective function evaluated at the time an input signal is detected. In order to solve this functional approximation problem we have used an artificial neural network, in particular a Multilayer Perceptron. We have proposed two different approaches in order to guide the training process of the Multilayer Perceptron: the minimization of the mean quadratic error or the maximization of the operation average profit. To facilitate the utilization of this kind of neural network a library coded in Visual Basic has been implemented; it incorporates a low memory Quasi-Newton algorithm to adjust the network weights. The automatic trading systems obtained with this technology have offered positive results during periods not explicitly considered in the training process. This implies that it is possible to obtain profits in financial markets using technical analysis with this procedure. Nevertheless, positive results of these automatic trading systems can not be guaranteed in the future. The key drawback that has been detected in the development of this thesis has been that, while the results obtained in one period improve during the optimization process, the results in other periods worsen. The application developed can represent graphics especially designed for technical analysis studies and can obtain automatic trading systems. Additionally, the application incorporates a visual interface that supports real-time investing decisions through a Web page. Nunca será suficiente agradecimiento escribir aquí estos nombres, pero no habría podido empezar y acabar este proyecto si no fuera por Mi familia, Álvaro Baíllo, Grabiel Desmonts, Leonora Jiménez, Elisa López y Jesús Peco Contenido 1 INTRODUCCIÓN........................................................................................................5 1.1 Mercados financieros e inteligencia artificial...............................5 1.2 Objetivos............................................................................................6 1.3 Organización del documento.........................................................6 2 ANÁLISIS TÉCNICO..................................................................................................9 2.1 Introducción. Análisis técnico y análisis fundamental...............9 2.2 Diferentes tipos de análisis técnico.............................................10 2.3 Los primeros principios del análisis técnico. La teoría de Dow..................................................................................................11 2.4 Principales herramientas empleadas por el análisis técnico....14 2.4.1 Soportes y resistencias.............................................................................14 2.4.2 Líneas de tendencia..................................................................................16 2.4.3 El porcentaje de los retrocesos..................................................................18 2.4.4 La media móvil.........................................................................................20 2.4.5 Osciladores...............................................................................................25 2.4.6 Días de giro (Reversal Days)...................................................................31 2.5 La teoría de las ondas de Elliott...................................................34 2.5.1 Introducción............................................................................................34 2.5.2 Principios básicos de la teoría de las ondas de Elliott..............................34 3 DISEÑO DE UN SISTEMA DE TRADING..........................................................43 3.1 Introducción a los sistemas automáticos de trading.................43 3.2 Proceso de creación de un sistema automático de trading......44 3.3 Componentes utilizados en el desarrollo de un sistema automático de trading...................................................................46 3.3.1 Señales de entrada....................................................................................47 3.3.2 Señales de salida......................................................................................53 3.3.3 Indicadores técnicos.................................................................................55 3.3.4 Función objetivo......................................................................................60 3.3.5 “Caja negra”............................................................................................61 3.4 Implementación del modelo con redes neuronales artificiales........................................................................................61 3.4.1 Modelo A: Maximización del beneficio....................................................62 3.4.2 Modelo B: Minimización del error cuadrático medio...............................63 3.5 Ampliación del diseño: sistemas automáticos de trading basados en grupos de redes neuronales.....................................64 4 HERRAMIENTA INFORMÁTICA PARA LA OBTENCIÓN DE SISTEMAS DE TRADING: RNA TRADING.......................................................67 4.1 Gestión de la información.............................................................67 4.2 Visualización de gráficos..............................................................68 4.3 Creación de un sistema automático de trading.........................72 4.3.1 Opciones generales del sistema de trading...............................................72 4.3.2 Selección de componentes........................................................................74 4.3.3 Ejemplo A................................................................................................76 4.3.4 Ejemplo B.................................................................................................84 4.3.5 Ejemplo C................................................................................................89 4.4 Evaluación de un sistema automático de trading en tiempo real......................................................................................92 5 CONCLUSIONES Y FUTUROS DESARROLLOS............................................101 5.1 Conclusiones.................................................................................101 5.2 Futuros desarrollos......................................................................102 6 APROXIMACIÓN FUNCIONAL MEDIANTE REDES NEURONALES ARTIFICIALES.........................................................................................................105 6.1 Introducción..................................................................................105 6.2 Aproximación funcional.............................................................105 6.3 Redes neuronales artificiales......................................................109 6.3.1 Definición y características de una red neuronal artificial....................110 6.3.2 Paradigmas de aprendizaje....................................................................111 6.3.3 Principales estructuras conexionistas....................................................113 6.4 El Perceptrón Multicapa (Multilayer Perceptron)...................114 6.4.1 Estructura del Perceptrón Multicapa....................................................114 6.4.2 Entrenamiento de un Perceptrón Multicapa.........................................119 6.4.3 Cálculo de derivadas y algoritmo de Retropropagación (Backpropagation)..................................................................................121 6.4.4 Evolución del entrenamiento.................................................................125 6.4.5 Aspectos a tener en cuenta en el entrenamiento de un Perceptrón Multicapa...............................................................................................126 1 Introducción 1-3 Capítulo 1 Introducción
Description: