Cómo utilizar el aprendizaje automático en su máquina de comercio aprendizaje presenta muchas ventajas únicas y convincentes para los comerciantes que buscan una ventaja en el mercado. Sólo en el último año hemos visto una enorme cantidad de recursos de los principales fondos de cobertura del mundo, como Bridgewater Associates, dedicados a explorar estas técnicas. Si bien el aprendizaje mediante máquinas o la inteligencia artificial parece increíblemente complejo y difícil de implementar, todavía hay maneras de aprovechar sus capacidades sin necesidad de un doctorado en matemáticas o ciencias. En este post, así pasar por 3 maneras diferentes que usted puede utilizar técnicas de aprendizaje de la máquina para mejorar su propio comercio. Selección de indicadores Una de las decisiones más importantes es decidir qué indicadores utilizar para el comercio. Si usted es un comerciante técnico o fundamental, o simplemente utiliza la acción de precios para el comercio, su éxito va a depender en gran medida de los indicadores que utiliza y cómo se interpretan. Por suerte, hay muchos métodos diferentes para seleccionar sus indicadores y esto se conoce como selección de características en el mundo de la máquina-aprendizaje. Uso de un árbol de decisión para seleccionar sus indicadores Los árboles de decisión son algoritmos muy versátiles que tienen la ventaja de ser fácilmente interpretables. Dado un amplio conjunto de datos de indicadores y el movimiento de precios del activo, un árbol de decisión encontrará los indicadores y los valores de los indicadores que mejor dividen los datos entre aumentos de precios y disminuciones de precios. Los indicadores más cercanos a la parte superior del árbol se ven como mejores predictores que los más cercanos a la parte inferior del árbol, y siguiendo una rama particular le permitirá encontrar fácilmente interdependencias y relaciones entre los indicadores. El árbol de decisiones también le dará un conjunto de reglas que puede utilizar para el comercio basado en esos indicadores, pero usted debe estar seguro de podar correctamente el árbol y la prueba de overfitting. El árbol de decisiones es una poderosa herramienta visual que puede ayudarle a decidir qué combinaciones de indicadores para negociar y qué valores negociar con ellos. Usted puede encontrar un tutorial sobre cómo construir una estrategia con un árbol de decisión aquí o para una guía más general, en R aquí es un buen recurso. Optimización Una vez que usted tiene la base para su estrategia, el siguiente paso es la optimización, o la elección de los valores de los parámetros correctos para maximizar sus posibilidades de éxito. Muchas estrategias tienen una gran variedad de parámetros, tales como la configuración de los indicadores, las condiciones de entrada y salida, los niveles de pérdida y toma de beneficios y el dimensionamiento de la posición, que hacen que los métodos de fuerza bruta de probar cada combinación sean extremadamente difíciles y consuman mucho tiempo Incluso posible. Resolver este tipo de problemas es otra área donde el aprendizaje de la máquina sobresale. Optimización de una estrategia utilizando algoritmos genéticos Los algoritmos genéticos imitan el proceso de selección natural mediante la creación de un conjunto único de estrategias infantiles que contiene una mezcla de las mejores estrategias de los padres, con una posibilidad de mutación aleatoria. El proceso comienza por la codificación de su estrategia en una matriz. Por ejemplo, podría leer algo como: Indicador 1 Período A continuación, generar una gran población de estrategias con variaciones al azar de estos parámetros. Todas estas estrategias tienen diferentes combinaciones de períodos de media móvil, condiciones de entrada y salida y relaciones riesgo-recompensa. A continuación, pondrá a prueba esta población ejecutando cada estrategia sobre un conjunto de pruebas y seleccionando las estrategias principales basadas en una métrica de rendimiento de su elección. Finalmente, se combinan aleatoriamente los rasgos de las estrategias principales, con una pequeña posibilidad de mutación de algunos de los parámetros, para crear una nueva generación de estrategias infantiles. A continuación, repita el procedimiento de evaluación y, una vez más, el compañero de las mejores estrategias de rendimiento de esta nueva generación. Esto conduce a una supervivencia del escenario más apto donde sólo las estrategias superiores sobreviven para pasar a lo largo de sus genes a la próxima generación Repita este proceso un gran número de veces o hasta que se alcance un determinado criterio de rendimiento y se queda con una estrategia muy robusta construida a partir de Generaciones de las mejores estrategias Usted tiene que cerciorarse de que usted selecciona una métrica apropiada del funcionamiento (tal como vuelta ajustada por riesgo) y siempre prueba la estrategia final sobre los datos que no fueron utilizados para construir la estrategia para asegurarse de que usted no está apretando a un Determinado conjunto de datos. Este es un método muy potente y robusto que ha tenido éxito en una amplia variedad de aplicaciones, incluyendo el mundo del comercio. Puede encontrar una descripción más detallada aquí y un tutorial sobre cómo implementarlo en R aquí. Live Trading Uno de los aspectos más atractivos del aprendizaje automático es tener un algoritmo que es capaz de aprender y adaptarse a las cambiantes condiciones del mercado. Sin embargo, esto crea una estrategia de blackbox que, si no entiendes completamente cómo funcionan los algoritmos y lo prueba a fondo, es muy difícil confiar en una cuenta real. No saber cuándo o por qué una estrategia está entrando en un comercio puede ser una propuesta de miedo. Sin embargo, hay maneras de obtener los beneficios de un enfoque inteligente y algorítmico, manteniendo la transparencia y la comprensión en su estrategia. Regla de asociación Regla de asociación de aprendizaje El aprendizaje es el proceso de derivar un conjunto de reglas claras y comprensibles a partir de los patrones descubiertos por un algoritmo de aprendizaje automático. Algoritmos, como el algoritmo Apriori, buscan un conjunto de datos de indicadores, valores de indicadores y el movimiento de precios resultante para producir un conjunto de condiciones básicamente si-entonces las declaraciones, que conducen a los resultados de más alto rendimiento. Sin embargo, todavía es difícil saber exactamente de dónde provienen estas reglas, el algoritmo Apriori requiere un número bastante grande de parámetros que se sintonizan y este proceso no se presta bien a las cambiantes condiciones del mercado. Con TRAIDE. Tomamos el proceso un paso más allá y le permitimos ver los patrones encontrados por un conjunto de algoritmos de aprendizaje automático, desde los cuales puede crear sus propias reglas de negociación. Estas reglas son fáciles de implementar y ajustadas a las cambiantes condiciones del mercado, sin necesidad de ninguna experiencia de programación o matemática. Usted es capaz de obtener los beneficios de utilizar algoritmos de aprendizaje automático para el comercio al mismo tiempo mantener la transparencia completa, una comprensión de su estrategia, e incluyendo su propia experiencia de dominio en su comercio. Usar el aprendizaje automático y la inteligencia artificial para encontrar una ventaja en el mercado no necesita ser propiedad exclusiva de las instituciones financieras más grandes. A medida que esta tecnología se vuelve más accesible y estas técnicas más comunes, usted también puede utilizar el aprendizaje de la máquina para mejorar su trading. Machine aprendizaje 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 puedes 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 sean totales. 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 al 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 en qué medida, si es que existe, es posible predecir el movimiento global de mañana (de cerca a cerca) basado en datos de ocho días previos 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 con 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 comenzando 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 usando 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)
Comments
Post a Comment