Wednesday 22 November 2017

Sistema De Comercio De Programación Genética


Creación de un sistema de comercio dentro del sistema de comercio Laboratorio Lab System Lab generará automáticamente los sistemas de comercio en cualquier mercado en pocos minutos utilizando un programa informático muy avanzado conocido como AIMGP (inducción automática de código de máquina con programación genética). Creación de un sistema de comercio dentro de Trading System Lab se lleva a cabo en 3 sencillos pasos. En primer lugar, se ejecuta un preprocesador simple que extrae y procesa automáticamente los datos necesarios del mercado con el que desea trabajar. TSL acepta CSI, MetaStock, AIQ, TradeStation, datos de Internet gratis, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, datos binarios e Internet Streaming. En segundo lugar, el generador del sistema de comercio (GP) se ejecuta durante varios minutos, o más, para desarrollar un nuevo sistema de comercio. Puede utilizar sus propios datos, patrones, indicadores, relaciones intermarcas o datos fundamentales dentro de TSL. En tercer lugar, el sistema de comercio evolucionado está formateado para producir nuevas señales del sistema de comercio desde TradeStation o muchas otras plataformas comerciales. TSL escribirá automáticamente Easy Language, Java, Assembler, código C, código C y WealthLab Script Language. El Sistema de Negociación puede ser negociado manualmente, negociado a través de un corredor, o negociado automáticamente. Usted puede crear el sistema de comercio usted mismo o podemos hacerlo por usted. Entonces, o usted o su corredor pueden negociar el sistema manualmente o automáticamente. Trading System Labs Genética Programa contiene varias características que reducen la posibilidad de ajuste de curva, o la producción de un sistema de comercio que no continúe realizando en el futuro. En primer lugar, los Sistemas de Negociación evolucionados tienen su tamaño podado hasta el tamaño más bajo posible a través de lo que se llama Presión de Parsimonia, tomando como base el concepto de longitud de descripción mínima. Por lo tanto, el sistema de comercio resultante es tan simple como sea posible y generalmente se cree que cuanto más simple sea el sistema de comercio, mejor se llevará a cabo en el futuro. En segundo lugar, la aleatoriedad se introduce en el proceso evolutivo, lo que reduce la posibilidad de encontrar soluciones que sean localmente, pero no globalmente óptimas. La aleatoriedad se introduce no sólo en las combinaciones del material genético utilizado en los Sistemas de Negociación evolucionados, sino también en Parsimony Pressure, Mutation, Crossover y otros parámetros GP de nivel superior. Se realizan pruebas fuera de la muestra mientras se está realizando el entrenamiento con la información estadística presentada en las pruebas de la muestra y fuera de la muestra del sistema de comercio. Los registros de ejecución se presentan al usuario para los datos de formación, validación y fuera de muestra. Un buen comportamiento El rendimiento de la muestra puede ser indicativo de que el sistema de comercio está evolucionando con características robustas. El deterioro sustancial en las pruebas automáticas fuera de la muestra en comparación con las pruebas en la muestra puede implicar que la creación de un robusto sistema de comercio está en duda o que el terminal o conjunto de entrada puede ser necesario cambiar. Por último, el conjunto de terminales se elige cuidadosamente para no sesgar excesivamente la selección del material genético inicial hacia cualquier sesgo o sentimiento particular del mercado. TSL no comienza su ejecución con un sistema de comercio predefinido. De hecho, inicialmente sólo se establece el conjunto de entradas y una selección de modos o modos de entrada en el mercado, para la búsqueda y asignación automática de entradas. Un patrón o indicador de comportamiento que puede ser pensado como una situación alcista puede ser utilizado, descartado o invertido dentro de la GP. Ningún patrón o indicador está preasignado a ningún sesgo particular del movimiento del mercado. Esta es una salida radical del desarrollo generado manualmente del sistema de comercio. Un sistema de comercio es un conjunto lógico de instrucciones que le dicen al comerciante cuándo comprar o vender un mercado en particular. Estas instrucciones rara vez requieren la intervención de un comerciante. Los Sistemas de Negociación pueden ser negociados manualmente, observando las instrucciones de negociación en una pantalla de computadora, o pueden ser intercambiados permitiendo que la computadora ingrese los oficios en el mercado automáticamente. Ambos métodos están en uso generalizado hoy en día. Hay más administradores de dinero profesionales que se consideran operadores sistemáticos o mecánicos que aquellos que se consideran discrecionales, y el desempeño de los administradores sistemáticos de dinero es generalmente superior al de los administradores de dinero discrecional. Los estudios han demostrado que las cuentas comerciales generalmente pierden dinero más a menudo si el cliente no está usando un sistema de comercio. El significativo aumento de los sistemas de negociación en los últimos 10 años es evidente, especialmente en las empresas de corretaje de materias primas, sin embargo las empresas de corretaje de acciones y bonos están cada vez más conscientes de los beneficios mediante el uso de sistemas de negociación y algunos han comenzado a ofrecer sistemas de negociación a sus Clientes minoristas. La mayoría de los gestores de fondos mutuos ya están utilizando algoritmos informáticos sofisticados para guiar sus decisiones en cuanto a qué stock caliente a elegir o qué rotación del sector está a favor. Los ordenadores y los algoritmos se han convertido en la corriente principal en la inversión y esperamos que esta tendencia continúe mientras que los inversionistas más jóvenes y más informáticos continúan permitiendo que partes de su dinero sean administradas por Trading Systems para reducir el riesgo y aumentar los retornos. Las enormes pérdidas experimentadas por los inversionistas que participan en la compra y tenencia de acciones y fondos mutuos como el mercado de valores se derritieron en los últimos años está fomentando este movimiento hacia un enfoque más disciplinado y lógico a la inversión en el mercado de valores. El inversionista medio se da cuenta de que él o ella actualmente permite que muchos aspectos de sus vidas y vidas de sus seres queridos sean mantenidos o controlados por computadoras como los automóviles y aviones que usamos para el transporte, el equipo de diagnóstico médico que usamos para el mantenimiento de la salud, Los controladores de calefacción y refrigeración que utilizamos para el control de la temperatura, las redes que utilizamos para la información basada en Internet, incluso los juegos que jugamos para el entretenimiento. ¿Por qué entonces algunos inversores minoristas creen que pueden disparar desde la cadera en sus decisiones en cuanto a qué acciones o fondos mutuos para comprar o vender y esperar a ganar dinero Por último, el inversionista promedio se ha convertido en cauteloso de los consejos y la información remitida por corredores sin escrúpulos , Contadores, directores corporativos y asesores financieros. Durante los últimos 20 años, los matemáticos y los desarrolladores de software han buscado indicadores y patrones en los mercados de acciones y materias primas buscando información que pueda apuntar a la dirección del mercado. Esta información se puede utilizar para mejorar el rendimiento de los sistemas de negociación. Generalmente, este proceso de descubrimiento se logra mediante una combinación de prueba y error y una minería de datos más sofisticada. Por lo general, el desarrollador tomará semanas o meses de crujido de números con el fin de producir un sistema de comercio potencial. Muchas veces este sistema de comercio no funcionará bien cuando realmente se utiliza en el futuro debido a lo que se llama ajuste de curva. A lo largo de los años ha habido muchos sistemas de comercio (y las empresas de desarrollo de sistemas de comercio) que han ido y venido como sus sistemas han fallado en el comercio en vivo. Desarrollar sistemas de negociación que continúen realizando en el futuro es difícil, pero no imposible de lograr, aunque ningún desarrollador ético o administrador de dinero dará una garantía incondicional de que cualquier sistema de comercio, o de cualquier acción, bono o fondo mutuo, continuará Para producir beneficios en el futuro para siempre. Lo que llevó semanas o meses para que el desarrollador del Sistema de Negociación produjera en el pasado puede ahora ser producido en cuestión de minutos a través del uso de Trading System Lab. Trading System Lab es una plataforma para la generación automática de Trading Systems y Trading Indicators. TSL hace uso de un motor de programación genética de alta velocidad y producirá sistemas de negociación a una tasa de más de 16 millones de barras de sistema por segundo basado en 56 entradas. Tenga en cuenta que sólo unas pocas entradas realmente serán usadas o necesarias resultando en estructuras de estrategia evolucionadas generalmente simples. Con aproximadamente 40.000 a 200.000 sistemas necesarios para una convergencia, el tiempo de convergencia para cualquier conjunto de datos puede ser aproximado. Tenga en cuenta que no estamos simplemente ejecutando una optimización de la fuerza bruta de los indicadores existentes en busca de parámetros óptimos desde los que utilizar en un sistema de comercio ya estructurado. El Generador del Sistema de Negociación comienza en un origen de punto cero sin hacer suposiciones sobre el movimiento del mercado en el futuro y luego desarrolla Trading Systems a un ritmo muy alto combinando la información presente en el mercado y formulando nuevos filtros, funciones, condiciones y relaciones ya que Progresa hacia un sistema de comercio genéticamente modificado. El resultado es que un excelente sistema de comercio puede ser generado en unos pocos minutos en 20-30 años de datos de mercado diarios en prácticamente cualquier mercado. En los últimos años ha habido varios enfoques para la optimización del sistema de comercio que emplean el Algoritmo Genético menos potente. Los Programas Genéticos (GPs) son superiores a los Algoritmos Genéticos (AGs) por varias razones. En primer lugar, los GPs convergen en una solución a una tasa exponencial (muy rápido y cada vez más rápido), mientras que los algoritmos genéticos convergen a una velocidad lineal (mucho más lento y no obtener más rápido). En segundo lugar, los médicos generan en realidad el código de sistema del sistema de comercio que combina el material genético (indicadores, patrones, datos inter-mercado) de maneras únicas. Estas combinaciones únicas pueden no ser intuitivamente obvias y no requieren definiciones iniciales por el desarrollador del sistema. Las relaciones matemáticas únicas creadas pueden convertirse en nuevos indicadores, o variantes en el Análisis Técnico, aún no desarrollados o descubiertos. Por otro lado, los GAs simplemente buscan soluciones óptimas a medida que avanzan en el rango de parámetros, no descubren nuevas relaciones matemáticas y no escriben su propio código de sistema de comercio. Los GPs crean código del sistema de comercio de varias longitudes, usando genomas de longitud variable, modificarán la longitud del sistema de comercio a través de lo que se llama crossover no homóloga y descartarán completamente un indicador o patrón que no contribuye a la eficiencia del sistema de comercio. Los GAs usan sólo bloques de instrucción de tamaño fijo, haciendo uso de solo crossover homólogo y no producen código de sistema de Trading de longitud variable, ni descartan un indicador o patrón ineficiente tan fácilmente como un GP. Por último, los programas genéticos son un avance reciente en el dominio del aprendizaje automático, mientras que los algoritmos genéticos fueron descubiertos hace 30 años. Los programas genéticos incluyen todas las funcionalidades principales de los algoritmos genéticos crossover, reproducción, mutación y fitness, sin embargo GPs incluyen mucho más rápido y robusto características, haciendo GPs la mejor opción para la producción de Trading Systems. El GP empleado en TSLs Trading System Generator es el GP más rápido disponible actualmente y no está disponible en ningún otro software de mercado financiero en el mundo. El Algoritmo de Programación Genética, el Simulador de Comercio y los Motores de Fitness utilizados en TSL tomaron más de 8 años para producir. Trading System Lab es el resultado de años de duro trabajo de un equipo de ingenieros, científicos, programadores y comerciantes, y creemos que representa la tecnología más avanzada disponible hoy en día para el comercio de los mercados. Selección natural: Algoritmo genético para la optimización del sistema Programación genética Evo 2 Es nuestra avanzada biblioteca de algoritmos genéticos que incorpora lo último en diseño de algoritmos genéticos, tales como procesos biológicamente idénticos, interruptores epigenéticos, recocido simulado, prevención de endogamia de Westermarck, recombinación limitada por edad y más. El algoritmo de Evo 2 no está basado en el diseño de un solo cromosoma GA estándar. Evo 2 resuelve rápidamente los problemas de optimización multivariante y se adapta bien a la complejidad. El algoritmo Evo 2 fue diseñado para la programación genética (creación autónoma de sistemas de negociación), optimización de sistemas comerciales y optimización de carteras. Evo 2 permite a los desarrolladores desarrollar optimizaciones multivariantes de sistemas comerciales con facilidad. El genoma bio-idéntico y el algoritmo Evo 2 no sólo es bio-inspirado, sino que es bio-idéntico en muchos aspectos. Evo 2 simula cada proceso natural desde la selección de pareja hasta el envasado de ADN y la meiosis completa. La mayoría de los algoritmos genéticos estándar descuidan realizar los múltiples pasos de la meiosis que son de vital importancia para la variación genética, una variable crucialmente importante para evitar la optima local. Prophase Durante la profase, la sinapsis de los cromosomas y una pequeña cantidad de ADN se intercambian entre cromosomas homólogos a través de un proceso conocido como cruce. La parte crítica de la profase es el alineamiento de las tetrads en parejas homólogas. El algoritmo Evo 2 asegura que los homólogos sólo se crean a partir de cromosomas sexuales no relacionados. Metafase y anafase La metafase y anafase son las fases donde se incorpora mucha variación en el genoma sin embargo, la mayoría de los algoritmos genéticos dejan completamente estos pasos. Evo 2 simula ambas fases completamente y con precisión. No hay endogamia permitida La mayoría de los algoritmos genéticos estándar son sopa endogámica, técnicamente hablando. La endogamia reduce la variación genética, que basta con decir, impide que los sistemas evolucionen y se adapten a su entorno. En las GA estándar, esto significa que es más probable que un sistema se atasque en la optima local. Aunque la naturaleza tiene al menos tres mecanismos para prevenir la endogamia, la mayoría de los algoritmos genéticos no abordan este problema. El primer método: Evitar que los hijos se reproduzcan. La endogamia da como resultado un aumento de la homocigosidad, lo que puede aumentar las posibilidades de que los descendientes sean afectados por rasgos recesivos o deletéreos. El segundo mecanismo: Alejar a los varones jóvenes para evitar el incesto entre hermanos. El tercer mecanismo: El efecto Westermarck. Este es un efecto psicológico a través del cual los individuos que se crian en estrecha proximidad durante la infancia se vuelven insensibles a la atracción sexual posterior. La consecuencia final de la endogamia es la extinción de especies debido a la falta de diversidad genética. El guepardo, una de las especies más endogámicas de la tierra, es un excelente ejemplo. Y, también pasa a estar enfrentando la extinción. Hace veinte mil años, los guepardos vagaban por África, Asia, Europa y América del Norte. Hace unos 10.000 años, debido al cambio climático, todas las especies excepto una se extinguieron. Con la reducción drástica en su número, parientes cercanos se vieron obligados a reproducirse, y el guepardo se convirtió en genéticamente endogámico, lo que significa que todos los guepardos están muy estrechamente relacionados. Aunque la naturaleza prohíbe la endogamia, casi todos los algoritmos genéticos simulados por ordenador pasan por alto este problema. Evo 2 evita la consanguinidad mediante el efecto Westermarck y otros efectos simulados. Interruptores epigenéticos La teoría epigenética describe cómo los cambios en la expresión génica pueden ser causados ​​por mecanismos distintos de los cambios en la secuencia de ADN subyacente, temporalmente o por múltiples generaciones, influyendo en una red de interruptores químicos dentro de las células conocidas colectivamente como epigenoma. Evo 2 puede simular interruptores epigenéticos para permitir que el sistema sea penalizado temporalmente por acciones tales como ser demasiado codicioso o aversión al riesgo. Recocido simulado El recocido simulado es un metaheurístico probabilístico para el problema de optimización global de localizar una buena aproximación al óptimo global de una función dada en un espacio de búsqueda grande. Se utiliza a menudo cuando el espacio de búsqueda es discreto. Para ciertos problemas, el recocido simulado puede ser más eficiente que la enumeración exhaustiva. Family Tree Evo 2 puede guardar información genealógica para cada genoma para que los usuarios puedan revisar la progresión del algoritmo genético para ver cómo ciertos genes han evolucionado con el tiempo. Karyogram Viewer Evo 2 cuenta con un karyogram incorporado, que permite la visualización de los genomas mientras que los algoritmos genéticos están evolucionando. El karyograma podría personalizarse para mostrar información genealógica para genomas específicos a través de un menú contextual. Evo 2 Aplicaciones Evo 2 puede ser utilizado en el lado cliente o servidor para la programación genética (creación autónoma de sistemas de trading), optimización de sistemas de trading, optimización de cartera, asignación de activos y aplicaciones no financieras, incluyendo pero no limitado a creatividad artificial automatizada Diseño, bioinformática, cinética química, codificación, ingeniería de control, modelos Feynman-Kac, filtrado y procesamiento de señales, aplicaciones de programación, ingeniería mecánica, optimización estocástica y problemas de horarios. Ejemplos de programación genética Los ejemplos de programación de TradeScript muestran a los desarrolladores cómo crear modelos de programación genética capaces de volver a probar y optimizar estrategias. La documentación de programación se puede descargar aquí. Desarrollo de sistemas de negociación utilizando la programación genética con un estudio de caso Extracto Contenido 1 Introducción 1.1 Motivación 1.2 Objetivo y estructura 2 Principios básicos y estado de la técnica 2.1 Programación genética 2.1.1 Estructura del programa 2.1.2 Inicialización de la GP 2.1.3 Los Operadores Genéticos 2.1.4 Función Fitness 2.1.5 Selección 2.1.6 Proceso del algoritmo 2.1.7 Crossover, bloques de construcción y esquemas 2.1.8 Enfoques contra la macromutación 2.1.9 Modularización 2.1.10 Otros enfoques para la mejora 2.2 Redes neuronales artificiales 2.2.1 Componentes de redes neuronales 2.2.2 Topologías de redes 2.2.3 Métodos de aprendizaje 2.3 Sistemas de negociación 2.3.1 Lector de cintas 2.3.2 Calendario de mercado 2.3.3 Clasificación de posiciones 2.3.4 Comparación de sistemas de negociación 2.3.5 Fundamental Frente al análisis técnico. 2.3.6 El mercado de divisas 2.3.7 Enfoques para el desarrollo de sistemas de negociación. 3 Proyecto 3.1 Resumen 3.2 Requisitos en el software 3.3 Concepción de software 3.3.1 El algoritmo evolutivo 3.3.2 La función de aptitud física 4 Implementación 4.1 Componentes del software desarrollado 4.2 Clases del servidor de datos de tipo de cambio. 4.3 Clases del Algoritmo Evolutivo 4.4 Visión general sobre el marco ECJ 4.5 Problemas durante los experimentos 5 Resultados del experimento 5.1 Resultados con pesos de nodos 5.1.1 Resultados del período de entrenamiento. 5.1.2 Resultados del período de validación. 5.1.3 Resultados del período de tiempo de prueba 5.1.4 Resultados como volúmenes mensuales 5.1.5 Reglas comerciales creadas 5.2 Resultados sin pesos de nodo 5.2.1 Resultados del período de entrenamiento 5.2.2 Resultados de los períodos de tiempo de validación 5.2.3 Resultados de los tiempos de validación Período de prueba 5.2.4 Resultados como rendimientos mensuales 5.2.5 Reglas de comercio creadas 5.3 Identificación y aplicación de f 6 óptimo Discusión y evaluación 6.1 Perspectiva Lista de figuras Capítulo 1 Introducción 1.1 Motivación La evolución natural ha resultado ser un mecanismo exitoso para la Engendramiento y adaptación de las criaturas al medio ambiente. Sin recibir instrucciones particulares ni definiciones objetivas, ha logrado encontrar soluciones sofisticadas para los problemas existentes en el mundo real. La Programación Genética (GP) es un enfoque para usar el poder creativo dentro de la evolución natural para el desarrollo automático de programas informáticos (ver Koz92, Capítulo 1-6). Se utiliza para tratar de simular mecanismos de la evolución natural con el fin de generar programas automáticos que resuelvan un problema dado. En una serie de aplicaciones, GP se ha utilizado para resolver problemas matemáticos, así como para resolver con éxito problemas del mundo real. Entre ellos se cuentan problemas como la regresión simbólica, la clasificación (véase Koz92, capítulo 17), la síntesis de redes neuronales artificiales (véase Gru94, Capítulo 2), el reconocimiento de patrones (Tac93, páginas 2 a 10), el control del robot (véase (BNO97, páginas 2 a 10)) y la generación de imágenes (véase GH97, páginas 2 a 7) ) Se cuentan entre estos problemas. El aprendizaje automatizado por medio del GP puede interpretarse como algoritmo de búsqueda heurística descubriendo en el conjunto de todos los programas posibles aquellos que ofrecen la mejor solución para el problema dado. Dependiendo del problema dado, el rango de búsqueda es muy grande y muchas veces ni continuo ni diferenciable y por lo tanto el rango de búsqueda de todos los programas posibles es mal ajustado para algoritmos clásicos de búsqueda (véase LP02, página 2). En esta tesis, el GP se aplica en el ámbito de la generación de sistemas de negociación para el mercado financiero, especialmente para el mercado de divisas. En los mercados financieros, los comerciantes especulativos exitosos utilizan para actuar sobre la base de un determinado conjunto de normas. Sin embargo, estas reglas están sujetas a una interpretación relativamente amplia. Después de una cuidadosa revisión se hace evidente que, en situaciones decisivas, los concesionarios se desvían de las regulaciones que creen para determinar su acción y actuar según su instinto. Es posible que esta parte de la acción intuitiva distinga a un comerciante experimentado y rentable de un comerciante poco experimentado y no rentable, incluso si ambos creen que están trabajando sobre la base del mismo conjunto de reglamentos. La definición de un sistema de comercio por un ser humano está sujeta a algunas dificultades, ya que no puede reproducir todas las reglas de manera inequívoca. Esta es la razón por la que la transferencia de acciones que define conjuntos de reglas a la computadora ha resultado ser infructuosa. Hay otro método para que el ordenador aprenda automáticamente las reglas de acción. Para ello, p. Las redes neuronales artificiales (NN) se aplican con éxito (véase Ska01, páginas 2 a 5), ​​(MK, páginas 2 a 7)). Sin embargo, no es posible extraer las diversas reglas de la red de una manera que permita una interpretación fácil sin dificultades. Los usuarios critican esta caja negra propiedad de NN. GP se propone como alternativa a NN, ya que puede generar reglas directamente y pueden ser interpretadas de una mejor manera a pesar de cierta complejidad (véase (YCK05, página 23)). En cuanto a la solución de problemas difíciles, ambos enfoques son comparables (véase (BB98, página 13)). 1.2 Objetivo y estructura El objetivo de esta tesis es aplicar GP, con el fin de generar sistemas de negociación y analizar su rentabilidad en el marco de una simulación histórica. Se diseña un sistema de software, que resuelve esta tarea, y se presentan aspectos interesantes de implementación. Para poder desarrollar sistemas de negociación con GP, ​​el software, que se va a desarrollar, tiene que cumplir con una serie de requisitos. El desarrollo de los sistemas de negociación se hará sobre la base de series temporales históricas de tipos de cambio y precios. Se supone que el mercado cambiará con el transcurso del tiempo, por lo que los sistemas de negociación, que han sido rentables antes, van a perder su rentabilidad. Por esta razón, el sistema de desarrollo del sistema de comercio debe concebirse de manera que permita la generación de nuevos sistemas de negociación adaptados a las cambiantes condiciones del mercado. Para garantizar la provisión de datos de precios actuales, los datos pertinentes del mercado deben ser recopilados continuamente y proporcionados al sistema de desarrollo. El desarrollo de sistemas comerciales rentables está respaldado por datos preprocesados ​​de los datos de precios, que son los distribuidores de valores conocidos y utilizados, se proporcionan al sistema. Para permitir una verificación visual, los datos preprocesados, así como las transacciones de los sistemas de negociación, deben representarse gráficamente. Una sobre-optimización en el desarrollo de los sistemas de comercio debe evitarse subdividiendo el historial de precios disponibles en un período de formación, validación y prueba. Con el fin de obtener un sistema de comercio para el período de prueba, los mejores sistemas de comercio del período de formación se aplican al período de validación. El mejor sistema de comercio durante la validación se elige para el comercio en el período de prueba. Debería ser posible reproducir el proceso de desarrollo y debería ser transparente mediante ficheros log de los resultados intermedios. Los sistemas de negociación de una complejidad demasiado alta hacen que los usuarios sean escépticos, ya que es difícil volver sobre las decisiones del sistema. Incluso si los sistemas de negociación más complejos proporcionaran una mayor rentabilidad, se debería orientar un cierto grado de trazabilidad de los sistemas de negociación. Además de la limitación del tamaño de los sistemas de negociación, el GP estándar se amplía mediante pesos de nodos. Así se intenta, por una parte, reducir la macromutación mediante el operador de crossover y, por otra parte, simplificar la capacidad de interpretación de los sistemas de negociación generados (véase 3.3.1 en la página 41). Estructura de esta tesis En primer lugar, los principios básicos y el estado de la técnica de la Programación Genética y las Redes Neuronales Artificiales se presentarán en el Capítulo 2.1 en la página 5. Se analizará el diseño y la función de NN, para este enfoque Se difunde ampliamente en el contexto del desarrollo de los sistemas de comercio. Después de eso, los principios básicos de los sistemas técnicos de comercio se presentarán a partir del capítulo 2.3 en la página 18 en adelante. Por un lado, el análisis técnico se presenta como un instrumento para encontrar mo - vimientos favorables para el comercio, por otro lado, se muestra un enfoque para definir el tamaño óptimo de la posición comercial. Acerca de estos dos enfoques presentados para el aprendizaje automatizado, diferentes autores han reportado aplicaciones exitosas. Algunas de estas aplicaciones exitosas se describen en el Capítulo 2.3.7 en la página 33. A partir del Capítulo 3 en la página 37 en adelante, se encontrará el diseño de un sistema para generar, optimizar y probar sistemas de negociación por medio del GP sobre la base del precio histórico Y los datos de tipo de cambio. Después de una visión general del sistema, se presentarán los requisitos y se desarrollará un concepto para el software. Se definirán las propiedades del algoritmo evolutivo relevante para la Programación Genética. Los detalles de implementación se describen a partir del capítulo 4 en la página 47 en adelante. Los resultados de los experimentos realizados con el sistema se muestran en el capítulo 5 en la página 55 en adelante. Después de esto, se discute y evalúa los resultados, así como una explicación de posibles desarrollos futuros del sistema en el Capítulo 6 en la página 73. Capítulo 2 Principios básicos y estado de la técnica En este capítulo, los principios básicos de la Evolución Se presentan algoritmos y redes neuronales artificiales y se describe el estado actual de la técnica. A continuación se discuten los principios relevantes del área de aplicación, los sistemas técnicos de negociación. 2.1 Programación Genética La Programación Genética (GP) es un algoritmo fuera de la familia de los algoritmos evolutivos. En la naturaleza, la evolución ha resultado ser un sistema muy exitoso para el desarrollo ulterior y la optimización de todas las criaturas. Los algoritmos evolutivos están simulando las características esenciales y exitosas del proceso evolutivo natural por medio de modelos simples. De esta forma, permiten encontrar buenas soluciones con poco esfuerzo, incluso si hay problemas con un gran rango de búsqueda. Las estructuras y algoritmos de datos son generados y optimizados por los Algoritmos Evolutivos, con el fin de resolver problemas dados. Esta introducción sigue los estudios de Banzhaf et al. (BNKF98, capítulo 1-8), así como Koza, que ha descrito GP en (Koz92) por primera vez. En los siguientes pasajes hay una breve descripción de cómo se estructura un programa en el GP y cómo funciona la evolución. Después se discuten los problemas existentes del procedimiento así como los enfoques para una solución para ellos. 2.1.1 Estructura del Programa Los individuos desarrollados evolutivamente durante el GP son programas. Estos programas están formados por funciones y terminales (véase (BNKF98, páginas 109 a 118)). La selección de las funciones utilizadas dentro de un programa genético depende del área de aplicación específica. Un requisito esencial para la selección de las funciones, proporcionadas al programa genético, es que debe ser posible solucionar el problema de aplicación de ellas. Sin embargo, para evitar un aumento innecesario del rango de búsqueda, no se deben proporcionar demasiadas funciones. Según Banzhaf et al. In (BNKF98, página 111), tampoco tiene sentido desarrollar funciones especialmente adaptadas al problema dado desde el principio de una aplicación. Dado que GP es muy creativo en lo que respecta a la combinación de funciones, puede ser suficiente para proporcionar funciones simples como las funciones booleanas y aritméticas para lograr resultados sorprendentes. Los argumentos de las funciones aplicadas son terminales. Por un lado, se componen de los datos de entrada utilizados por el sistema de formación y, por otro lado, de constantes cambiadas a lo largo de la evolución. Estas constantes se denominan constantes efímeras aleatorias (ERC) (véase (Koz92, página 242 a continuación)). El cierre de las funciones con respecto a los terminales es un requisito esencial para la función libre de errores de los programas generados. Las funciones aplicadas deben estar diseñadas de tal manera que puedan procesar todos los tipos de valores de entrada: por ejemplo, la división se ajusta a menudo para evitar que el programa aborte en caso de que haya divisiones por cero. Para determinar la secuencia de la evaluación de las funciones del programa, las funciones y terminales de un programa se almacenan en una estructura de datos correspondiente. Lo más a menudo, las estructuras del árbol se utilizan para hacer tan. Sin embargo, también se utilizan estructuras lineales, así como gráficos generales como formas de organización. En el caso de las estructuras de árbol, la secuencia habitual de la evaluación es de izquierda a derecha: se ejecuta el nodo izquierdo más lejano más adentro dentro de la estructura de árbol, para el cual todas las entradas están disponibles. El representante más prominente de una estructuración lineal de las funciones y terminales es la simulación de una máquina registradora. Dispone de varios registros, una memoria lineal para la asignación de terminales a los registros, así como funciones que utilizan los registros para la entrada / salida. Una variante relativamente nueva de la estructuración son gráficos direccionales que pueden incluir ciclos (véase (BNKF98, página 116 a continuación)). Lo que hace interesante esta estructura es el hecho de que los bucles y la recursividad están resultando en el curso de la evolución y no tienen que ser proporcionados por funciones especiales de antemano. Sin embargo, los ciclos superfluos podrían ser problemáticos, ya que están extendiendo el programa ejecutado innecesariamente. 2.1.2 Inicialización de la población GP Como la estructura arbórea es la estructura de datos más extensa para individuos y se usa también para el ejemplo de aplicación, solamente esta estructura de datos se considerará en lo siguiente. Los métodos, introducidos por Koza en (Koz92, páginas 91 a 94), para la inicialización de los individuos específicos de la población se llaman Full, respectivamente Growth. Para toda la población, el tamaño máximo de un solo programa está determinado por la profundidad máxima de los árboles específicos. En el caso del método Full para la inicialización de un individuo, se crea un árbol con profundidad máxima, para que todos los nodos sean seleccionados del conjunto de funciones al azar, con la excepción de los nodos de profundidad máxima, que son Seleccionado del conjunto de los terminales al azar. En el método de Crecimiento, el árbol se construye a partir de la raíz, seleccionando para cada nodo un elemento de la función, respectivamente del terminal, al azar. mi. gramo. 2.2. gramo. gramo. mi.

No comments:

Post a Comment