Algorithmic Trading System Requirements Actualmente estoy tomando una clase sobre arquitecturas de software. Para esta clase cada estudiante elige un sistema, define sus requisitos arquitectónicos y diseña una solución capaz de satisfacer esos requisitos. Elegí un sistema de comercio algorítmico debido al desafío tecnológico y porque me encanta los mercados financieros. Los sistemas de negociación algorítmica (ATs) utilizan algoritmos computacionales para tomar decisiones comerciales, enviar pedidos y administrar pedidos después de la presentación. En los últimos años ATs han ganado popularidad y ahora representan la mayoría de los oficios puestos a través de intercambios internacionales. Distinción se hace entre el comercio programado y el comercio algorítmico. El comercio programado consiste en dividir las órdenes de grandes mercados en paquetes de acciones más pequeñas. En este artículo, el comercio programado se considera un requisito de seguridad de un ATs. Introducción a los sistemas de negociación algorítmica Hablando en general, hay cinco tipos de participantes en el mercado: los inversores minoristas, los comerciantes propietarios, los creadores de mercado, las instituciones de compra y las instituciones de venta. ATs son más utilizados por las instituciones propietarias de buy-side, pero esta dinámica está cambiando. Algorithmic trading as a service (ATAAS) hace que el comercio algorítmico sea accesible al inversor minorista (ver apéndice). En este artículo se describen los requisitos arquitectónicos de un ATs utilizado por una entidad propietaria de buy-side. En la parte superior más nivel, un AT tiene tres funciones: tomar decisiones comerciales, crear órdenes comerciales, y administrar los pedidos después de la presentación. Debajo de estos hay una serie de requisitos funcionales más detallados, algunos de los cuales pueden ser satisfechos por la arquitectura. Introducción a la arquitectura de software Mucho debate aún rodea la definición de lo que es una arquitectura de software. En el contexto de este artículo, la arquitectura de software se define como la infraestructura en la que se pueden especificar, desplegar y ejecutar los componentes de la aplicación que proporcionan la funcionalidad del usuario. Un sistema de software debe satisfacer sus requisitos funcionales y no funcionales. Los requisitos funcionales especifican las funciones de los componentes del sistema. Los requisitos no funcionales especifican las medidas a través de las cuales se mide el rendimiento del sistema. Un sistema de software que satisface sus requisitos funcionales, puede todavía no satisfacer las expectativas del usuario, p. Un ATs que puede presentar oficios, pero no de manera oportuna, podría causar pérdidas financieras. La arquitectura del software básicamente proporciona una infraestructura que satisface los requisitos no funcionales y dentro del cual se pueden implementar y ejecutar componentes que satisfacen requisitos funcionales. Por lo tanto, los requisitos de los sistemas de comercio algorítmicos se pueden dividir ampliamente en requisitos funcionales y no funcionales. Requisitos funcionales Debajo de las decisiones de toma de decisiones nivel superior requisito hay tres requisitos de alto nivel: Obtener datos de mercado - descargar, filtrar y almacenar datos estructurados y no estructurados. Los datos estructurados incluyen datos de mercado en tiempo real de Reuters o Bloomberg transmitidos usando un protocolo, p. FIJAR. Los datos no estructurados incluyen noticias y datos de redes sociales. Definir estrategia de negociación - especificar nuevas reglas y estrategias comerciales. La regla de negociación consiste en un indicador, una desigualdad y un valor numérico, p. PE ratio lt 10. Las reglas de negociación se estructuran en un árbol de decisión para definir una estrategia comercial (ilustrada a continuación). Analizar los valores frente a la estrategia de negociación - para cada seguridad, obtener datos y filtrarlo a través de la estrategia de negociación para determinar qué seguridad comprar. Además: para cada posición abierta, determine qué seguridad vender. Nota: este requisito podría variar. Debajo del requisito de nivel superior de las órdenes comerciales de la demanda allí es dos requisitos de alto nivel: Consiga la información comercial - para cada decisión, consiga el símbolo de la seguridad, el precio, la cantidad, el etc. crea orden comercial - para cada decisión, especifica un tipo de orden y agrega la información comercial . Hay seis tipos de orden: largo, corto, mercado, límite, parada y condicional. Debajo del requisito de alto nivel de órdenes de gestión hay tres requisitos de alto nivel: Gestionar pedidos pendientes - para cada pedido, validar y confirmar el pedido Ruta / enviar pedidos - enrutar cada pedido a un intercambio, piscina oscura o corretaje De cada orden presentada, si la orden es emparejada entonces crea una posición abierta. Si el pedido no coincide, detenga el pedido. Este diagrama muestra cómo una estrategia de negociación podría definirse como un árbol de decisiones de las reglas de comercio. Requisitos no funcionales Existen muchos requisitos no funcionales que se intercambian entre sí, por ejemplo. El mayor rendimiento a menudo se produce con un mayor costo total de propiedad. Los requisitos del sistema de negociación algorítmica no funcional incluyen, Escalabilidad - es la capacidad de un sistema para hacer frente y actuar bajo una carga de trabajo aumentada o en expansión. Un ATs debe ser escalable con respecto al número de feeds de datos en los procesos, número de intercambios que negocia, y los valores que puede negociar. Rendimiento - es la cantidad de trabajo realizado por un sistema en comparación con el tiempo y los recursos necesarios para hacer ese trabajo. Un ATs debe tener tiempos de respuesta rápida (volver al mercado) y un alto procesamiento y rendimiento de la red. Modificabilidad: es la facilidad con la que se puede cambiar el sistema. Un AT debe tener estrategias de negociación fácilmente modificables y procesamiento de datos. Confiabilidad - es la precisión y fiabilidad de un sistema para producir salidas correctas para las entradas que recibe. Debido a errores y errores en un ATs puede dar lugar a enormes pérdidas y multas, la fiabilidad es crucial. Ver la debacle capital Knight para la evidencia de esto. Auditoría - es la facilidad con la que el sistema puede ser auditado. Recientes casos de alto perfil de ATs ir loco han puesto ATs en el centro de atención para las empresas de auditoría. Por lo tanto, deben ser auditables desde el punto de vista financiero, de cumplimiento y de TI. Seguridad - es la seguridad de una organización contra actividades criminales como terrorismo, robo o espionaje. Debido a que las estrategias comerciales son propietarias y representan una valiosa propiedad intelectual, deben ser aseguradas. Además, para proteger a los ATs de la caza, las órdenes deben ser ofuscadas mediante estrategias de negociación programadas. Tolerancia a fallos - es la capacidad de un sistema para seguir funcionando correctamente después de una falla o falla. Esto es similar a la confiabilidad, excepto que los ATs deben seguir siendo confiables incluso después de una falla para evitar pérdidas financieras. Interoperabilidad - es la facilidad con la que el sistema es capaz de operar con una amplia gama de sistemas relacionados. Esto es importante para un ATs que puede ser necesario para interactuar con sistemas de gestión de pedidos, sistemas de gestión de cartera, sistemas de gestión de riesgos, sistemas de contabilidad e incluso sistemas bancarios. Visión general del ámbito arquitectónico El ámbito arquitectónico es el conjunto de servicios soportados por la arquitectura que son consumidos por los componentes para satisfacer sus requisitos funcionales y no funcionales. Un desglose más detallado de este alcance arquitectónico está disponible en el documento detallado de requisitos. En un nivel alto, la arquitectura debería proporcionar los siguientes servicios: Un entorno de procesamiento de datos modificable, que admita múltiples flujos de datos, filtros para datos irrelevantes y partición de datos temporales Un entorno de procesamiento distribuido que admite múltiples unidades de procesamiento (Clusters), monitoreo de rendimiento en tiempo real, un marco de comunicación orientado a mensajes, programación de conjuntos de datos temporales, balanceo de carga y replicación de datos Unidades de procesamiento individuales - que soporta colas en memoria y procesamiento de eventos complejos Un entorno de recuperación de datos (DR) - Replica el SAN y el sistema de gestión de pedidos Un entorno de integración - que expone una API estándar para los componentes y se conecta Componentes internos y externos entre sí Un sistema de gestión de pedidos que soporta corrientes de entrada concurrentes, redundancia pasiva y equilibrio de carga, criterios ACID en órdenes, un rastro de auditoría y se replica Un entorno de uso del sistema que admite múltiples perfiles de usuario y expone un Completamente gestionado front-end al sistema de comercio algorítmico Requisitos de acceso e integración Requisitos de acceso describen maneras en las que los usuarios pueden acceder a los componentes del sistema. Un sistema de comercio algorítmico debe exponer tres interfaces: una interfaz para definir nuevas reglas comerciales, estrategias de negociación y fuentes de datos; una interfaz de fondo para que los administradores del sistema agreguen clústeres y configuren la arquitectura y una interfaz de auditoría de sólo lectura para comprobar los controles de TI y Derechos de acceso de los usuarios. Los requisitos previos para la integración entre componentes y sistemas externos se denominan requisitos de integración. El sistema de comercio algorítmico debe apoyar la integración basada en archivos, la integración basada en mensajes y la integración de bases de datos. Como tal, la arquitectura debe satisfacer los siguientes requisitos: Integración de bases de datos - soporte ODBC, JDBC, ADO y XQC Integración basada en archivos - admite archivos CSV, XML y JSON Integración basada en mensajes - admite FIX. RÁPIDO. Y FIXatdl Restricciones arquitectónicas Los puntos azules muestran las ubicaciones físicas donde se minimiza la latencia de la red y los puntos rojos muestran las ubicaciones físicas de los grandes intercambios financieros. Con el fin de maximizar el rendimiento del sistema de comercio algorítmico, se debe alojar el sistema en ubicaciones que minimizan la latencia de la red. Fuente: prensa abierta del MIT: dspace. mit. edu/handle/1721.1/6285 Las restricciones arquitectónicas son factores que limitan el rendimiento de la arquitectura que se está construyendo. Las dos limitaciones que voy a mencionar aquí son las restricciones físicas de la red, y las restricciones reguladoras. Las restricciones físicas de la red se colocan en un sistema como resultado de las pobres redes de telecomunicaciones. Para mitigar esta limitación, el sistema debe ser construido donde la latencia de red se minimiza. Otra forma de mitigar las restricciones de red es co-localizar el sistema de comercio algorítmico con el intercambio de mercado. Dicho esto, la decisión de co-localizar introduce restricciones adicionales de procesamiento y espacio. Las restricciones reglamentarias se introducen a través de leyes y reglamentos, que son en su mayoría de países y de intercambio específico. Este es un factor cada vez más importante en el diseño y la implementación de un sistema de negociación algorítmica porque el comercio algorítmico se está volviendo más regulado después del accidente del flash de 2010. Hablando en general, los ATs deben cumplir al menos las normas de la SEC sobre el cumplimiento e integridad del sistema (SCI), las directrices EMEA para los sistemas de negociación algorítmica, las normas de negociación algorítmica ISO9000 (AT9000) y las normas internacionales de información financiera (IFRS) . Conclusión Las arquitecturas algorítmicas de los sistemas comerciales se complican por los estrictos requisitos no funcionales que se esperan del sistema y por la amplia gama de requisitos reglamentarios y de conformidad que rigen el comercio automatizado. Debido a estas complejidades, se debe considerar cuidadosamente el diseño e implementación de la arquitectura del sistema. Al diseñar una arquitectura de código abierto de algoritmos comerciales espero señalar aquellos requisitos arquitectónicos que a menudo se pasan por alto en el inicio del diseño de tales sistemas. Es improbable que los requisitos identificados en este documento sean completos y evolucionen inevitablemente con el tiempo. La segunda parte de este artículo incluirá mi diseño para una arquitectura de software que cumpla con los requisitos mencionados anteriormente. Para obtener más información acerca de la negociación algorítmica, no dude en ponerse en contacto conmigo. Para descargar una copia de mi informe, haga clic aquí. Para obtener una lista completa de fuentes, consulte el informe Apéndice Los proveedores de servicios ATAAS incluyen, pero no están limitados a: Quantopian: los usuarios definen estrategias de negociación cuantitativas en Python y pueden volver a probarlas. Los usuarios también pueden ejecutar esas estrategias en los mercados en vivo. Quantopian recibió recientemente una inversión de 6,7 millones de dólares para ampliar sus servicios. EquaMetrics - usando los usuarios de RIZM construye visualmente nuevas estrategias de negociación algorítmicas, prueba de nuevo esas estrategias y ejecuta esas estrategias en los mercados en vivo. EquaMetrics anunció recientemente nuevos fondos para RIZM valuados en 4,5 millones de dólares. Corretajes: algunas corretajes permiten a los comerciantes crear bots comerciales que ejecutan automáticamente sus estrategias comerciales. TagsXP, Vista, Windows 7, Windows 8 Pentium 300 MHz (600 MHZ o superior recomendado) Se recomienda 256 MB o superior. 60 MB de espacio libre 56k dialup o mejor (recomendamos conexión de banda ancha como cable o DSL para el usuario de casa. Las conexiones de Internet inalámbricas no son compatibles ni recomendados para la actividad de comercio en vivo. Las conexiones de Internet inalámbricas no proporcionan un flujo continuo ininterrumpido de datos entre su Professional FX Trading Station y nuestra mesa de negociación. Una conexión física a Internet es muy recomendable.) Todas las categorías: Servicio al cliente Descargar Lanzamiento de software Plataformas Populares Acerca de FXCM Cuentas Forex Más recursos Siga con nosotros Inversión de alto riesgo Advertencia. La negociación de divisas y / o contratos por diferencias de margen conlleva un alto nivel de riesgo y puede no ser adecuado para todos los inversores. Existe la posibilidad de que usted podría sostener una pérdida en exceso de sus fondos depositados y por lo tanto, no debe especular con el capital que no puede permitirse el lujo de perder. Antes de decidir negociar los productos ofrecidos por FXCM usted debe considerar cuidadosamente sus objetivos, situación financiera, necesidades y nivel de experiencia. Usted debe ser consciente de todos los riesgos asociados con el comercio en margen. FXCM proporciona asesoramiento general que no tiene en cuenta sus objetivos, situación financiera o necesidades. El contenido de este sitio web no debe interpretarse como un consejo personal. FXCM recomienda consultar con un asesor financiero independiente. Haga clic aquí para leer la advertencia de riesgo completo. FXCM es un Comerciante de la Comisión de Futuros registrado y Comerciante de Divisas al por menor con la Commodity Futures Trading Commission y es miembro de la National Futures Association. NFA 0308179 Forex Capital Markets, LLC (FXCM LLC) es una subsidiaria operativa dentro del grupo de compañías FXCM (colectivamente, el Grupo FXCM). Todas las referencias en este sitio a FXCM se refieren al Grupo FXCM. Tenga en cuenta que la información de este sitio web está dirigida únicamente a clientes minoristas y que algunas de las representaciones aquí contenidas pueden no ser aplicables a los Participantes elegibles del contrato (es decir, a los clientes institucionales) según se define en la Ley de Intercambio de Mercancías 1 (a) (12). Copia de Copyright 2016 Forex Capital Markets. Todos los derechos reservados. Recomendamos las siguientes especificaciones mínimas para ejecutar Lightspeed Trader: Procesador: 2,4 GHz o superior (dual core o mejor) Memoria: 4 GB de RAM Sistema operativo: Windows XP o posterior, OSX 10.6 (Snow Leopard) o posterior Resolución: 1024 x 768 Disco duro: 300 MB de espacio libre Módem por cable o DSL con una velocidad de descarga de al menos 5 Mbps y una velocidad de carga de al menos 1 Mbps Comercio a través de Wi-Fi (Conexión de red inalámbrica) Para obtener el máximo rendimiento, recomendamos las siguientes actualizaciones: Procesador: 2,4 GHz o superior (quad core o superior) Memoria: 4 GB de RAM Sistema operativo: Windows 7 o posterior Cable Modem o DSL Con al menos 10 Mbps de velocidad de descarga y al menos 1 Mbps de velocidad de subida Lightspeed Gateway Nuestra plataforma de negociación automatizada tiene los siguientes requisitos de servidor: Procesador: 2 Intel Xeon E5504, 1.86Ghz, 4M Cache, Turbo, HT, 800MHz Max Mem (o más rápido) Memoria: 8 GB de RAM Unidad de disco duro: Al menos 2 unidades de disco duro Tarjetas de memoria: Mínimo de 2 tarjetas de interfaz de red Co-Ubicación: Disponible en el NASDAQ Data Center en Cataret, Nueva Jersey Pruebe la demostración
Comments
Post a Comment