Friday, November 25, 2016

Algoritmos De Forex

Algoritmo Genético en sistemas de comercio de Forex Utilizando Algoritmos Genéticos para crear rentable estrategia de comercio de divisas. Algoritmo Genético en la corteza Redes Neuronales Software Feedforward retropropagación Aplicación red neuronal para cálculos genéticos basa operaciones de cambio. Este ejemplo utiliza conceptos e ideas en el artículo anterior, así que por favor lea Neural Algoritmo Genético Red de Sistemas de compraventa de divisas en primer lugar, aunque no es obligatorio. Sobre este texto En primer lugar, por favor, lea el descargo de responsabilidad. Este es un ejemplo del uso de la corteza Redes Neuronales Software funcionalidad algoritmo genético, no es un ejemplo de cómo hacer comercio rentable. Yo no soy su gurú, ni debería ser responsable de sus pérdidas. Corteza Redes Neuronales Software cuenta con redes neuronales en el mismo, y FFBP discutimos antes es sólo una manera de elegir a las estrategias de comercio de divisas. Es una buena técnica, potente y cuando se aplica correctamente, muy promicing. Sin embargo, tiene un problema - para enseñar TNE Neural Network. tenemos que conocer la "salida deseada". Es bastante fácil de hacer cuando lo hacemos función de aproximación, sólo 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 (descrito en artículos anteriores) de la enseñanza de la red neuronal en la historia, de nuevo, si podemos predecir, por ejemplo, un tipo de cambio, sabemos (durante el entrenamiento) lo que la predicción es correcta. Sin embargo, cuando estamos construyendo un sistema de comercio, no tenemos idea de lo que la decisión comercial correcta es, aunque sabemos el tipo de cambio! Como la cuestión de hecho, tenemos muchas estrategias de compraventa de divisas que podemos utilizar en cualquier momento del tiempo, y tenemos que encontrar uno bueno - ¿cómo? ¿Qué debemos comer como la salida deseada de nuestra red neuronal? Si has seguido nuestro artículo anterior, ya sabes, que hemos hecho trampa para hacer frente a este problema. Nosotros le enseñamos a la Red Neural hacer (indicador basado tasa o intercambio) de predicción de tipo de cambio y, a continuación, utilizamos esta predicción de hacer comercio. Luego, fuera de la parte de red neuronal del programa, tomamos una decisión en la que Neural Network es la mejor. Los algoritmos genéticos pueden hacer frente a este problema directamente, pueden resolver el problema planteado como "encontrar las mejores señales de trading". En este artículo vamos a utilizar la corteza Redes Neuronales Software para crear un programa de este tipo. Utilizando Algoritmos Genéticos Algoritmos Genéticos están muy bien desarrollados, y muy diversa. Si quieres aprender todo sobre ellos, le sugiero que utilice Wikipedia, ya que este artículo es sólo acerca de lo que la corteza Redes Neuronales software puede hacer. Tener corteza Redes Neuronales Software. podemos crear una red neuronal que tiene alguna entrada, por ejemplo, los valores de un indicador, y produce una salida, por ejemplo, las señales de comercio (compra, venta, mantenga.) y detener la pérdida / tomar los niveles de beneficios para los puestos que se abran. Por supuesto, si sembramos pesos esta red neuronal 's al azar, resultados comerciales serán terribles. Sin embargo, vamos a decir que hemos creado una docena de tales NN. Entonces podemos probar el rendimiento de cada uno de ellos, y escoger la mejor opción, el ganador. Esta fue la "primera generación" de NN. Para continuar a la segunda generación, tenemos que permitir que nuestro ganador a "procrear", pero para evitar obtener copias idénticas, vamos a añadir un poco de ruido aleatorio a que es Descentants pesos. En la segunda generación, tenemos a nuestro ganador de la primera generación y es (mutados) copias imperfectas. Vamos a hacer la prueba de nuevo. Tendremos otro ganador, que es mejor que cualquier otra red neuronal en la generación. Etcétera. Nosotros simplemente permitimos ganadores para reproducirse, y eliminan los perdedores, al igual que en la evolución de la vida real, y nos pondremos nuestro mejor esfuerzo de negociación de red neuronal. sin un profundo conocimiento previo de lo que el sistema de comercio (algoritmo genético) como deben ser. Redes Neuronales Algoritmo Genético: Ejemplo 0 Este es el primer ejemplo de algoritmo genético. y uno muy simple. Vamos a caminar a través de paso a paso, para aprender todos los trucos que los ejemplos siguientes van a utilizar. El código tiene comentarios en línea, así que vamos a concentrarnos en los momentos clave. En primer lugar, hemos creado una red neuronal. Está utilizando pesos al azar, y sin embargo no fue enseñada. Luego, en el ciclo, hacemos 14 copias de la misma, utilizando MUTATION_NN fumction. Esta función hace una copia de una fuente de red neuronal. la adición de valores aleatorios de 0 a (en nuestro caso) 0.1 a todos los pesos. Mantenemos asas para resultando 15 NN en una matriz, podemos hacerlo, como mango es sólo un número entero. La razón por la que utilizamos 15 NN no tiene nada que ver con el comercio: Corteza Redes Neuronales Software puede trazar hasta 15 líneas en un gráfico de forma simultánea. Podemos utilizar diferentes enfoques para el análisis. En primer lugar, podemos utilizar el conjunto de aprendizaje, todo ello a la vez. En segundo lugar, podemos probar en, digamos, 12000 resords (de 100.000), y caminar a través del conjunto de aprendizaje, desde el principio hasta el final. Eso hará que learnigs diferente, ya que vamos a buscar s red neuronal "que son rentables en cualquier parte determinada de datos, no sólo en todo el conjunto. El segundo enfoque nos puede dar problemas, si cambian los datos, desde el principio hasta el final. A continuación, la red va a evolucionar, la obtención de capacidad de negociar al final del conjunto de datos, y la pérdida de capacidad de negociar en su comienzo. Para resolver ese problema, vamos a tomar al azar 12000 registros fragmentos de los datos, y alimentar a la red neuronal. es simplemente un ciclo sin fin, como 100000 ciclos Nunca se llegará a nuestra velocidad. A continuación añadimos un niño por cada red, con un poco diferentes pesos. Tenga en cuenta, que el 0,1 por tange mutación no es la única opción, ya que la cuestión de hecho, incluso este parámetro se puede optimizar el uso de algoritmos genéticos. NN recién creados se añaden a los 15 ya existentes. De esta manera tenemos 30 NN en un arsenal, 15 de edad y 15 nuevos. Entonces vamos a hacer el próximo ciclo de pruebas, y para matar a los perdedores, de ambas generaciones. Para hacer la prueba, aplicamos red neuronal de nuestros datos, para producir resultados, y luego llamar a la función de prueba, que utiliza estas salidas para simular el comercio. Resultados de la negociación se utilizan para deside, que NN son los mejores. Anote el código: Utilizamos un intervalo de registros Nlearn, desde nInicio a nInicio + Nlearn, donde nInicio es un punto al azar dentro del conjunto de aprendizaje. El código siguiente es un truco. La razón por la que utilizamos es para ilustrar el hecho de que el algoritmo genético puede crear algoritmo genético. pero no necesariamente será el mejor, y también, para sugerir, que podemos mejorar resultado, si implicamos algunas limitaciones al proceso de aprendizaje. Es posible, que nuestro sistema de comercio funciona muy bien en las rutas largas, y muy pobre en corto, o viceversa. Si, por ejemplo, comercios largos son muy buenas, este algoritmo genético puede ganar, incluso con grandes pérdidas en operaciones a corto. Para evitarlo, se asigna más peso a las operaciones largas en extraña y para operaciones a corto, incluso en ciclos. Esto es sólo un ejemplo, no hay ninguna garantía, que mejorará algo. Más sobre esto más adelante, en la discusión acerca de las correcciones. Técnicamente, usted no tiene que hacerlo, o puede que sea diferente. Añadir ganancias a un arreglo ordenado. Devuelve una posición de inserción, entonces utilizamos esta posición para agregar manejar red neuronal, el aprendizaje y las pruebas ganancias para matrices no ordenados. Ahora tenemos los datos de corriente de la red neuronal en el mismo índice de matriz como su beneficio. La idea es llegar a la gama de los NN, ordenados por la rentabilidad. Como matriz es sortes de lucro, para eliminar un medio de redes, que son menos rentables, sólo tenemos que eliminar NN 0-14 Decisiones comerciales se basan en el valor de la señal de red neuronal, desde este punto de vista el programa es idéntico al de los ejemplos de artículo anterior. Estrategia de comercio FOREX: ejemplo Hablar 0 En primer lugar, echemos un vistazo a los gráficos. El primer gráfico de beneficio durante la primera iteración no es bueno en absoluto, como cabría esperar, la Red Neural pierde dinero (imagen evolution_00_gen_0.png copiado después de la primera iteración de "imágenes" carpeta): La imagen con fines de lucro en el ciclo de 15 es mejor, a veces, el algoritmo genético puede aprender muy rápido: Sin embargo, tenga en cuenta la saturación en una curva de ganancia. Es interesante también para mirar el cambio de forma en las ganancias individuales, teniendo en cuenta, que número de curva, digamos, 3 no es siempre para la misma red neuronal. ya que están naciendo y se terminaron todo el tiempo: También tenga en cuenta, que poco Forex automatizado sistema de comercio hacia fuera realiza pobres en las rutas cortas, y mucho mejor en posiciones largas, que pueden o no estar relacionados con el hecho de que el dólar estaba cayendo en comparación con el euro durante ese período. También puede tener algo que ver con los parámetros de nuestro indicador (tal vez, necesitamos diferente periodo de pantalones cortos) o la elección de los indicadores. Aquí está la historia después de 92 y 248 ciclos: Para nuestra sorpresa, algoritmo genético fracasó por completo. Vamos a tratar de averiguar por qué, y cómo ayudar a la situación. En primer lugar, no es cada generación supone que es mejor que la que previuos? La respuesta es no, al menos no en el modelo que usamos. Si tomamos aprendizaje conjunto TODO a la vez, y lo usamos varias veces para enseñar a nuestros NN, entonces sí, van a mejorar en cada generación. Pero en cambio, tomamos fragmentos aleatorios (12000 registros en el tiempo), y los usamos. Dos preguntas: ¿por qué el sistema falló en fragmentos al azar de juego de aprendizaje, y por qué no hemos utilizado todo el conjunto de aprendizaje? Bien. Para responder a la segunda pregunta, lo hice. NN realiza en gran medida - en el set de aprendizaje. Y fracasaron en el set de prueba, por la misma razón que failes cuando utilizamos el aprendizaje FFPB. Para decirlo de otra manera, nuestros NN consiguieron superespecializado, aprendieron cómo sobrevivir en el medio ambiente que están acostumbrados, pero no fuera de ella. Esto sucede mucho en la naturaleza. El enfoque que tomamos lugar estaba destinado a compensar que, al obligar a NN para realizar bien en cualquier fragmento al azar del conjunto de datos, por lo que es de esperar, también podrían llevar a cabo en un conjunto de pruebas desconocido. En cambio, fallaron tanto en las pruebas y en el set de aprendizaje. Imagina animales, que viven en un desierto. Una gran cantidad de sol, hay nieve en absoluto. Esta es una metafor para Rizing mercado, como para nuestros NN datos juegan el papel de medio ambiente. Animales aprendieron a vivir en un desierto. Imagina animales, que viven en un clima frío. Nieve y hay sol en absoluto. Bueno, ellos ajustaron. Sin embargo, en nuestro experimento, colocamos al azar nuestras NN en un desierto, en la nieve, en el agua, en los árboles. por su presentación con diferentes fragmentos de datos (aumento azar, cayendo y plana.). Animales murieron. O, para decirlo de otra manera, seleccionamos la mejor red neuronal para datos aleatorios conjunto 1, que, por ejemplo, era de creciente mercado. A continuación presentamos, a los ganadores y sus hijos, los datos de un mercado a la baja. NN realizó mal, tomamos lo mejor de los artistas pobres, tal vez, uno de los niños mutantes, que perdieron capacidad de negociar el aumento del mercado, pero tiene cierta capacidad para lidiar con la caída de una. Entonces dimos vuelta la mesa otra vez, y otra vez, llegamos mejor intérprete - pero mejor entre los artistas pobres. Simplemente no le dimos nuestros NN ningún riesgo de convertirse en universal. Hay técnicas que permiten algoritmo genético para aprender nueva información sin perder rendimiento en información antigua (después de todo, los animales pueden vivir en verano y en invierno, ¿no? Así que la evolución es capaz de manejar los cambios que se repiten). Podemos discutir estas técnicas más tarde, aunque este artículo es más sobre el uso de la corteza Redes Neuronales Software. que alrededor de la construcción de un sistema de comercio de Forex automatizado exitoso. Redes Neuronales Algoritmo Genético: Ejemplo 1 Ahora es el momento para hablar de correcciones. Un algoritmo genético simple que hemos creado en el paso anterior tiene dos grandes defectos. En primer lugar, no al comercio con fines de lucro. Esta bien, podemos tratar de utilizar sistema parcialmente entrenados (era rentable al principio). El segundo error es más grave: no tenemos control sobre las cosas, que este sistema hace. Por ejemplo, se puede aprender a ser rentable, pero con enormes detracciones. 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 conseguir 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 de divisas. Eso es cuando usamos correcciones, que son nada más que el conjunto de castigos adicionales. Diga, nuestras operaciones de sistema con reducción de 0,5, mientras que nosotros queremos confirmarlo a 0-0,3 intervalo. Para "contar" el sistema que se ha cometido un error, que disminuye su beneficio (que se utiliza para determinar, que ganó algoritmo genético) en la medida, que es proporcional al tamaño de DD. Entonces, el algoritmo de evolución se encarga del resto. Hay algunos factores más, que queremos tener en cuenta: es posible que desee tener más o menos el mismo número de compra y venta de las operaciones, queremos tener más de operaciones rentables, luego de los fracasos, es posible que queremos que el gráfico de beneficios a ser lineal y así sucesivamente. En evolution_01.tsc implementamos un simple conjunto de correcciones. En primer lugar, se utiliza algún gran número para un valor de corrección inicial. Multiplicamos a un pequeño (por lo general, entre 0 y 1) valores, dependiendo del "castigo" queremos aplicar. Luego multiplicamos nuestro provecho a esta corrección. Como resultado, el beneficio se corrige, para reflejar lo mucho que el algoritmo genético se corresponde con nuestros otros criterios. Luego usamos el resultado de encontrar un ganador red neuronal. Estrategia de comercio FOREX: ejemplo Discutiendo 1 Ejemplo 1 funciona mucho mejor, que el ejemplo 0. Durante los 100 primeros ciclos, que aprendió mucho, y las cartas de beneficio mirada tranquilizadora. Sin embargo, como en el ejemplo 0, comercios largas son mucho más rentable, lo que más probable es que hay un problema en nuestro enfoque. Sin embargo, el sistema ha encontrado un equilibrio entre par de condiciones iniciales contradictorias: Hay algunas dinámicas positivas tanto en juego y, lo más importante de aprendizaje, en el conjunto de las pruebas. Como para el aprendizaje, en el ciclo de 278 podemos ver, que nuestro sistema tiene sobreentrenamiento. Esto significa, todavía tenemos avances en el set de aprendizaje: Pero probar conjunto muestra debilidad: Este es un problema común con los NN: cuando enseñamos que en el set de aprendizaje, aprende a tratar con él, y, a veces, se aprende demasiado bien - al grado, cuando se pierde el rendimiento en el set de prueba. Para hacer frente a ese problema, se utiliza una solución "tradicional": seguimos buscando la red neuronal. que realiza mejor en el set de pruebas, y guárdelo, sobrescribir anterior mejor, se alcanza cada nuevo pico de tiempo. Este es el mismo enfoque, se utilizó en el entrenamiento FFBP, excepto, esta vez tenemos que hacerlo nosotros mismos (la adición de código, que busca una mejor red neuronal en un conjunto de pruebas, y llamando SAVE_NN, o exportar pesos de red neuronal a una archivo). De esta manera, cuando usted deja su entrenamiento, usted tendrá la mejor intérprete SOBRE LAS PRUEBAS SET salvado y esperando por usted. Tenga en cuenta también, que no es el máximo. beneficio que está después, pero el rendimiento óptimo, así que considere el uso de correcciones, la búsqueda de un mejor desempeño en un conjunto de pruebas. Algoritmo Genético para FOREX Análisis Técnico: ¿Dónde está ahora? Después de que obtuvo su ganador red neuronal. puede seguir los pasos descritos en el artículo anterior, para exportar los pesos de esa red neuronal. y luego utilizarlos en su plataforma de comercio real tiempo, como Meta Trader, la estación de Comercio y así sucesivamente. Alternativamente, usted puede centrarse en otras formas de optimizar la red neuronal. a diferencia con el algoritmo FFBP, aquí se puede llegar avay el uso de aprendizaje y las pruebas conjuntos, y mover el aprendizaje secuencial. Descargar Lista de Cortex Solicitar Corteza Ver Precio Nuestra misión es aprovechar y poner a disposición de los comerciantes y los inversores las más poderosas soluciones de inteligencia artificial utilizando los últimos algoritmos de aprendizaje automático individuales con el fin de desarrollar modelos estables y seguras para predecir los movimientos de precios de la divisa. Cambista computadoras y algoritmos v súper humanos: GANA OMS? Incluso los llamados asesores expertos que operan en plataformas populares, utilizando con elaborados conjuntos de indicadores técnicos en combinación con herramientas para pruebas de espalda de estrategias están condenados al fracaso en el largo plazo. Hay dos razones simples y primarias de este (1) la falta de sofisticación y (2) el poder computacional insuficiente. Los dos están estrechamente relacionados, y con poder computacional a menudo limitado a sólo un escritorio, por poderoso que sea, es imposible ejecutar una estrategia con el nivel requerido de sofisticación para producir retornos estables y de largo plazo. Verdaderas soluciones de inteligencia artificial se encuentran fuera del alcance de los comerciantes individuales, inversores e instituciones financieras aún más pequeños. En este entorno para ser un empresario de éxito y superar las restricciones de potencia de cálculo limitada y sofisticación nuestra Forex Trading ALGORITMO ofrece la clave de su éxito. Póngase en contacto con nosotros para saber cómo se puede trabajar para usted.


No comments:

Post a Comment