Wednesday, November 23, 2016

Sistema De Comercio De Algoritmos Genéticos


Creación de un sistema de comercio dentro del sistema de comercio Laboratorio Lab System Lab generará automáticamente sistemas de comercio en cualquier mercado en unos minutos utilizando un programa de computadora 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 automáticamente extrae y preprocesa 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 de bonos están cada vez más conscientes de los beneficios mediante el uso de Trading Systems y algunos han comenzado a ofrecer 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 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 puede utilizarse 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 arduo trabajo por parte 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. Un sistema de comercio de Forex basado en un algoritmo genético First Online: 04 de abril de 2012 Recibido el 20 de abril de 2010 Aceptado el 21 de marzo de 2012 Citar este artículo como: Mendes, L. Godinho, P. Dias, J. J Heurística (2012) 18: 627. doi: 10.1007 / s10732-012-9201-y 5 Citas 875 Descargas Resumen En este trabajo se describirá un algoritmo genético que tiene como objetivo optimizar un conjunto de reglas que constituyen un sistema de trading para el mercado Forex. Cada individuo de la población representa un conjunto de diez reglas técnicas de negociación (cinco para entrar en una posición y otras cinco para salir). Estas reglas tienen 31 parámetros en total, que corresponden a los genes individuales. La población evolucionará en un entorno determinado, definida por una serie temporal de un par de divisas específico. La idoneidad de un determinado individuo representa lo bien que ha podido adaptarse al medio ambiente, y se calcula aplicando las reglas correspondientes a la serie cronológica, y luego calculando la relación entre el beneficio y la reducción máxima (la relación de Stirling) . Se han utilizado dos pares de divisas: EUR / USD y GBP / USD. Se utilizaron diferentes datos para la evolución de la población y para la prueba de los mejores individuos. Se discuten los resultados obtenidos por el sistema. Las mejores personas son capaces de lograr muy buenos resultados en la serie de entrenamiento. En la serie de pruebas, las estrategias desarrolladas muestran cierta dificultad para lograr resultados positivos, si se tienen en cuenta los costos de transacción. Si se ignoran los costos de transacción, los resultados son en su mayoría positivos, lo que demuestra que las mejores personas tienen alguna capacidad de pronóstico. Alvarez-Díaz, M. Alvarez, A. Pronosticando tipos de cambio utilizando algoritmos genéticos. Appl. Econ. Letón. 10 (6), 319322 (2003) CrossRef Google Scholar Brabazon, A. ONeill, M. Evolución de las normas técnicas de comercio de los mercados de divisas a la vista utilizando la evolución gramatical. Comput. Manag. Sci. 1 (3), 311327 (2004) MATEMÁTICAS CrossRef Google Scholar Davis, L. Manual de Algoritmos Genéticos. Van Nostrand-Reinhold, Nueva York (1991) Google Scholar Dempster, M. A.H. Jones, C. M. Un sistema de comercio adaptativo en tiempo real que utiliza la programación genética. Cantidad. Finanzas 1 (4), 397413 (2001) CrossRef Google Scholar Dunis, C. Harris, A. et al. Optimización de los modelos de trading intradía con algoritmos genéticos. Red Neural Eling, M. Schuhmacher, F. La medida de la elección de los resultados influye en la evaluación de los fondos de cobertura J. Bank. Finanzas 31 (9), 26322647 (2007) CrossRef Google Scholar Fama, E. F. Eficiente de los mercados de capitales: una revisión de la teoría y el trabajo empírico. J. Finanzas 25 (2), 383417 (1970) CrossRef Google Scholar Goldberg, D. Algoritmos Genéticos en Búsqueda, Optimización y Aprendizaje Automático. Addison-Wesley, Reading (1989) MATH Google Académico Grefenstette, J. J. Algoritmos genéticos para cambiar ambientes. En: Solución de problemas paralelos de Nature 2, Bruselas (1992) Google Scholar Harding, D. Nakou, G. et al. Los pros y los contras de la reducción como una medida estadística de riesgo para las inversiones. AIMA Journal, April 1617 (2003) Google Académico Hirabayashi, A. Aranha, C. et al. Optimización de la regla comercial en divisas usando algoritmo genético. Hryshko, A. Downs, T. Sistema de intercambio de divisas utilizando algoritmos genéticos y aprendizaje de refuerzo. Int. J. Syst. Sci. 35 (13), 763774 (2004) MATH CrossRef Google Académico Kaboudan, M. A. Predicción de la programación genética de precios de las acciones. Comput. Econ. 16 (3), 207236 (2000) MATH CrossRef Google Académico LeBaron, B. Rentabilidad técnica de la regla de negociación e intervención en divisas. J. Int. Econ. 49 (1), 125143 (1999) CrossRef Google Scholar LeBaron, B. Rentabilidad técnica del comercio en los mercados de divisas en los años noventa (2002) Levich, R. M. Thomas, L. R. La importancia de las ganancias técnicas de las reglas de negociación en el mercado de divisas: un enfoque de "bootstrap". J. Int. Dinero Financ. 12 (5), 451474 (1993) CrossRef Google Scholar Menkhoff, L. Taylor, M. P. La pasión obstinada de los profesionales de cambio: análisis técnico. J. Econ. Iluminado. 45 (4), 936972 (2007) CrossRef Google Académico Meyers, T. A. El Curso de Análisis Técnico. McGraw-Hill, Nueva York (1989) Google Scholar Mitchell, M. Introducción a Algoritmos Genéticos. MIT Press, Cambridge (1996) Google Académico Neely, C. Weller, P. Negociación intradía técnica en el mercado de divisas. J. Int. Dinero Financ. 22 (2), 223237 (2003) CrossRef Google Académico Neely, C. Weller, P. et al. Es el análisis técnico en el mercado de divisas rentable Un enfoque de programación genética. J. Financ. Cantidad. Anal. 32 (4), 405426 (1997) CrossRef Google Académico Neely, C. J. Weller, P. A. Et al. La hipótesis de los mercados adaptativos: evidencia del mercado de divisas. J. Financ. Cantidad. Anal. D. Las ganancias de las reglas de negociación en los mercados de divisas han disminuido con el tiempo? Finanzas 28 (1), 85105 (2004) CrossRef Google Scholar Osman, I. H. Kelly, J. P. Meta-Heurística: Aplicaciones de la teoría y del amplificador. Kluwer Académico, Dordrecht (1996) MATH Google Scholar Park, C.-H. Irwin, S. H. Qué sabemos sobre la rentabilidad del análisis técnico J. Econ. Surv. 21 (4), 786826 (2007) CrossRef Google Scholar Pictet, O. V. Dacorogna, M. M. Et al. Usando algoritmos genéticos para optimización robusta en aplicaciones financieras. Red Neural World 5 (4), 573587 (1995) Google Scholar Reeves, C. R. Usando algoritmos genéticos con poblaciones pequeñas. En: Actas de la Quinta Conferencia Internacional sobre Algoritmos Genéticos. Morgan Kaufmann, San Mateo (1993) Google Académico Rothlauf, F. Goldberg, D. Representaciones redundantes en la computación evolutiva. Illinois Laboratorio de Algoritmos Genéticos (IlliGAL) Informe (2002) Schulmeister, S. Componentes de la rentabilidad del comercio de divisas técnicas. Appl. Financ. Econ. 18 (11), 917930 (2008) CrossRef Google Scholar Sweeney, R. J. Superando el mercado de divisas. J. Finanzas 41 (1), 163182 (1986) Google Académico Wilson, G. Banzhaf, W. Interday intercambio de divisas utilizando la programación genética lineal. En: Actas de la XII Conferencia Anual sobre Computación Genética y Evolutiva GECCO10 (2010) Google Scholar Información sobre el copyright Springer ScienceBusiness Media, LLC 2012 Autores y afiliaciones Lus Mendes 1 Pedro Godinho 2 Joana Dias 3 Facultad de Economía Universidad de Coimbra Coimbra Portugal 2. Facultad de Economía y GEMF Universidad de Coimbra Coimbra Portugal 3. Facultad de Economía e Inesc-Coimbra Universidad de Coimbra Coimbra Portugal Acerca de este artículo Imprimir ISSN 1381-1231 ISSN 1572-9397 Nombre del editor Springer USSnowCron SnowCron Algoritmo genético en FOREX Trading Sistemas que utilizan el algoritmo genético para crear la estrategia rentable de comercio de FOREX. Algoritmo Genético en Cortex Redes Neuronales Software Feedforward Backpropagation Neural Network Aplicación para cálculos genéticos basados ​​en comercio de Forex. Este ejemplo utiliza conceptos e ideas del artículo anterior, por lo que lea el Algoritmo Genético de redes neuronales en FOREX Trading Systems en primer lugar, aunque no es obligatorio. Acerca de este texto En primer lugar, lea la cláusula de exención de responsabilidad. Este es un ejemplo de usar la funcionalidad de algoritmo genético del Software de redes neuronales de Cortex, no un ejemplo de cómo hacer negocios rentables. Yo no soy tu gurú, tampoco debería ser responsable de tus pérdidas. Cortex Neural Networks Software tiene redes neurales en él, y FFBP hemos discutido antes es sólo una forma de elegir una estrategia de comercio de divisas. Es una buena técnica, potente y cuando se aplica correctamente, muy prometedor. Sin embargo, tiene un problema - enseñar a la Red Neural. Necesitamos saber la salida deseada. Es bastante fácil de hacer cuando hacemos la aproximación de función, simplemente tomamos el valor real de una función, porque sabemos lo que debería ser. Cuando hacemos la predicción de redes neuronales. Utilizamos la técnica (descrita en artículos anteriores) de enseñar la Red Neural sobre la historia, de nuevo, si predecimos, digamos, un tipo de cambio, sabemos (durante el entrenamiento) cuál es la predicción correcta. Sin embargo, cuando estamos construyendo un sistema comercial, no tenemos idea de cuál es la decisión comercial correcta, incluso si sabemos el tipo de cambio. Como cuestión de hecho, tenemos muchas estrategias de compraventa de divisas que podemos utilizar en cualquier momento, y Necesitamos encontrar una buena - cómo Qué debemos alimentar como la salida deseada de nuestra red neuronal Si siguió nuestro artículo anterior, usted sabe, que hemos engañado para hacer frente a este problema. Enseñamos a la Red Neural para hacer la predicción del tipo de cambio (o indicador basado en el tipo de cambio) y luego usamos esta predicción para hacer el comercio. Luego, fuera de la parte de la Red Neural del programa, tomamos una decisión sobre qué Red Neural es la mejor. Algoritmos genéticos pueden hacer frente a este problema directamente, pueden resolver el problema declarado como encontrar las mejores señales comerciales. En este artículo vamos a utilizar Cortex Neural Networks Software para crear un programa de este tipo. Usando el Algoritmo Genético Los Algoritmos Genéticos están muy bien desarrollados, y muy diversos. Si quieres aprender todo sobre ellos, te sugiero que utilices Wikipedia, ya que este artículo trata solo de lo que puede hacer el software de Redes Neuronales Cortex. Tener software de redes neuronales de corteza. Podemos crear una Red Neural que toma algo de entrada, digamos, los valores de un indicador, y produce algo de salida, digamos, señales comerciales (comprar, vender, mantener) y detener la pérdida / tomar los niveles de beneficios para las posiciones que se abren. Por supuesto, si sembramos estos pesos de la Red Neural al azar, los resultados comerciales serán terribles. Sin embargo, digamos que creamos una docena de tales NN. Entonces podemos probar el rendimiento de cada uno de ellos, y elegir el mejor, el ganador. Esta fue la primera generación de NNs. Para continuar a la segunda generación, tenemos que permitir que nuestro ganador para procrear, pero para evitar copias idénticas, vamos a añadir algún ruido al azar a sus pesos descententes. En la segunda generación, tenemos a nuestro ganador de primera generación ya sus copias imperfectas (mutadas). Vamos a hacer las pruebas de nuevo. Tendremos otro ganador, que es MEJOR entonces cualquier otra Red Neural en la generación. Y así. Simplemente permitimos que los ganadores se reproduzcan y eliminen a los perdedores, al igual que en la evolución de la vida real, y obtendremos nuestra Red Neural de mejor comercio. Sin ningún conocimiento previo sobre qué debería ser el sistema comercial (algoritmo genético). Algoritmo Genético de Red Neural: Ejemplo 0 Este es el primer ejemplo de algoritmo genético. Y una muy simple. Vamos a caminar paso a paso para aprender todos los trucos que usarán los siguientes ejemplos. El código tiene comentarios en línea, así que solo debemos enfocar momentos clave. En primer lugar, hemos creado una red neuronal. Está utilizando pesos al azar, y todavía no se enseñó. Luego, en ciclo, hacemos 14 copias de ella, usando MUTATIONNN fumction. Esta función hace una copia de una red neuronal de origen. Añadiendo valores aleatorios de 0 a (en nuestro caso) 0,1 a todos los pesos. Mantenemos las manijas a 15 NNs resultantes en una matriz, podemos hacerlo, ya que handle es sólo un número entero. La razón por la que usamos 15 NNs no tiene nada que ver con el comercio: Cortex Neural Networks Software puede trazar hasta 15 líneas en un gráfico simultáneamente. Podemos utilizar diferentes enfoques para la prueba. En primer lugar, podemos utilizar el conjunto de aprendizaje, todo de una vez. En segundo lugar, podemos probar, por ejemplo, 12000 resordes (de 100000), y caminar a través del conjunto de aprendizaje, desde el principio hasta el final. Esto hará que los conocimientos sean diferentes, ya que buscaremos redes neuronales que sean rentables en cualquier parte de los datos, no sólo en el conjunto. El segundo enfoque puede darnos problemas, si los datos cambian, desde el principio hasta el final. A continuación, la red evolucionará, obteniendo la capacidad de negociar al final del conjunto de datos, y la pérdida de la capacidad de comercio en su inicio. Para resolver ese problema, vamos a tomar 12000 registros aleatorios fragmentos de datos, y lo alimentan a la Red Neural. Es simplemente un ciclo sin fin, ya que 100000 ciclos nunca serán alcanzados a nuestra velocidad. A continuación, agregamos un niño por cada red, con pesos ligeramente diferentes. Tenga en cuenta, que 0,1 para mutación tange no es la única opción, como cuestión de hecho, incluso este parámetro puede ser optimizado mediante el algoritmo genético. Los NNs recién creados se añaden después de los ya existentes. De esta manera tenemos 30 NNs en una matriz, 15 viejos y 15 nuevos. Entonces vamos a hacer el siguiente ciclo de pruebas, y matar a los perdedores, de ambas generaciones. Para hacer las pruebas, aplicamos la Red Neural a nuestros datos, para producir salidas, y luego llamar a la función de Prueba, que utiliza estas salidas para simular la negociación. Los resultados de la negociación se utilizan para deside, que NNs son los mejores. Utilizamos un intervalo de registros nLearn, desde nStart hasta nStart nLearn, donde nStart es un punto aleatorio dentro del conjunto de aprendizaje. El siguiente código es un truco. La razón por la que lo usamos es para ilustrar el hecho de que el algoritmo genético puede crear algoritmos genéticos. Pero no necesariamente será el mejor, y también, para sugerir, que podemos mejorar el resultado, si implicamos algunas limitaciones al proceso de aprendizaje. Es posible, que nuestro sistema de comercio funciona muy bien en los oficios largos, y muy pobre en corto, o viceversa. Si, por ejemplo, las operaciones largas son MUY buenas, este algoritmo genético puede ganar, incluso con grandes pérdidas en operaciones cortas. Para evitarlo, asignamos más peso a las operaciones largas en operaciones impares y cortas en ciclos pares. Esto es sólo un ejemplo, no hay garantía, que mejorará algo. Más abajo, en la discusión sobre correcciones. Técnicamente, usted no tiene que hacerlo, o puede hacerlo de manera diferente. Añada beneficios a una matriz ordenada. Devuelve una posición de inserción, entonces usamos esta posición para agregar el identificador de red neuronal, aprendiendo y probando beneficios a arrays no ordenados. Ahora tenemos datos para la red neuronal actual en el mismo índice de matriz que su beneficio. La idea es llegar a la matriz de NNs, ordenados por la rentabilidad. Dado que la matriz se clasifica por beneficios, para eliminar la mitad de las redes, que son menos rentables, sólo tenemos que quitar NNs 0 a 14 Las decisiones comerciales se basan en el valor de la señal de red neuronal, desde este punto de vista el programa es idéntico a Ejemplos del artículo anterior. FOREX Trading Strategy: Discusión del ejemplo 0 En primer lugar, echemos un vistazo a los gráficos. El primer gráfico de ganancia durante la primera iteración no es bueno en absoluto, como era de esperar, la Red Neural pierde dinero (image evolution00gen0.png copiada después de la primera iteración de la carpeta de imágenes): La imagen para obtener ganancias en el ciclo 15 es mejor, a veces , El algoritmo genético puede aprender muy rápido: Sin embargo, observe la saturación en una curva de beneficio. Es interesante también mirar la forma en que los beneficios individuales cambian, teniendo en cuenta, que el número de la curva, por ejemplo, 3 no es siempre para la misma Red Neural. Ya que están naciendo y terminó todo el tiempo: También tenga en cuenta, que poco forex sistema de comercio automatizado realiza pobres en operaciones cortas, y mucho mejor en largos, que pueden o no estar relacionados con el hecho de que el dólar estaba cayendo en comparación con Euros durante ese período. También puede tener algo que ver con los parámetros de nuestro indicador (tal vez, necesitamos período diferente para los cortos) o la elección de los indicadores. Aquí está la historia después de 92 y 248 ciclos: Para nuestra sorpresa, el algoritmo genético falló completamente. Vamos a tratar de averiguar por qué, y cómo ayudar a la situación. En primer lugar, no cada generación se supone que es mejor que el previuos La respuesta es no, al menos no dentro del modelo que utilizamos. Si tomamos ENTIRE el aprendizaje fijado de una vez, y lo usamos repetidamente para enseñar a nuestros NNs, entonces sí, ellos mejorarán en cada generación. Pero en su lugar, tomamos fragmentos aleatorios (12000 registros en el tiempo), y los usamos. Dos preguntas: por qué el sistema fracasó en fragmentos aleatorios del conjunto de aprendizaje, y por qué no hemos utilizado conjunto de aprendizaje conjunto Bueno. Para responder a la segunda pregunta, lo hice. NNs se desempeñó mucho - en el conjunto de aprendizaje. Y no en el conjunto de pruebas, por la misma razón que falla cuando utilizamos FFPB aprendizaje. Para decirlo de otra manera, nuestros NNs se sobre-especializados, aprendieron a sobrevivir en el ambiente al que están acostumbrados, pero no fuera de él. Esto sucede mucho en la naturaleza. El enfoque que tomamos en su lugar fue la intención de compensar eso, al obligar a NNs a realizar buenos en cualquier fragmento al azar del conjunto de datos, por lo que esperamos, también podría realizar en un conjunto de pruebas desconocido. En su lugar, fallaron en las pruebas y en el conjunto de aprendizaje. Imagínense animales, viviendo en un desierto. Un montón de sol, no hay nieve en absoluto. Este es un metafor para rizing mercado, como para nuestros datos NNs desempeñar el papel del medio ambiente. Los animales aprendieron a vivir en un desierto. Imagínense animales, que viven en un clima frío. Nieve y no hay sol. Bueno, se ajustaron. Sin embargo, en nuestro experimento, colocamos aleatoriamente nuestras NN en un desierto, en la nieve, en el agua, en los árboles. Presentándolos con diferentes fragmentos de datos (aleatoriamente subiendo, bajando, planos). Los animales murieron. O, para decirlo de otra manera, hemos seleccionado la mejor red neuronal para el conjunto de datos aleatorios 1, que, digamos, era para el mercado en alza. Luego presentamos, a los ganadores ya sus hijos, una caída de los datos de los mercados. NNs se desempeñó mal, nos tomó mejor de los artistas pobres, tal vez, uno de los niños mutantes, que perdió la capacidad de comercio en el mercado en alza, pero tiene cierta capacidad para hacer frente a la caída de uno. Entonces volvimos la mesa otra vez, y otra vez, conseguimos el mejor ejecutante - pero el mejor entre los ejecutantes pobres. Simplemente no dimos a nuestros NNs ninguna posibilidad de convertirse en universal. Hay técnicas que permiten que el algoritmo genético aprenda nueva información sin perder el rendimiento en la información antigua (después de todo, los animales pueden vivir en verano y en invierno, así que la evolución es capaz de manejar los cambios repetitivos). Podemos discutir estas técnicas más adelante, aunque este artículo es más sobre el uso de Cortex Neural Networks Software. Que sobre la construcción de un exitoso sistema de comercio automatizado forex. Algoritmo Genético de la Red Neural: Ejemplo 1 Ahora es el momento de hablar sobre las correcciones. Un algoritmo genético simple que creamos durante el paso anterior tiene dos defectos importantes. En primer lugar, fracasó en el comercio con el beneficio. Está bien, podemos intentar utilizar un sistema parcialmente entrenado (fue rentable al principio). El segundo defecto es más grave: no tenemos control sobre las cosas, que este sistema hace. Por ejemplo, puede aprender a ser rentable, pero con grandes reducciones. Es un hecho bien conocido, que en la vida real, la evolución puede optimizar más de un parámetro simultáneamente. Por ejemplo, podemos obtener un animal, que puede correr rápido y ser resistente al frío. Por qué no intentar hacer lo mismo en nuestro sistema de comercio automatizado forex. Eso es cuando usamos correcciones, que no son más que el conjunto de castigos adicionales. Digamos, nuestro sistema negocia con drawdown 0.5, mientras que queremos confirmarlo a 0 - 0.3 intervalo. Para decirle al sistema que cometió un error, disminuimos su beneficio (uno usado para determinar, que algoritmo genético ganó) hasta el grado, que es proporcional al tamaño de DD. Entonces, el algoritmo de evolución cuida el resto. Hay pocos factores más, que queremos tener en cuenta: podemos querer tener más o menos el mismo número de operaciones de compra y venta, queremos tener más operaciones rentables, luego de fracasos, tal vez queramos que el gráfico de ganancias Ser lineal y así sucesivamente. En evolution01.tsc implementamos un conjunto simple de correcciones. En primer lugar, utilizamos un gran número para un valor de corrección inicial. Lo multiplicamos a un valor pequeño (usualmente, entre 0 y 1), dependiendo del castigo que queramos aplicar. Entonces multiplicamos nuestro beneficio a esta corrección. Como resultado, el beneficio es corregido, para reflejar cuánto el algoritmo genético corresponde a nuestros otros criterios. Luego usamos el resultado para encontrar una red neuronal ganadora. FOREX Trading Strategy: Discutir el ejemplo 1 El ejemplo 1 funciona mucho mejor que el ejemplo 0. Durante los primeros 100 ciclos, aprendió mucho y los gráficos de beneficios parecen tranquilizadores. Sin embargo, como en el ejemplo 0, las operaciones largas son mucho más rentables, lo que probablemente significa que hay un problema en nuestro enfoque. Sin embargo, el sistema encontró un equilibrio entre un par de condiciones iniciales contradictorias: Hay una dinámica positiva tanto en el conjunto de aprendizaje y, más importante, en el conjunto de pruebas. En cuanto al aprendizaje adicional, en el ciclo 278 podemos ver, que nuestro sistema se sobreentrenó. Significa, todavía tenemos progreso en el conjunto de aprendizaje: Pero el conjunto de pruebas muestra debilidad: Este es un problema común con NNs: cuando lo enseñamos en el conjunto de aprendizaje, aprende a tratar con él, ya veces, aprende demasiado bien - a la Grado, cuando pierde el rendimiento en el conjunto de pruebas. Para hacer frente a ese problema, se utiliza una solución tradicional: seguimos buscando la Red Neural. Que funciona mejor en el conjunto de pruebas, y guardarlo, sobrescribiendo el anterior mejor, cada vez que se alcanza un nuevo pico. Este es el mismo enfoque, que usamos en el entrenamiento FFBP, excepto, esta vez tenemos que hacerlo nosotros mismos (añadir código, que busca una mejor red neuronal en un conjunto de pruebas, y llamando a SAVENN, o la exportación de pesos de la red neuronal a un archivo). De esta manera, cuando deje de entrenar, tendrá el mejor intérprete en el juego de prueba guardado y esperando por usted. Tenga en cuenta también, que no es el máx. Beneficio que buscas, pero el rendimiento óptimo, por lo que considerar el uso de correcciones, cuando se busca un mejor desempeño en un conjunto de pruebas. Algoritmo genético para FOREX Análisis técnico: Dónde ahora? Después de obtener su ganador Neural Network. Puede seguir los pasos, descritos en el artículo anterior, para exportar pesos de esa Red Neural. Y luego utilizarlos en su plataforma de comercio en tiempo real, como Meta Trader, Trade Station y así sucesivamente. Alternativamente, puede centrarse en otras formas de optimizar la Red Neural. A diferencia del algoritmo FFBP, aquí puede obtener avay de usar conjuntos de aprendizaje y pruebas y mover el aprendizaje secuencial. Descargar Cortex Order Cortex Ver lista de precios La visibilidad es muy importante para este sitio. Si te gusta, puedes acceder a esta URL.

No comments:

Post a Comment