Friday 23 December 2016

Forex Machine Learning

Aprendizaje de máquina Si alguien está interesado en desarrollar estrategias basadas en aprendizaje de máquina, echa un vistazo a deep-thought. co. Máquinas del vector de la ayuda. Árboles impulsados ​​gradiente. Bosques al azar. Árboles extremadamente aleatorizados. Perceptron de múltiples capas, también conocido como Neural Network. Conjuntos: Combinar las previsiones de cualquier número de predictores. Reciclaje constante, siempre adaptándose al mercado. Tenga en cuenta que esta es una herramienta para desarrollar sus propias estrategias y sistemas, no una estrategia de comercio pre-enlatado. También se incluyen dos MT4 EAs, con fuente, para intercambiar las señales o combinar con cualquier otro sistema que pueda tener. El aprendizaje de la máquina es un campo de inteligencia artificial donde los programas de computadora aprenden en lugar de seguir ciegamente un guión. Con suficientes datos de entrenamiento puede enseñar esos algoritmos para conducir un coche, pilotar un helicóptero o construir el mejor motor de búsqueda del mundo. Aquí están los resultados que obtuve con mi enfoque inicial en la aplicación de aprendizaje de la máquina para el comercio de divisas. Una variedad de algoritmos se ponen en marcha para tratar de predecir la evolución de un instrumento con datos de sólo 8 barras diarias en el pasado. Para cada día, se registran cuatro valores, los tres primeros registran información sobre el movimiento desde el día anterior, cerca de la hora del día, alta y baja, mientras que la cuarta registra el volumen del día. Esto hace que 32 variables independientes total. Los datos se obtienen de tres instrumentos en la base de datos dukascopy, EURUSD, AUDJPY y GBPCHF diariamente. Pide barras desde el 1 de enero de 2008 hasta el 31 de diciembre de 2011, con fines de semana mezclados en el lunes siguiente. Para cada uno de los algoritmos probados, los primeros dos años fueron utilizados para entrenar a los modelos mientras que 2012 fue utilizado para probarlos. La biblioteca de java abierta para algoritmos de aprendizaje de máquina utilizados proviene de WEKA: Data Mining Software en Java i. Puede descargar gratuitamente la biblioteca o el programa de uso fácil en cs. waikato. ac. nz/ml/weka/. Predicción de la dirección del mercado Estas pruebas evalúan hasta qué punto, si es que hay, es posible predecir el movimiento global del mañana (de cerca a cerca) basado en datos de ocho días anteriores usando una variedad de algoritmos de aprendizaje automático. Una alta correlación significa que el modelo predice bien el movimiento total del día siguiente. En este caso, las correlaciones son muy cercanas a cero, de modo que los modelos no pueden predecir el movimiento general del mercado. Predecir el rango del mercado Para el forex, se define aquí el rango como la diferencia entre el dayrsquos alto y el dayrsquos bajo como porcentaje del cierre anterior (para que diferentes instrumentos sean comparables). Uno de los métodos más simples y mejores, los vecinos más cercanos, realiza mejor en esta tarea. Este método, para cada caso, simplemente mira los n casos en el conjunto de entrenamiento que más le gusta y predice un promedio ponderado de su rango. Predecir el movimiento absoluto de un instrumento El movimiento absoluto de un instrumento es el movimiento global de un día, pero siempre positivo. Esto es algo similar al rango. Es imposible predecir la dirección del mercado para el día siguiente basándose sólo en ocho barras y volúmenes anteriores, al menos utilizando estos algoritmos. Sin embargo, el primer defecto de este enfoque es tal vez que trata de predecir cada día. Tal vez algún proceso de eliminación podría eliminar una gran cantidad de datos que son en su mayoría impredecibles. Por otro lado hay otros algoritmos como las redes neuronales recurrentes que son más apropiados para la tarea a mano. Es posible predecir, hasta cierto punto, el rango del día siguiente y por lo tanto bastante lógicamente el movimiento absoluto (de cerca a cerca). Este tipo de información puede no ser relevante para los comerciantes que siguen las tendencias, pero puede ser relevante para los revendedores que necesitan predecir el rango de un par de divisas. Creo que tales algoritmos superan los indicadores de rango como el ATR en el sentido de que son predictivos más que indicativos. 1 Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, Ian H. Witten (2009) El software de minería de datos WEKA: una actualización SIGKDD Explorations, Volumen 11, Número 1.Machine Learning with algoTraderJo 383 Puestos Hola colegas comerciantes, Estoy empezando este hilo con la esperanza de compartir con ustedes algunos de mis desarrollos en el campo del aprendizaje automático. Aunque no comparto con usted los sistemas exactos o las implementaciones de codificación (no esperes conseguir nada para quotplug-and-playquot y hacerse rico de este hilo) compartiré con usted ideas, resultados de mi experimento y posiblemente otros aspectos de mi trabajo. Estoy empezando este hilo con la esperanza de que podremos compartir ideas y ayudarnos mutuamente a mejorar nuestras implementaciones. Comenzaré con algunas estrategias de aprendizaje simples de la máquina y entonces entraré en materia más compleja como pasa el tiempo. Espero que disfrutes de la carrera Junio ​​de 2014 Status: Member 383 Posts Quiero comenzar diciendo algunas cosas básicas. Lo siento si la estructura de mis puestos deja mucho que desear, no tengo ningún foro de la experiencia de publicación, pero espero obtener algo con el tiempo. En el aprendizaje de la máquina lo que queremos hacer es simplemente generar una predicción que sea útil para nuestro comercio. Para hacer esta predicción generamos un modelo estadístico usando un conjunto de ejemplos (salidas conocidas y algunas entradas que las cosas tienen poder predictivo para predecir esas salidas) entonces hacemos una predicción de una salida desconocida (nuestros datos recientes) usando el modelo que creamos con Los ejemplos. Para resumir es un proceso quotsimplequot en el que hacemos lo siguiente: Seleccione lo que queremos predecir (este será nuestro objetivo) Seleccionar algunas variables de entrada que creemos que pueden predecir nuestros objetivos Crear un conjunto de ejemplos con datos anteriores Con nuestras entradas y nuestros objetivos Cree un modelo usando estos ejemplos. Un modelo es simplemente un mecanismo matemático que relaciona las entradas / objetivos Hacer una predicción de la meta utilizando las últimas entradas conocidas Comercio utilizando esta información Quiero decir desde el principio que es muy importante evitar hacer lo que muchos documentos académicos sobre el aprendizaje automático Do, que consiste en intentar construir un modelo con arreglos muy grandes de ejemplos y luego intentar hacer una predicción a largo plazo en un conjunto de quotout de muestra. Construir un modelo con 10 años de datos y luego probarlo en los dos últimos es no-sentido, sujeto a muchos tipos de sesgos estadísticos que discutiremos más adelante. En general, verá que los modelos de aprendizaje de máquina que construyo son entrenados en cada barra (o cada vez que necesito tomar una decisión) usando una ventana móvil de datos para la construcción de ejemplos (sólo ejemplos recientes se consideran relevantes). Sin duda, este enfoque no es ajeno a algunos tipos de sesgos estadísticos, pero quitar el quotelefante en la sala cuando se utiliza el amplio en la muestra de la muestra de la mayoría de los trabajos académicos (que, sin sorpresa, a menudo conduce a enfoques que no son Realmente útil para el comercio). Hay principalmente tres cosas que preocuparse cuando se construye un modelo de aprendizaje de máquina: Qué predecir (qué objetivo) Qué predecir con (qué insumos) Cómo relacionar el destino y las entradas (qué modelo) La mayoría de lo que voy a estar mencionando En este hilo se centrará en responder a estas preguntas, con ejemplos reales. Si desea escribir cualquier pregunta que pueda tener y voy a tratar de darle una respuesta o simplemente le permiten saber si voy a contestar que más adelante. Se unió a diciembre de 2014 Estado: Miembro 383 Mensajes Vamos a trabajar ahora. Un verdadero ejemplo práctico utilizando el aprendizaje automático. Supongamos que queremos construir un modelo muy simple usando un conjunto muy simple de entradas / objetivos. Para este experimento estas son las respuestas a las preguntas: Qué predecir (qué objetivo) - gt La dirección del día siguiente (alcista o bajista) Qué predecir con (qué entradas) - gt La dirección de los 2 días anteriores Cómo Para relacionar el objetivo y las entradas (qué modelo) - gt Un clasificador de mapas lineales Este modelo intentará predecir la direccionalidad de la siguiente barra diaria. Para construir nuestro modelo, tomamos los últimos 200 ejemplos (una dirección de días como objetivo y las instrucciones de dos días anteriores como entradas) y entrenamos un clasificador lineal. Lo hacemos al comienzo de cada bar diario. Si tenemos un ejemplo en el que dos días alcistas conducen a un día bajista los insumos serían 1,1 y el objetivo sería 0 (0bearish, 1bullish), utilizamos 200 de estos ejemplos para entrenar el modelo en cada barra. Esperamos poder construir una relación donde la dirección de dos días produce cierta probabilidad por encima del azar para predecir correctamente la dirección de los días. Utilizamos un stoploss igual a 50 del período promedio de 20 días True Range en cada comercio. Una simulación de esta técnica de 1988 a 2014 sobre el EUR / USD (datos anteriores a 1999 es DEM / USD) muestra que el modelo no tiene una generación estable de beneficios. De hecho, este modelo sigue una caminata al azar negativamente sesgada, lo que hace que pierda dinero en función de la propagación (3 pips en mi sim). Observemos el desempeño aparentemente prestimista que tenemos en 1993-1995 y en 2003-2005, donde aparentemente podríamos predecir con éxito la direccionalidad de los próximos días usando un modelo lineal simple y los resultados direccionales de los dos días anteriores. Este ejemplo muestra varias cosas importantes. Por ejemplo, que a través de plazos cortos (que podría ser un par de años) que puede ser fácilmente engañado por la aleatoriedad --- se puede pensar que tiene algo que funciona que realmente no. Recuerde que el modelo se reconstruye en cada barra, utilizando los últimos 200 ejemplos de entrada / destino. Qué otras cosas crees que puedes aprender de este ejemplo? Publica tus pensamientos. Por lo que predijo que los compradores o vendedores de paso pulg Hmm, pero lo que exactamente tiene que ver con el precio subiendo o bajando 100 pips Precio puede reaccionar de diversas maneras - que sólo podría tanque durante algún tiempo (mientras todas las órdenes de límite se llenan) Y luego seguir avanzando. También puede recorrer 5, 10, 50 o incluso 99 pips. En todos estos casos, usted estaba un poco bien acerca de los compradores o vendedores de entrar, pero usted debe entender que este análisis no tiene mucho que ver con su comercio va de 90pip a 100pip. Sí, tienes razón Esta es una gran parte de la razón por la que estamos recibiendo malos resultados al usar el algoritmo de mapeo lineal. Porque nuestra rentabilidad está mal relacionada con nuestra predicción. Predecir que los días son alcistas / bajistas es de uso limitado si no sabe cuánto precio se moverá. Tal vez sus predicciones son correctas sólo en los días que le dan 10 pips y obtendrá todos los días que tienen 100 pip direccionalidad totalmente equivocado. Qué consideraría un mejor objetivo para un método de aprendizaje automático? Sí, tiene razón Esta es una gran parte de la razón por la que estamos obteniendo malos resultados al usar el algoritmo de mapeo lineal. Porque nuestra rentabilidad está mal relacionada con nuestra predicción. Predecir que los días son alcistas / bajistas es de uso limitado si no sabe cuánto precio se moverá. Tal vez sus predicciones son correctas sólo en los días que le dan 10 pips y obtendrá todos los días que tienen 100 pip direccionalidad totalmente equivocado. Qué consideraría un mejor objetivo para un método de aprendizaje de la máquina Vamos a decir si usted tiene 100 pip TP y SL, me gustaría predecir lo que viene primero: TP o SL Ejemplo: TP vino primero 1 SL vino primero 0 (o -1, Sin embargo usted lo traza)


No comments:

Post a Comment