Sistemas Expertos: Trading
Transcription
Sistemas Expertos: Trading
Sistemas Expertos: Trading Lucía Payo Molina Pablo Pérez González Estudiante Ing. Telecomunicación Universidad Carlos III de Madrid Avda. De la Universidad, 30 28911, Leganés (Madrid-España) Estudiante Ing. Telecomunicación Universidad Carlos III de Madrid Avda. De la Universidad, 30 28911, Leganés (Madrid-España) [email protected] [email protected] RESUMEN En este documento se describe el uso de los sistemas expertos y su aplicación en concreto para operaciones bursátiles y financieras. Categorías y Descriptores de Temas [Inteligencia Artificial]: Sistemas expertos y aplicaciones financieras 2.1 Arquitectura Básica Términos Generales Algoritmos, diseño, experimentación. documentación, economía, teoría característica adicional deseable, que muchos considerarían fundamental, es la capacidad del sistema, si se le solicita, de justificar su propia línea de razonamiento de un modo directamente inteligible para el interrogador...". (Connell, 1987, p. 221; Prado, 1991, p. 443). y Palabras Clave Sistemas expertos, trading, operaciones financieras, bolsa, inversión, operación bursátil. 1. INTRODUCCION Los sistemas expertos son programas de ordenador que capturan el conocimiento de un experto e imitan sus procesos de razonamiento cuando resuelven los problemas en un determinado dominio. Los sistemas expertos son un subconjunto especial dentro de los sistemas basados en el conocimiento, que incorporan en la base de conocimiento del sistema el conocimiento de un experto. Un sistema de trading es, básicamente, un conjunto de reglas matemáticas bien estructuradas, en las que basaremos nuestras operaciones en bolsa. Sin embargo estos sistemas no solo son programas complejos ejecutados por máquinas que realizan operaciones en el mercado de forma autosuficiente, sino que también se puede considerar como sistema experto un inversor que fijándose tan solo en un sencillo indicador sigue ciertas reglas de compra y venta bien definidas sobre otros valores. 2. SISTEMAS EXPERTOS Una definición formal de los sistemas expertos, aceptada por muchos autores, es la aprobada por el Grupo Especialista en Sistemas Expertos de la Sociedad Británica de Ordenadores, que los define de la forma siguiente: "Un sistema experto es visto como la incorporación en un ordenador de un componente basado en el conocimiento, que se obtiene a partir de la pericia (conocimiento técnico) de un experto, de tal forma que el sistema pueda ofrecer asesoramiento inteligente o tomar una decisión inteligente sobre una función del proceso. Una Un sistema experto está compuesto de los siguientes elementos: base de conocimiento, base de hechos, motor de inferencia, subsistema de explicación, interfaz de usuario. 2.1.1 Base de conocimiento Es la parte del sistema experto que contiene el conocimiento sobre el dominio. Hay que obtener el conocimiento del experto y codificarlo en la base de conocimientos. Una forma clásica de representar el conocimiento en un sistema experto son lar reglas. Una regla es una estructura condicional que relaciona lógicamente la información contenida en la parte del antecedente con otra información contenida en la parte del consecuente. 2.1.2 Base de hechos Contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos. El sistema empareja esta información con el conocimiento disponible en la base de conocimientos para deducir nuevos hechos. 2.1.3 Motor de inferencia El sistema experto modela el proceso de razonamiento humano con un módulo conocido como el motor de inferencia. Dicho motor de inferencia trabaja con la información contenida en la base de conocimientos y la base de hechos para deducir nuevos hechos. Contrasta los hechos particulares de la base de hechos con el conocimiento contenido en la base de conocimientos para obtener conclusiones acerca del problema. 2.1.4 Subsistema de explicación Una característica de los sistemas expertos es su habilidad para explicar su razonamiento. Usando el módulo del subsistema de explicación, un sistema experto puede proporcionar una explicación al usuario de por qué está haciendo una pregunta y cómo ha llegado a una conclusión. Este módulo proporciona beneficios tanto al diseñador del sistema como al usuario. El diseñador puede usarlo para detectar errores y el usuario se beneficia de la transparencia del sistema. 2.1.5 Interfaz de usuario La interacción entre un sistema experto y un usuario se realiza en lenguaje natural. También es altamente interactiva y sigue el patrón de la conversación entre seres humanos. Para conducir este proceso de manera aceptable para el usuario es especialmente importante el diseño del interfaz de usuario. Un requerimiento básico del interfaz es la habilidad de hacer preguntas. Para obtener información fiable del usuario hay que poner especial cuidado en el diseño de las cuestiones. Esto puede requerir diseñar el interfaz usando menús o gráficos. • Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la capacidad de duplicación el coste finalmente es bajo. • Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dañinos para el ser humano. • Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano sí (cansancio, presión, etc.). • Consolidar varios conocimientos. • Apoyo Académico. 2.3 Inconvenientes • Sentido común: Para un Sistema Experto no hay nada obvio. Por ejemplo, un sistema experto sobre medicina podría admitir que un hombre lleva 40 meses embarazado, a no ser que se especifique que esto no es posible ya que un hombre no puede procrear hijos. • Lenguaje natural: Con un experto humano podemos mantener una conversación informal mientras que con un SE no podemos. • Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de sus errores y de errores ajenos, que un SE haga esto es muy complicado. • Perspectiva global: Un experto humano es capaz de distinguir cuales son las cuestiones relevantes de un problema y separarlas de cuestiones secundarias. • Capacidad sensorial: Un SE carece de sentidos. • Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos para la resolución de un problema. • Conocimiento no estructurado: Un SE no es capaz de manejar conocimiento poco estructurado. 2.4 Campos de aplicación Figure 1. Arquitectura de un sistema experto 2.2 Ventajas • Permanencia: A diferencia de un experto humano un SE (sistema experto) no envejece, y por tanto no sufre pérdida de facultades con el paso del tiempo. • Duplicación: Una vez programado un SE lo podemos duplicar infinidad de veces. • Rapidez: Un SE puede obtener información de una base de datos y realizar cálculos numéricos mucho más rápido que cualquier ser humano. Según el tipo de problema a resolver, los ámbitos de aplicación en los que más se han utilizado los sistemas basados en el conocimiento son los siguientes: ● Sistemas de ayuda a la toma de decisiones. Se trata de sistemas que a partir de una problemática determinada sugieren la solución que consideran más idónea a partir del conocimiento incluido en el sistema. ● Configuración. Se encargan de la selección y planificación de los componentes que se necesitan en un proceso determinado. Un caso típico son los sistemas que ayudan a configurar los equipos físicos a partir de los componentes existentes y de las restricciones establecidas. ● Diagnóstico. Se trata de sistemas que a partir de unos "síntomas" determinan las causas que lo producen. Ejemplo de ellos son los sistemas basados en el conocimiento de diagnóstico de enfermedades o de averías. ● Interpretación y Análisis. Sirven para tratar grandes volúmenes de información, interpretarla, dar un informe explicativo y sugerir las acciones a tomar. Ejemplo de ellos pueden ser los sistemas de evaluación de resistencia de estructuras frente a terremotos o sistemas de supervisión de procesos industriales. Para cotizar sus valores en la Bolsa, las empresas primero deben hacer públicos sus estados financieros, puesto que a través de ellos se pueden determinar los indicadores que permiten saber la situación financiera de las compañías. ● Monitorización. Estos sistemas suelen encargarse de monitorizar procesos suministrando una salida de control como respuesta. Existen muchos ejemplos de monitorización de procesos en factorías, plantas químicas, centrales nucleares, etc. Son sistemas que deben funcionar en tiempo real. ● Planificación. Son sistemas que establecen las etapas y recursos necesarios para alcanzar un determinado objetivo. Ejemplo de ellos podría ser un sistema basado en el conocimiento de planificación de trabajos en una factoría. ● Interfaces inteligentes. Hacen de puente entre las personas y equipos complejos y de difícil utilización. Caso típico son los interfaces inteligentes de acceso a base de datos. ● Diseño. Son aquéllos que efectúan la planificación o trazado de un objeto o sistema en base a los requisitos especificados. Suelen ser capaces de dar diferentes soluciones de forma que el usuario pueda elegir aquélla que le convenga. Ejemplo de este tipo son los sistemas de ayuda al diseño de puentes, presas, microcircuitos electrónicos, etc. 3. SISTEMAS DE TRADING Para poder entender un poco mejor el ámbito donde funcionarán los sistemas expertos basado en operaciones bursátiles es necesario profundizar en el entorno donde nos moveremos. 3.1 Bolsa de Valores Una Bolsa de Valores, es una organización privada que brinda las facilidades necesarias para que sus miembros, atendiendo los mandatos de sus clientes, introduzcan órdenes y realicen negociaciones de compra y venta de valores, tales como acciones de sociedades o compañías anónimas, bonos públicos y privados, certificados, títulos de participación y una amplia variedad de instrumentos de inversión. La negociación de los valores en los mercados bursátiles se hace tomando como base unos precios conocidos y fijados en tiempo real, en un entorno seguro para la actividad de los inversionistas, donde el mecanismo de las transacciones está totalmente regulado, lo que garantiza la legalidad y seguridad. Figure 2. Bolsa de Madrid 3.2 Filosofía de los sistemas de trading La filosofía de los sistemas de trading consiste en subirse al carro de los beneficios de la tendencia en la bolsa y acortar rápidamente las pérdidas de las posiciones perdedoras, de tal manera que el balance entre posiciones ganadoras y perdedoras sea positivo al cabo de un tiempo suficientemente largo. Para tal fin, son usados diversos criterios matemáticos para determinar el surgimiento y finalización de un movimiento tendencial, y por consiguiente, los puntos de compra-venta en el mercado. Dado que un sistema de trading es una estrategia matemática, dependerá de unos parámetros matemáticos cuyos valores dependerán a su vez de diversos factores: comportamiento histórico del mercado, período de la barra, franja horaria a considerar, características intrínsecas del sistema,... Por tanto, será obligado determinar dichos valores mediante un estudio exhaustivo de los datos históricos. 3.2.1 El stop-loss Puesto que no siempre se acertará cuándo hay tendencia y de qué tipo, todo sistema de trading debe incluir un criterio para salir del mercado con la menor pérdida posible, es decir, que debe incluir un stop de pérdidas (stop loss). La elección del valor del stop loss dependerá del comportamiento del mercado y del sistema, no debiendo ser jamás un capricho: un stop loss demasiado pequeño no permitirá que el mercado se dé la vuelta en posiciones perdedoras, impidiendo su posterior transformación en ganadoras o menos perdedoras; en tanto que un stop loss demasiado grande sólo contribuirá a aumentar en exceso el número de posiciones perdedoras, por lo que no habrá compensación entre posiciones perdedoras y ganadoras. Así pues, su valor debe ser aquel que nos conduzca al equilibrio, siendo exactamente el que la estadística basada en los diferentes comportamientos históricos del mercado considera más fiable y con mayores expectativas de beneficios. 3.2.2 Calidad de un sistema de trading Aunque la idea que subyace bajo el funcionamiento de un sistema de trading es sencilla, en la práctica su llevada a buen puerto supone un trabajo harto difícil y complejo. Una parte del tiempo dedicado a su desarrollo debe dedicarse a las pruebas que necesariamente todo sistema debe superar. A grandes rasgos, 3 son las pruebas a realizar con objeto de estudiar su bondad, robustez y fiabilidad. a) Potencia fuera de rango o prueba externa: tiene por objeto tratar de responder a la siguiente pregunta: ¿qué podemos esperar de un sistema de trading en un determinado mercado? Esta prueba es la primera que realizamos, dado que nos permite saber si debemos o no desechar un sistema en cierto mercado. b) Prueba de estabilidad del sistema: se realizan una vez fijados los parámetros. Tiene como objetivo comprobar si los valores que hemos escogido para los parámetros del sistema son estables o inestables. Un sistema con grandes beneficios, si genera pérdidas importantes en momentos determinados podría tirarnos del mercado, por lo tanto su riesgo sería demasiado alto. c) Comprobar los resultados en el mercado real: La tercera prueba consistiría en comprobar que los resultados teóricos obtenidos por el sistema se mantienen en el mercado real. Una vez superadas las pruebas pertinentes el sistema queda listo para ser usado. Uno de los mayores avances producidos en los últimos tiempos ha venido precisamente en esta dirección. Gracias a los grandes avances de la informática y las telecomunicaciones, hoy ya es posible que sean los sistemas mismos los que lancen por nosotros automáticamente las órdenes de compra-venta pudiendo hablar así de la automatización de los sistemas de trading. obstáculo con el que nos enfrentamos al empezar a operar, nosotros mismos. b) Sistemas Discrecionales (Discretional Trading Systems). En ellos el Trader se basa en unas reglas a las que aplica su intuición ante cada operación en el mercado. Su gran ventaja está en la flexibilidad y adaptación a los cambios en los mercados. Sus inconvenientes están en la necesidad de tomar decisiones de forma constante, decisiones que afectan nuestro control emocional. Además, la verificación de sus resultados en una serie histórica es imposible y requieren mucha concentración y tiempo por parte del trader. 3.4 Sistemas de trading automáticos La revolución tecnológica de los últimos años, ha permitido desarrollar plataformas en las que albergar los sistemas de Trading, de manera que estos lancen sus órdenes de compraventa al mercado de manera automática sin supervisión de un operador. Por lo tanto un sistema automático, es una aplicación informática, que hemos desarrollado en base a unas reglas y que nos permite lanzar órdenes al mercado de manera automática, sin que intervenga la decisión de ningún operador. La gran ventaja de crear sistemas de trading que funcionan con programas informáticos, es que nos permiten automatizar nuestra operativa de compra y venta en cualquiera de los numerosos mercados existentes. La operativa se basa en las reglas que hemos definido, cuyo cumplimiento se verifica mientras los precios evolucionan. Este proceso de toma de decisiones a medida que se cumplen reglas prefijadas, es el paso más complejo de todos los que debemos afrontar al diseñar un sistema de trading. Hoy en día, gracias a Internet, tenemos acceso inmediato a la información y las cotizaciones de todos los mercados mundiales, por otro lado el gran avance de la informática nos permite desarrollar, con los conocimientos adecuados, estrategias eficientes para operar en los mercados. La posibilidad de poder analizar grandes bases de datos de cualquier activo financiero, permite obtener pautas de comportamiento temporal de los precios, estos patrones que han funcionado en el pasado es probable que también lo hagan en el futuro. 3.3 Clasificación de los sistemas trading a) Sistemas Mecánicos (Mechanical Trading Systems). Las señales se generan de forma mecánica, es decir, que una vez desarrollado el conjunto de reglas, las órdenes se irán generando sin necesidad de nuestra intervención, por lo que nosotros, simplemente, nos dedicaremos a colocarlas en el mercado. Las ventajas de este tipo de Sistemas son las desventajas de los sistemas discrecionales y viceversa. Dentro de esta categoría tendríamos los sistemas de trading automáticos, que se caracterizan por el envío directo de las órdenes al broker, sin necesidad de que el operador introduzca las órdenes, ahorrando tiempo, y salvando el principal Si hemos diseñado una estrategia podemos aplicarla a la base de datos histórica de un futuro, por ejemplo, y ver los resultados que habríamos obtenido con ella, si estos son buenos, podemos optimizarla para comprobar la fiabilidad de los resultados en diferentes series temporales, y también estudiar las pérdidas que se generan. 3.4.1 Mercado de Futuros La aplicación de los sistemas automáticos de Trading puede ser sobre cualquier activo financiero pero donde son más útiles y se obtiene mejor rendimiento es en los mercados de Futuros. Un futuro es un acuerdo entre dos partes por el cual los contratantes se comprometen a entregar un determinado producto (subyacente), en una fecha futura previamente fijada (vencimiento) y a un precio pactado. Este tipo de producto vio la luz a la hora de fijar unos precios a las campañas de venta de productos agrícolas, tanto el vendedor y el comprador se aseguraban un precio de compra-venta meses antes de la recolección , por ejemplo del café, de tal manera que si el precio del café es superior al fijado en el momento de formalizar el contrato de futuro el comprador saldrá beneficiado porque pagará el café a un precio más bajo que el de mercado sin embargo si el precio del café está más bajo que el acordado en el contrato de futuro el vendedor será el que salga beneficiado puesto que venderá su café más caro que el precio en el mercado. Años después se aplicó este producto a cualquier índice bursátil y divisas ( IBEX 35, NASDAQ, DOW JONES, DAX, EUROSTOXX, etc..), estos productos se pueden comprar y vender en cualquier momento mediante un mercado regulado por diversas instituciones, no es necesario esperar a su vencimiento para cerrarlos y podemos tanto comprarlos como venderlos, es decir si creemos que el índice IBEX35 va a subir compraremos un futuro sobre este índice, pero si por el contrario creemos que el IBEX35 va a bajar lo que haremos es vender un contrato de futuro para recomprarlo cuando este más bajo y así obtener beneficio. 3.4.2 Drawdown El drawdown o retroceso de la curva de resultados, nos mide el retroceso actual en la curva de resultados respecto al anterior máximo en dicha curva. Así pues, si por ejemplo hemos estado invirtiendo en un sistema y hemos llegado a ir ganando 10.000 euros con él, y actualmente sólo vamos ganando 7.000 euros, estaremos sufriendo un drawdown de 3.000 euros. El drawdown seguirá vigente hasta que la curva de resultados no supere el anterior máximo de ganancias, es decir, hasta que no supere los 10.000 euros. Figure 3. Drawdown máximo 3.4.3 Ejemplos de sistemas de trading automáticos Hay muchas empresas dedicadas al desarrollo de sistemas expertos. Una vez desarrollado las empresas ofrecen sus servicios a cambio de unas cuotas. Muchas personas y empresas utilizan esta clase de servicios. A continuación mostraremos algunos ejemplos reales de estos sistemas de trading automático. 3.4.3.1 Sistema ST5 DAX 1321 Sistema aplicado al futuro del DAX, que opera a partir de las 10:30 de la mañana. Tiene en cuenta la volatilidad del mercado para fijar los stops y objetivos de beneficios. Incluye filtros que impedirán que el sistema entre, sí las posibilidades de acierto no son altas. Se trata de un sistema muy robusto. El Futuro sobre el Dax es un contrato de futuros que tiene por activo subyacente al índice DAX, uno de los índices de la Bolsa de Fráncfort. La realidad es que el concepto de drawdown no tiene por qué ir vinculado a la operativa con sistemas automáticos de trading, ya que es aplicable a cualquier metodología de inversión. Lo que ocurre es que en metodologías discrecionales es complicado tener datos históricos objetivos para poder analizar el drawdown y por ello, el uso de este estadístico suele ser más habitual en inversores que operan mediante sistemas automáticos de trading. El valor del drawdown se suele utilizar para determinar el nivel de riesgo de nuestro sistema de trading, ya que el drawdown influye de manera directa en el capital mínimo con el que hemos de contar para invertir en un determinado sistema de trading. Figure 4. Beneficios del sistema ST5 DAX Figure 5. Beneficios año 2010 del sistema ST5 DAX Figure 7. Beneficios año 2010 del sistema ZEUS 3.4.3.2 Sistema Zeus 1521 3.4.3.3 Sistema ST5 IBEX 1051 Sistema intradiario puro, por lo que cierra posiciones a fin de día. Su objetivo es el de aprovechar los movimientos tendenciales que surgen en Europa por la tarde, después de la apertura de Wall Street. Por tanto, sólo opera en horario de tarde, coincidiendo con el mayor movimiento en Wall Street. Posee un filtro de volatilidad que usa para fijar los objetivos de beneficios y el stop de pérdidas, adaptándolos a la situación del mercado. Se trata de un sistema que se comporta muy bien en periodos de alta volatilidad, obteniendo grandes beneficios y a su vez se defiende muy bien cuando la volatilidad del mercado es baja. Sistema basado en soportes y resistencias, aplicado al Futuro del IBEX. Tiene en cuenta la volatilidad del mercado para fijar los stops y objetivos de beneficios. Incluye filtros que impedirán que el sistema entre si las posibilidades de acierto no son altas. Se trata de un sistema muy robusto. Su operativa es intradía y empieza a operar por las mañanas. Figure 8. Beneficios del sistema ST5 IBEX Figure 6. Beneficios del sistema ZEUS Figure 10. Resultados 2008 Figure 9. Beneficios 2010 sistema ST5 IBEX 3.5 Automated Trading Championship Existen varias competiciones en el mundo que consisten en que cada uno de los participantes diseña un sistema automático de trading basándose en sistemas expertos y después se simula su comportamiento en el mercado. El que mayores beneficios consiga en un determinado periodo de tiempo es el ganador. El mejor sistema terminó con unos beneficios de $169.584 lo que quiere decir que multiplicó casi por 17 el capital inicial de $10.000. Pero lo más sorprendente es que el peor de todos los sistemas terminó con unos beneficios de $61.922 multiplicando el capital inicial por más de 6. Esto nos da una idea del nivel existente en esta competición. En este momento se está celebrando la competición del 2010, que finaliza el día 24 de diciembre. A día de hoy el mejor sistema ha conseguido unos beneficios de $82.928 y el peor de $35.408, pero aún quedan más de 10 días para que finalice el periodo de prueba y puede haber variaciones de miles de dólares en los beneficios de cualquier sistema. La competición más importante es la organizada por MetaQuotes Software Corp. Puede participar cualquier persona mayor de 16 años y los premios son: ● Primer premio: $40.000 ● Segundo premio: $25.000 ● Tercer premio: $15.000 Cada año (a excepción del 2009, que no se celebró) se presentan grandes profesionales al concurso cuyos sistemas son capaces de multiplicar por 10 los beneficios. Comienzan con $10.000 dólares para invertir en un periodo de aproximadamente 3 meses. Por supuesto el depósito es virtual pero las simulaciones se hacen sobre el mercado real. Continuamente durante los 3 meses se hace un seguimiento exhaustivo de los sistemas, analizando las decisiones que toman y las repercusiones que estas tienen sobre los beneficios. Al finalizar el periodo se comparan todos los sistemas y se eligen los 3 mejores. Los resultados son sorprendentes. A continuación podemos ver los resultados de la competición del año 2008. Figure 11. Situación a 13 de diciembre del 2010 4. REFERENCIAS [1] Wikipedia http://es.wikipedia.org/wiki/Sistema_experto [2] Jackson, P. Introduction to Expert Systems Addison-Wesley, 1990. [3] Castillo, E., Gutiérrez, J.M. and Hadi, A.S. (1997) Expert Systems and probabilistic Network Models. Springer Verlag, New York. Versión castellana publicada por la Academia de Ingeniería (1998) [4] José Ramón Díaz Serrano, ¿qué es el drawdown? http://sistemasdetrading.es/category/sistrmas-de-trading/ [5] Tatiana Macchiavello. Sistemas Expertos http://www.monografias.com/trabajos30/sistemasexpertos/sistemas-expertos.shtml [6] Wikipedia. http://es.wikipedia.org/wiki/Bolsa_de_valores [7] El trading y los sistemas automáticos. http://www.rankia.com/articulos/210062-trading-sistemasautomaticos [8] Clasificación de los sistemas de trading http://www.rankia.com/articulos/210068-clasificacionsistemas-trading [9] Sistemastrading.com, investigación y desarrollo de sistemas de trading. http://www.sistemastrading.com/index.php [10] Automated Trading Championship. http://championship.mql5.com/2010/en