Diseño de sistemas de comercio de alta frecuencia y gestión de procesos Diseño de sistemas de comercio de alta frecuencia y gestión de procesos Asesor: Roy E. Welsch. Departamento: Programa de Diseño y Gestión de Sistemas. Las empresas comerciales hoy en día son muy dependientes de la minería de datos, modelado por computadora y desarrollo de software. Los analistas financieros realizan muchas tareas similares a las del software y las industrias manufactureras. Sin embargo, la industria financiera aún no ha adoptado completamente los sistemas de ingeniería de sistemas de alto estándar y los enfoques de gestión de procesos que han tenido éxito en las industrias de software y manufactura. Muchas de las metodologías tradicionales de diseño de productos, control de calidad, innovación sistemática y mejora continua que se encuentran en las disciplinas de ingeniería pueden aplicarse al campo de las finanzas. Esta tesis muestra cómo los conocimientos adquiridos en las disciplinas de ingeniería pueden mejorar el diseño y la gestión de procesos de los sistemas de negociación de alta frecuencia. Los sistemas de negociación de alta frecuencia se basan en el cálculo. Estos sistemas son sistemas de software automáticos o semiautomáticos que son inherentemente complejos y requieren un alto grado de precisión de diseño. El diseño de un sistema de comercio de alta frecuencia vincula múltiples campos, incluyendo finanzas cuantitativas, diseño de sistemas e ingeniería de software. En el sector financiero, donde las teorías matemáticas y los modelos comerciales son relativamente bien investigados, la capacidad de implementar estos diseños en las prácticas comerciales reales es uno de los elementos clave de la competitividad de las empresas de inversión. La capacidad de convertir ideas de inversión en sistemas de negociación de alto rendimiento de manera eficaz y eficiente puede dar a una empresa de inversión una gran ventaja competitiva (cont.) Esta tesis proporciona un estudio detallado compuesto de alta frecuencia sistema de comercio de diseño, Para el desarrollo del sistema. Se hace especial hincapié en el backtesting y la optimización, que se consideran las partes más importantes en la construcción de un sistema comercial. Esta investigación construye modelos de ingeniería de sistemas que guían el proceso de desarrollo. También utiliza sistemas de comercio experimental para verificar y validar los principios tratados en esta tesis. Finalmente, esta tesis concluye que los principios y marcos de ingeniería de sistemas pueden ser la clave del éxito para la implementación de sistemas de negociación de alta frecuencia o de inversión cuantitativa. Tesis (S. M.) - Instituto de Tecnología de Massachusetts, Diseño de Sistemas y Programa de Gestión, 2009. Catalogado a partir de la versión en PDF de la tesis. Incluye referencias bibliográficas (páginas 78-79). Palabras clave: Programa de Diseño y Gestión de Sistemas. Examinar Mi CuentaEste post detallará lo que hice para hacer aprox. 500k de comercio de alta frecuencia de 2009 a 2010. Desde que estaba negociando de forma totalmente independiente y ya no estoy ejecutando mi programa Irsquom feliz de contar a todos. Mi negociación fue principalmente en Russel 2000 y contratos de futuros DAX. Creo que la clave de mi éxito no fue en una sofisticada ecuación financiera, sino en el diseño general del algoritmo, que unió muchos componentes simples y utilizó el aprendizaje automático para optimizar la rentabilidad máxima. Usted wonrsquot necesidad de conocer cualquier terminología sofisticada aquí porque cuando configuro mi programa todo se basa en la intuición. (Andrew Ngrsquos increíble aprendizaje de la máquina curso todavía no estaba disponible - btw si hace clic en ese enlace yoursquoll ser llevado a mi proyecto actual: CourseTalk, un sitio de revisión de MOOCs) En primer lugar, sólo quiero demostrar que mi éxito no fue simplemente el resultado de suerte. Mi programa hizo 1000-4000 oficios por día (medio largo, medio corto) y nunca llegó a posiciones de más de unos pocos contratos a la vez. Esto significaba que la suerte al azar de cualquier comercio en particular era bastante rápida. El resultado fue que nunca perdí más de 2000 en un día y nunca tuve un mes perdedor: (EDIT Estas cifras son después de pagar comisiones) Y herersquos un gráfico para darle una idea de la variación diaria. Tenga en cuenta que esto excluye los últimos 7 meses porque - como las cifras dejaron de subir - perdí mi motivación para entrar en ellos. Mi fondo de comercio Antes de configurar mi programa de comercio automatizado Irsquod tenía 2 años de experiencia como un comerciante de día ldquomanualrdquo. Esto fue en 2001 - fueron los primeros días del comercio electrónico y hubo oportunidades para ldquoscalpersrdquo para hacer buen dinero. Sólo puedo describir lo que estaba haciendo como parecido a jugar un juego de video / juego con un supuesto borde. Ser exitoso significaba ser rápido, ser disciplinado y tener una buena capacidad intuitiva de reconocimiento de patrones. Fui capaz de hacer alrededor de 250k, pagar mis préstamos estudiantiles y tener dinero restante. Win Durante los próximos cinco años me lanzaría dos startups, recoger algunas habilidades de programación en el camino. No sería hasta finales de 2008 que volvería a entrar en el comercio. Con el dinero corriendo bajo de la venta de mi primera puesta en marcha, el comercio ofrece esperanzas de un poco de dinero rápido, mientras que descubrí mi siguiente movimiento. En 2008 fui ldquomanuallyrdquo día de comercio de futuros utilizando software llamado T4. Irsquod quería algunas teclas de acceso de entrada de pedido personalizadas, así que después de descubrir que T4 tenía una API, tomé el reto de aprender C (el lenguaje de programación requerido para usar la API) y seguí adelante y construí algunas teclas de acceso rápido. Después de mojarse los pies con la API pronto tuve mayores aspiraciones: quería enseñar a la computadora para el comercio para mí. La API proporcionó una corriente de datos de mercado y una forma fácil de enviar órdenes al intercambio - todo lo que tenía que hacer era crear la lógica en el medio. A continuación se muestra una captura de pantalla de una ventana de negociación T4. Lo que era cool es que cuando conseguí mi programa de trabajo que era capaz de ver el comercio de equipo en esta misma interfaz. Ver órdenes reales apareciendo y saliendo (por sí mismos con mi dinero real) era emocionante y aterrador. El diseño de mi algoritmo Desde el principio mi objetivo era configurar un sistema tal que podría estar razonablemente confiado Irsquod ganar dinero antes de hacer cualquier comercio en vivo. Para lograr esto, necesitaba construir un marco de simulación comercial que pudiera simular, en la medida de lo posible, el comercio en vivo. Mientras que el comercio en modo en vivo requería actualizaciones del mercado de procesamiento transmitidas a través de la API, el modo de simulación requería la lectura de las actualizaciones del mercado desde un archivo de datos. Para recopilar estos datos configuro la primera versión de mi programa para simplemente conectarme a la API y registrar las actualizaciones del mercado con marcas de tiempo. Terminé usando 4 semanas de datos de mercado recientes para entrenar y probar mi sistema. Con un marco básico en su lugar todavía tenía la tarea de averiguar cómo hacer un sistema comercial rentable. Como resulta que mi algoritmo se dividiría en dos componentes distintos, que Irsquoll explorar a su vez: Predecir los movimientos de precios y Hacer operaciones rentables Predecir los movimientos de precios Tal vez un componente obvio de cualquier sistema de comercio es poder predecir dónde se moverán los precios. Y la mía no fue la excepción. Definí el precio actual como el promedio de la oferta interior y la oferta interior y establecí el objetivo de predecir dónde estaría el precio en los próximos 10 segundos. Mi algoritmo tendría que llegar a esta predicción momento por momento durante todo el día de negociación. Creación de indicadores de optimización de amplificadores Creé un puñado de indicadores que demostraron tener una capacidad significativa para predecir movimientos de precios a corto plazo. Cada indicador produjo un número que era positivo o negativo. Un indicador fue útil si más a menudo que un número positivo correspondió con el mercado subiendo y un número negativo correspondió con el mercado bajando. Mi sistema me permitió determinar rápidamente cuánta capacidad predictiva tenía cualquier indicador, así que pude experimentar con muchos indicadores diferentes para ver qué funcionaba. Muchos de los indicadores tenían variables en las fórmulas que los producían y pude encontrar los valores óptimos para esas variables al hacer comparaciones lado a lado de los resultados logrados con valores variables. Los indicadores que resultaron más útiles fueron relativamente simples y se basaron en hechos recientes en el mercado en el que operaba, así como en los mercados de valores correlativos. Hacer predicciones exactas de movimiento de precios Tener indicadores que simplemente predijo un movimiento ascendente o descendente de precios no era suficiente. Necesitaba saber exactamente cuánto se predijo el movimiento de precios por cada posible valor de cada indicador. Necesitaba una fórmula que convirtiera un valor indicador en una predicción de precios. Para lograr esto, rastreé los movimientos de precios predichos en 50 cubos que dependían del rango en el que el valor del indicador se redujo. Esto produjo predicciones únicas para cada cubo que luego pude graficar en Excel. Como puede ver, el aumento esperado del precio aumenta a medida que aumenta el valor del indicador. Basándome en un gráfico como este, pude hacer una fórmula para ajustar la curva. En el principio hice este ldquocurve fittingrdquo manualmente pero pronto escribí un poco de código para automatizar este proceso. Observe que no todas las curvas del indicador tenían la misma forma. Observe también que los cubos se distribuyeron logarítmicamente para separar los puntos de datos uniformemente. Por último, se observó que los valores de los indicadores negativos (y sus correspondientes predicciones de precios a la baja) se voltearon y se combinaron con los valores positivos. (Mi algoritmo tratado arriba y abajo exactamente igual.) Combinación de indicadores para una sola predicción Una cosa importante a considerar era que cada indicador no era totalmente independiente. No podía simplemente agregar todas las predicciones que cada indicador hizo individualmente. La clave era calcular el valor predictivo adicional que cada indicador tenía más allá de lo que ya estaba previsto. Esto no era difícil de implementar, pero sí significaba que si yo estaba ldquocurve fittingdocuatro indicadores al mismo tiempo tuve que ser cuidadoso cambiando uno afectaría las predicciones de otro. Con el fin de ldquocurve fitrdquo todos los indicadores al mismo tiempo que configurado el optimizador para el paso sólo 30 de la manera hacia las nuevas curvas de predicción con cada paso. Con este salto de 30 encontré que las curvas de predicción se estabilizarían en unos pocos pasos. Con cada indicador que ahora nos da itrsquos previsión de precios adicionales que simplemente podría sumar para producir una sola predicción de donde el mercado sería en 10 segundos. ¿Por qué la predicción de los precios no es suficiente Usted podría pensar que con esta ventaja en el mercado que era de oro. Pero usted necesita tener en cuenta que el mercado se compone de ofertas y ofertas - itrsquos no sólo un precio de mercado. El éxito en el comercio de alta frecuencia se reduce a conseguir buenos precios y itrsquos no es tan fácil. Los siguientes factores hacen la creación de un sistema rentable difícil: con cada comercio tuve que pagar comisiones tanto a mi corredor como al intercambio. La difusión (diferencia entre la oferta más alta y la oferta más baja) significaba que si simplemente comprar y vender al azar Irsquod estar perdiendo una tonelada de dinero. La mayor parte del volumen del mercado eran otros bots que sólo ejecutarían un comercio conmigo si pensaban que tenían algún borde estadístico. Ver una oferta no garantiza que podría comprarla. En el momento en que mi orden de compra llegó al intercambio era muy posible que esa oferta hubiera sido cancelada. Como un pequeño jugador del mercado no había manera de que yo pudiera competir en velocidad solo. La construcción de una simulación de comercio completo Así que tenía un marco que me permitió backtest y optimizar los indicadores. Pero yo tenía que ir más allá de esto - yo necesitaba un marco que me permitiría backtest y optimizar un sistema de comercio completo en el que estaba enviando órdenes y conseguir en posiciones. En este caso, Irsquod estará optimizando para la PampL total y en cierta medida la PampL promedio por comercio. Esto sería más complicado y de alguna manera imposible de modelar exactamente, pero hice lo mejor que pude. Éstos son algunos de los problemas que tuve que tratar: Cuando una orden fue enviada al mercado en simulación tuve que modelar el tiempo de retraso. El hecho de que mi sistema vio una oferta no significaba que pudiera comprarla de inmediato. El sistema enviaría la orden, esperaría aproximadamente 20 milisegundos y entonces solamente si la oferta todavía estaba allí fue considerado como un comercio ejecutado. Esto era inexacto porque el tiempo de retraso real era inconsistente y no declarado. Cuando hice ofertas o ofertas, tuve que mirar el flujo de ejecución de comercio (proporcionado por el API) y usarlas para medir cuándo mi pedido habría sido ejecutado en contra. Para hacer esto bien tuve que rastrear la posición de mi pedido en la cola. (Itrsquos un sistema first-in-first-out.) Una vez más, no podía hacer esto perfectamente, pero hice una mejor aproximación. Para refinar mi simulación de ejecución de órdenes lo que hice fue tomar mis archivos de registro de comercio en vivo a través de la API y compararlos con los archivos de registro producido por el comercio simulado desde el mismo período de tiempo. Pude obtener mi simulación hasta el punto de que era bastante exacta y para las partes que eran imposibles de modelar con exactitud me aseguré de por lo menos producir resultados que eran estadísticamente similares (en las métricas que pensé que eran importantes). Haciendo negocios rentables Con un modelo de simulación de pedidos en su lugar, ahora podría enviar pedidos en modo de simulación y ver un simulador de PampL. Pero, ¿cómo iba a saber mi sistema cuándo y dónde comprar y vender? Las predicciones de movimiento de precios fueron un punto de partida, pero no toda la historia. Lo que hice fue crear un sistema de puntuación para cada uno de los 5 niveles de precios de la oferta y la oferta. Éstos incluyeron un nivel sobre la oferta interior (para una orden de compra) y un nivel debajo de la oferta interior (para una orden de venta). Si la puntuación a cualquier nivel de precios dado estaba por encima de un cierto umbral que significaría que mi sistema debería tener una oferta / oferta activa allí - por debajo del umbral, entonces cualquier pedido activo debería ser cancelado. Basado en esto no era infrecuente que mi sistema destellara una oferta en el mercado entonces inmediatamente la cancelaría. (Aunque traté de minimizar esto como itrsquos molesto como heck a cualquiera que mira la pantalla con ojos humanos - incluyendo a mí.) Las puntuaciones de nivel de precios se calcularon sobre la base de los siguientes factores: La predicción de movimiento de precios (que discutimos anteriormente). El nivel de precios en cuestión. (Los niveles internos significaban que se requerían mayores predicciones de movimiento de precios). El número de contratos delante de mi orden en la cola. (Menos fue mejor.) El número de contratos detrás de mi pedido en la cola. (Más era mejor.) Esencialmente, estos factores sirvieron para identificar ldquosaferdquo lugares de oferta / oferta. La predicción de movimiento de precios por sí sola no era adecuada porque no explicaba el hecho de que al realizar una oferta no estaba automáticamente llena, sólo me llené si alguien me vendía allí. La realidad era que el mero hecho de que alguien me vendiera a un precio determinado cambiaba las probabilidades estadísticas del oficio. Las variables utilizadas en este paso fueron todas sujetas a optimización. Esto se hizo de la misma manera que las variables optimizadas en los indicadores de movimiento de precios, excepto en este caso yo estaba optimizando para la línea de fondo PampL. Lo que mi programa ignoró Cuando operamos como humanos, a menudo tenemos emociones y sesgos poderosos que pueden conducir a decisiones menos que óptimas. Claramente no quería codificar estos sesgos. Aquí hay algunos factores que mi sistema ignoró: El precio que se introdujo una posición - En una oficina de comercio itrsquos bastante común para escuchar la conversación sobre el precio al que alguien es largo o corto como si que debe afectar su toma de decisiones futuras. Si bien esto tiene alguna validez como parte de una estrategia de reducción de riesgo que realmente no tiene relación con el curso futuro de los acontecimientos en el mercado. Por lo tanto, mi programa completamente ignorado esta información. Itrsquos el mismo concepto que ignorando los costes hundidos. Ir corto vs salir de una posición larga - Por lo general, un comerciante tendría diferentes criterios que determina dónde vender una posición larga frente a dónde ir corto. Sin embargo, desde mi perspectiva de algoritmos no había razón para hacer una distinción. Si mi algoritmo esperaba un movimiento hacia abajo de venta era una buena idea, independientemente de si era actualmente largo, corto o plano. A ldquoubling uprdquo estrategia - Esta es una estrategia común donde los comerciantes comprarán más acciones en el caso de que el comercio original va en contra de ellos. Esto se traduce en su precio de compra promedio es menor y significa que cuando (o si) la acción se vuelve tu yoursoll se establezca para hacer su dinero de vuelta en ningún momento. En mi opinión, esta es realmente una estrategia horrible a menos que Warren Buffet. Yoursquore engañado en el pensamiento que usted está haciendo bien porque la mayoría de sus oficios serán ganadores. El problema es cuando pierdes pierdes grande. El otro efecto es que hace difícil juzgar si realmente tienes una ventaja en el mercado o simplemente tienes suerte. Ser un objetivo importante era poder monitorear y confirmar que mi programa tenía una ventaja. Dado que mi algoritmo tomó las decisiones de la misma manera, independientemente de dónde entró en un comercio o si era actualmente largo o corto que ocasionalmente sentarse en (y tomar) algunos grandes operaciones perdedoras (además de algunas grandes operaciones ganadoras). Pero, no debe pensar que no había ninguna gestión de riesgos. Para manejar el riesgo, apliqué un tamaño de posición máximo de 2 contratos a la vez, ocasionalmente subí en días de alto volumen. También tuve un límite máximo de pérdidas diarias para protegerme contra cualquier condición inesperada del mercado o un error en mi software. Estos límites se aplicaron en mi código, pero también en el backend a través de mi corredor. Como sucedió nunca encontré problemas significativos. Ejecución del algoritmo Desde el momento en que comencé a trabajar en mi programa me tomó unos 6 meses antes de que lo lleve al punto de la rentabilidad y comenzó a correr en vivo. Aunque para ser justos una cantidad significativa de tiempo era aprender un nuevo lenguaje de programación. A medida que trabajaba para mejorar el programa vi aumentar los beneficios para cada uno de los próximos cuatro meses. Cada semana me volvería a entrenar mi sistema basado en el valor de 4 semanas anteriores de datos. Encontré esto golpeó el equilibrio correcto entre capturar tendencias recientes del comportamiento del mercado y asegurar mi algoritmo tenía bastante datos para establecer patrones significativos. A medida que el entrenamiento comenzó a tomar cada vez más tiempo lo dividí para que pudiera ser realizado por 8 máquinas virtuales usando Amazon EC2. Los resultados se fusionaron en mi máquina local. El punto culminante de mi comercio fue octubre de 2009, cuando hice casi 100k. Después de esto continué pasando los próximos cuatro meses intentando mejorar mi programa a pesar de la disminución de ganancias cada mes. Desafortunadamente por este punto supongo que Irsquod implementó todas mis mejores ideas porque nada de lo que probé parecía ayudar mucho. Con la frustración de no ser capaz de hacer mejoras y no tener un sentido de crecimiento comencé a pensar en una nueva dirección. He enviado 6 diferentes empresas de alta frecuencia de comercio para ver si theyrsquod estar interesado en la compra de mi software y contratación de mí para trabajar para ellos. Nadie contestó. Tuve algunas nuevas ideas de inicio que quería trabajar, así que nunca lo seguí. ACTUALIZACIÓN - he publicado esto en Hacker News y ha recibido mucha atención. Sólo quiero decir que no abogo a nadie que intente hacer algo así ahora. Usted necesitaría un equipo de personas realmente inteligentes con una gama de experiencias para tener cualquier esperanza de competir. Incluso cuando estaba haciendo esto creo que era muy raro que las personas lograr el éxito (aunque he oído hablar de los demás.) Hay un comentario en la parte superior de la página que menciona las estadísticas manipuladas y se refiere a mí como un ldquoretail investorrdquo que quants Ldquogleefully escoger offrdquo. Este es un comentario bastante desafortunado thatrsquos simplemente no basado en la realidad. Dejando a un lado therersquos algunos comentarios interesantes: news. ycombinator / itemid4748624 UPDATE 2 - Irsquove publicado un seguimiento de preguntas frecuentes que responde a algunas preguntas comunes Irsquove recibido de los comerciantes acerca de esta post. Basics of Algorithmic Trading: Conceptos y ejemplos Loading the player. Un algoritmo es un conjunto específico de instrucciones claramente definidas destinadas a llevar a cabo una tarea o proceso. El trading algorítmico (trading automatizado, black-box trading o simplemente algo-trading) es el proceso de usar computadoras programadas para seguir un conjunto definido de instrucciones para colocar un comercio con el fin de generar beneficios a una velocidad y frecuencia que es imposible para un Comerciante humano Los conjuntos definidos de reglas se basan en el tiempo, el precio, la cantidad o cualquier modelo matemático. Aparte de las oportunidades de beneficio para el comerciante, algo-trading hace que los mercados más líquidos y hace que el comercio más sistemático por descartar impactos humanos emocionales en las actividades comerciales. Supongamos que un comerciante sigue estos sencillos criterios comerciales: Compra 50 acciones de una acción cuando su media móvil de 50 días supera el promedio móvil de 200 días Vende las acciones de la acción cuando su promedio móvil de 50 días se sitúa por debajo de la media móvil de 200 días Utilizando este conjunto de dos instrucciones sencillas, es fácil escribir un programa informático que vigile automáticamente el precio de la acción (y los indicadores de media móvil) y coloque los pedidos de compra y venta cuando se cumplan las condiciones definidas. El comerciante ya no tiene que mantener un reloj para los precios en vivo y gráficos, o poner en los pedidos manualmente. El sistema de comercio algorítmico lo hace automáticamente para él, identificando correctamente la oportunidad de negociación. Algo-trading ofrece los siguientes beneficios: Operaciones ejecutadas a los mejores precios posibles Posicionamiento inmediato y preciso de pedidos comerciales (con altas posibilidades de ejecución en los niveles deseados) Operaciones Controlar simultáneamente los controles automatizados en múltiples condiciones de mercado Reducir el riesgo de errores manuales en la colocación de las operaciones Volver a probar el algoritmo, sobre la base de datos históricos y en tiempo real disponibles Reducido La posibilidad de errores por parte de los comerciantes humanos basada en factores emocionales y psicológicos La mayor parte del actual día algo-trading es el comercio de alta frecuencia (HFT), que intenta capitalizar sobre la colocación de un gran número de órdenes a velocidades muy rápidas en múltiples mercados y múltiples decisiones Parámetros, basándose en instrucciones preprogramadas. Algo-trading se utiliza en muchas formas de comercio y las actividades de inversión, incluyendo: Inversores de mediano a largo plazo o empresas de compra de lado (fondos de pensiones , Fondos de inversión, compañías de seguros) que compran en acciones en grandes cantidades pero no quieren influir en los precios de las acciones con inversiones discretas de gran volumen. Los comerciantes a corto plazo y los participantes de la parte vendedora (fabricantes de mercado, especuladores y arbitrajes) se benefician de la ejecución automatizada del comercio, además de las ayudas para la creación de liquidez suficiente para los vendedores en el mercado. Los comerciantes sistemáticos (seguidores de tendencias, comerciantes de parejas, fondos de cobertura, etc.) encuentran mucho más eficiente programar sus reglas comerciales y dejar que el programa se comercialice automáticamente. El comercio algorítmico proporciona un enfoque más sistemático al comercio activo que los métodos basados en la intuición o el instinto de los comerciantes humanos. Estrategias de negociación algorítmica Cualquier estrategia para el comercio algorítmico requiere una oportunidad identificada que sea rentable en términos de ganancias mejoradas o reducción de costos. Las siguientes son estrategias comunes de trading usadas en algo-trading: Las estrategias de trading algorítmicas más comunes siguen las tendencias en las medias móviles. Canales. Movimientos del nivel de precios e indicadores técnicos relacionados. Estas son las estrategias más sencillas y fáciles de implementar a través de la negociación algorítmica, ya que estas estrategias no implican la realización de predicciones o previsiones de precios. Las operaciones se inician en función de las tendencias deseadas. Que son fáciles y sencillos de implementar a través de algoritmos sin entrar en la complejidad del análisis predictivo. El ejemplo mencionado de 50 y 200 días de media móvil es una estrategia de seguimiento de la tendencia popular. Comprar una acción cotizada dual a un precio más bajo en un mercado y venderlo simultáneamente a un precio más alto en otro mercado ofrece el diferencial de precio como beneficio libre de riesgo O arbitraje. La misma operación puede repetirse para las acciones frente a los instrumentos de futuros, ya que existen diferencias de precios de vez en cuando. La implementación de un algoritmo para identificar tales diferenciales de precios y colocar los pedidos permite oportunidades rentables de manera eficiente. Los fondos de índice han definido períodos de reequilibrio para que sus participaciones estén a la par con sus respectivos índices de referencia. Esto crea oportunidades rentables para los comerciantes algorítmicos, que capitalizan las operaciones esperadas que ofrecen beneficios de 20-80 puntos básicos dependiendo de la cantidad de acciones en el fondo de índice, justo antes de reequilibrar el fondo de índice. Tales operaciones se inician a través de sistemas de negociación algorítmica para la ejecución oportuna y mejores precios. Una gran cantidad de modelos matemáticos probados, como la estrategia de negociación delta neutral, que permiten la negociación sobre la combinación de opciones y su valor subyacente. Donde las operaciones se colocan para compensar los deltas positivos y negativos para que el delta de la cartera se mantenga en cero. La estrategia de reversión media se basa en la idea de que los precios altos y bajos de un activo son un fenómeno temporal que vuelve a su valor medio periódicamente. Identificar y definir un rango de precios y un algoritmo de implementación basado en que permite que los oficios se colocan automáticamente cuando el precio del activo se rompe dentro y fuera de su rango definido. La estrategia de precio medio ponderado por volumen rompe un pedido grande y libera trozos más pequeños determinados dinámicamente de la orden al mercado usando perfiles de volumen históricos específicos de stock. El objetivo es ejecutar la orden cerca del Precio Medio Ponderado por Volumen (VWAP), beneficiándose así del precio medio. La estrategia de precios promedio ponderada en el tiempo rompe una gran orden y libera trozos más pequeños dinámicamente determinados de la orden al mercado usando intervalos de tiempo divididos de manera uniforme entre un inicio y un final. El objetivo es ejecutar la orden cerca del precio medio entre el inicio y el final, minimizando así el impacto en el mercado. Hasta que el pedido comercial se llene completamente, este algoritmo continúa enviando órdenes parciales, de acuerdo a la relación de participación definida y de acuerdo con el volumen negociado en los mercados. La estrategia de pasos relacionados envía órdenes a un porcentaje definido por el usuario de volúmenes de mercado y aumenta o disminuye esta tasa de participación cuando el precio de la acción alcanza los niveles definidos por el usuario. La estrategia de déficit de implementación tiene como objetivo minimizar el costo de ejecución de una orden negociando el mercado en tiempo real, ahorrando así el costo de la orden y beneficiándose del costo de oportunidad de la ejecución retrasada. La estrategia aumentará la tasa de participación objetivo cuando el precio de las acciones se mueve favorablemente y disminuirlo cuando el precio de las acciones se mueve adversamente. Hay algunas clases especiales de algoritmos que intentan identificar acontecimientos en el otro lado. Estos algoritmos de sniffing, utilizados, por ejemplo, por un fabricante de mercado de venta, tienen la inteligencia integrada para identificar la existencia de cualquier algoritmo en el lado de compra de una orden grande. Esta detección a través de algoritmos ayudará al creador de mercado a identificar grandes oportunidades de pedidos y le permitirá beneficiarse al llenar los pedidos a un precio más alto. Esto a veces se identifica como de alta tecnología front-running. Requisitos técnicos para el comercio algorítmico La implementación del algoritmo usando un programa de computadora es la última parte, batida con backtesting. El desafío es transformar la estrategia identificada en un proceso computarizado integrado que tiene acceso a una cuenta de negociación para realizar pedidos. Los siguientes son necesarios: Conocimiento de programación de computadoras para programar la estrategia de negociación requerida, programadores contratados o software de comercio pre-fabricado Conectividad de red y acceso a plataformas de negociación para colocar los pedidos Acceso a los feeds de mercado que serán monitoreados por el algoritmo para oportunidades de colocar Órdenes La capacidad y la infraestructura para backtest el sistema una vez construido, antes de que vaya vivo en los mercados reales Datos históricos disponibles para backtesting, dependiendo de la complejidad de las reglas implementadas en el algoritmo Aquí está un ejemplo completo: Royal Dutch Shell (RDS) Bolsa de Valores (AEX) y Bolsa de Valores de Londres (LSE). Permite crear un algoritmo para identificar oportunidades de arbitraje. Debido a la diferencia horaria de una hora, AEX se abre una hora antes que LSE, seguido de ambos intercambios que operan simultáneamente durante las próximas horas y luego se negocian sólo en LSE durante La última hora a medida que se cierra AEX ¿Podemos explorar la posibilidad de negociación de arbitraje en las acciones de Royal Dutch Shell que figuran en estos dos mercados en dos monedas diferentes Un programa informático que puede leer los precios actuales de mercado Precios de feeds de LSE y AEX A forex rate feed for Tipo de cambio de GBP-EUR Capacidad de colocación de pedidos que puede encaminar el pedido al intercambio correcto Capacidad de back-testing en precios históricos El programa de computadora debe realizar lo siguiente: Leer el feed de precio entrante de acciones RDS de ambos intercambios Usando los tipos de cambio disponibles . Convertir el precio de una moneda a otro Si existe una discrepancia de precio suficientemente grande (descontando los costos de corretaje) que conduce a una oportunidad rentable, entonces ponga la orden de compra en el precio más bajo de cambio y el orden de venta en un cambio más alto Si los pedidos se ejecutan como Sin embargo, la práctica del trading algorítmico no es tan simple de mantener y ejecutar. Recuerde, si usted puede colocar un comercio algo-generado, así que puede los otros participantes del mercado. En consecuencia, los precios fluctúan en milisegundos e incluso microsegundos. En el ejemplo anterior, ¿qué sucede si su compra de comercio se ejecuta, pero vender el comercio doesnt como los precios de venta cambian en el momento en que su orden llega al mercado Usted terminará sentado con una posición abierta. Haciendo su estrategia de arbitraje sin valor. Existen riesgos y desafíos adicionales: por ejemplo, los riesgos de falla del sistema, los errores de conectividad de la red, los intervalos de tiempo entre las órdenes comerciales y la ejecución y, lo que es más importante, los algoritmos imperfectos. Cuanto más complejo sea un algoritmo, el backtesting más riguroso es necesario antes de que se ponga en acción. El análisis cuantitativo de un desempeño de algoritmos juega un papel importante y debe ser examinado críticamente. Es emocionante ir a la automatización ayudada por computadoras con la noción de ganar dinero sin esfuerzo. Pero uno debe cerciorarse de que el sistema esté probado a fondo y los límites requeridos se fijen. Los comerciantes analíticos deben considerar el aprendizaje de la programación y los sistemas de construcción por su cuenta, para estar seguros de la aplicación de las estrategias adecuadas de manera infalible. El uso cauteloso y las pruebas exhaustivas de algo-trading pueden crear oportunidades rentables.
Bienvenido a la casa de los mundos de las primeras opciones binarias automatizado Asesor experto Si usted es nuevo en opciones binarias, puede leer más sobre él aquí. Acerca de nuestras señales Las opciones binarias son simplemente inversiones que usted realiza basándose en si el precio actual de un activo aumentará o disminuirá al vencimiento. La razón binaria opciones son tan populares es debido a sus cantidades increíbles de pago. Puede generar hasta 75 de su inversión en cada comercio ganador. Nuestras señales se han desarrollado y probado durante un período de años, y ahora están disponibles para ser utilizados de una manera automatizada con un asesor experto Lo que está incluido en nuestro paquete Expert Advisor que se puede utilizar ya sea automatizado o para generar señales para su no - MT4 BO broker 5 Plantillas de las que puede elegir, dependiendo de su estilo de negociación Materiales de formación de amplificadores de educación para el comercio Opciones binarias en Meta Trad...
Comments
Post a Comment