El lenguaje de definición de negociación algorítmica FIX , más conocido como FIXatdl , es un estándar para el intercambio de metainformación necesaria para permitir la actividad comercial algorítmica dentro de los mercados financieros. Funciona en conjunto con el protocolo de intercambio de información financiera (FIX), que es la lengua franca del comercio electrónico en el mercado de valores .
Fondo
Antes de mediados de los noventa, prácticamente todas las transacciones de valores se realizaban por teléfono, pero con la llegada de FIX, las transacciones se trasladaron de manera constante a medios electrónicos. El protocolo FIX se utiliza para comunicarse entre los sistemas de gestión de pedidos (OMS) del lado de la venta y del lado de la compra para intercambiar órdenes e información de ejecución de órdenes sin intervención humana, utilizando mensajes estandarizados y flujos de trabajo definidos por el protocolo. Inicialmente, las empresas del lado de la venta solo proporcionaban acceso a sus 'mesas de negociación' a través de FIX, lo que significaba que una vez que una orden llegaba al corredor del lado de la venta, era manejada por un comerciante humano, al menos al comienzo de su ciclo de vida. Posteriormente, las empresas vendedoras comenzaron a ofrecer acceso directo a través de FIX a las bolsas / mercados de los que eran miembros; esto se conoce como acceso directo al mercado (DMA). En este momento, muchas empresas del lado de la venta tenían sus propios sistemas patentados para comerciar automáticamente en el mercado, utilizando estrategias de negociación algorítmica , y con el tiempo empezaron a ver que ofrecer acceso a estas estrategias comerciales al lado de la compra era una forma de atraer negocio y aumentar los ingresos.
Si bien FIX es un protocolo extensible, surgieron dos desafíos como resultado de que las empresas del lado de la venta ofrecieran acceso a sus estrategias de negociación algorítmica a través de FIX. La primera era que cada estrategia del lado de la venta tenía sus propios parámetros que debían incluirse como parte de la orden, por lo que cada empresa terminó requiriendo un conjunto diferente de campos (conocidos en FIX como "etiquetas") para ser incluidos en el FIX. mensaje. Esto hizo la vida muy difícil para los compradores, y más particularmente para sus proveedores, ya que agregar nuevos algoritmos a sus sistemas comerciales y administrar todas las diferentes combinaciones de etiquetas se convirtió en una sobrecarga significativa para sus operaciones de desarrollo.
El segundo problema para el mercado era que cada empresa del lado de la venta tenía una forma específica en la que deseaba que se mostraran sus algoritmos en el OMS del lado de la compra, con controles en la interfaz de usuario dispuestos de manera lógica para facilitar la entrada de pedidos. Una vez más, esto resultó ser un desafío para los proveedores de sistemas de compra, ya que cada nueva pantalla para cada corredor de venta requería un esfuerzo de desarrollo y prueba dedicado.
Historia
Para abordar estos problemas, FIX Protocol Limited estableció el Grupo de trabajo de comercio algorítmico en el tercer trimestre de 2004. [1] El enfoque inicial del grupo fue resolver el primero de estos problemas, lo que hizo mediante la definición de un nuevo grupo de campos, StrategyParametersGrp, compuesto por etiquetas FIX 957 a 960: estas etiquetas se introdujeron formalmente con el lanzamiento de FIX 5.0 en el cuarto trimestre de 2006. Al permitir que las empresas del lado de la venta incluyan sus campos de propiedad en una estructura repetida de pares nombre-valor, OMS proveedores para definir estructuras de mensajes FIX específicas para cada destino comercial del lado de la venta.
Esta solución no se adoptó ampliamente, en parte debido a la penetración limitada de FIX 5.0 y en parte debido al hecho de que las empresas ya tenían implementaciones funcionales en el mercado que no estaban dispuestas a cambiar sin una buena causa. Quizás lo más importante es que no logró resolver lo que era el problema más importante para el mercado, la complejidad para los proveedores de compra resultante de la falta de estandarización.
La idea de utilizar una estructura XML para describir la presentación de las interfaces de usuario del algoritmo y los parámetros que las acompañan fue sugerida por primera vez dentro del grupo de trabajo por Daniel Clayden, luego por JP Morgan Chase en una publicación en el foro de 2005. [2] Los miembros del grupo de trabajo desarrollaron esta idea durante 2006 y en enero de 2007 invitaron a una participación más amplia de la industria en un taller para revisar sus ideas. [3] Finalmente se elaboró una especificación y comenzó a probarse en versión beta en julio de 2007. [4] Esta especificación se convirtió en FIXatdl 1.0, que fue aprobada por el Comité Técnico Global (GTC) de FPL el 28 de marzo de 2008.
A pesar de cierto entusiasmo inicial, la versión 1.0 en general tuvo una recepción mediocre en el mercado. Algunos proveedores vieron la oportunidad de proporcionar servicios en torno al estándar, como ULLINK (ahora parte de Itiviti) con su publicación y gestión de algoritmos y la herramienta UL AMS, pero aunque los principales proveedores de OMS estaban irritados por la sobrecarga de implementar nuevos algoritmos de intermediarios, tenían crecido para disfrutar de los ingresos que podrían obtener tanto de sus clientes como de los corredores interesados en llevar sus algoritmos a los escritorios del lado de la compra.
Aunque la versión 1.0 fue un gran paso adelante, tenía algunas limitaciones importantes. En particular, la definición de los datos a transmitir y su presentación en la interfaz de usuario estaban estrechamente unidas, lo que limitaba la flexibilidad que tenían los corredores de venta al definir sus algoritmos. La especificación 1.0 también ofrecía un control insuficiente en términos de diseños de interfaz de usuario. El grupo de trabajo se propuso abordar estas limitaciones en lo que se convertiría en la Versión 1.1 de la especificación. El primer cambio importante fue dividir la definición del contenido de los datos de la presentación, definiendo lo que se conoce como un "Contrato de datos" separado formado por los parámetros del algoritmo, sus tipos de datos e información de apoyo, como valores mínimos y máximos. Luego, una sección separada del documento XML se ocupa del diseño de la interfaz de usuario, qué controles usar para cada parámetro y dónde colocarlos en la pantalla. Se proporciona un esquema XSD para garantizar que los archivos FIXatdl sean válidos y estén bien formados.
La versión 1.1 de FIXatdl fue aprobada preliminarmente por el GTC el 9 de febrero de 2010, cuando entró en un período de comentarios públicos, y finalmente fue aprobada el 3 de marzo de 2010. La especificación se introdujo formalmente en el mercado en la conferencia de Europa, Medio Oriente y África de FPL. el 23 de marzo de 2010. [5]
Algunos trabajos iniciales se llevaron a cabo en una Versión 1.2 [6] del estándar, pero la falta de interés de la industria en acomodar más cambios significó que el estándar permaneciera en la Versión 1.1.
Estructura del documento
Un documento FIXatdl puede contener una o más definiciones de estrategia. Dentro de una definición de estrategia, hay cuatro secciones principales como sigue:
- Sección de metadatos que define a qué regiones geográficas, mercados (bolsas) y clases de activos se aplica la estrategia.
- Sección de parámetros, que enumera cada uno de los parámetros utilizados por la estrategia, sus tipos de datos, restricciones (por ejemplo, valores mínimos y máximos) y cómo deben representarse en el mensaje FIX resultante
- La sección StrategyLayout que define los controles de la interfaz de usuario que se utilizarán para esta estrategia, cómo se deben distribuir en la pantalla y cómo se asignan a los parámetros descritos en la sección anterior del documento.
- La sección StrategyEdit que describe las reglas de validación que se aplicarán; normalmente, serán validaciones de campo cruzado.
Los documentos FIXatdl deben validar contra el conjunto de esquemas XSD proporcionados por FPL. Estos esquemas están organizados en las siguientes cuatro categorías:
- Núcleo (define el contenido de los datos, los tipos de datos, las restricciones, etc.)
- Disposición (define los controles que se pueden utilizar y cómo se distribuyen)
- Validación (autoexplicativo)
- Flujo (permite habilitar / deshabilitar, ocultar / mostrar y actualizar los controles, según el estado o el contenido de otros controles)
Capacidades de la interfaz de usuario
La versión 1.1 admite 14 controles de interfaz de usuario diferentes, que se pueden agrupar de la siguiente manera:
- Etiquetas
- Campos de entrada de texto (a menudo denominados cuadros de texto)
- Casillas de verificación y botones de opción, tanto individualmente como en listas
- Cuadros de lista, tanto de selección única como de selección múltiple
- Listas desplegables, tanto editables como no editables
- Controles de reloj, para entrada de fecha / hora
- Deslizadores, para seleccionar una de las pocas configuraciones
- Hilanderos numéricos, tanto simples como dobles para números enteros y de punto flotante respectivamente
Los controles se distribuyen mediante una jerarquía de paneles (denominados StrategyPanels), cada uno de los cuales puede tener una orientación horizontal o vertical. La imagen de la derecha muestra cómo los elementos XML se refieren a los paneles individuales dentro de un diseño determinado.
Adopción
A diferencia de la versión anterior, la versión 1.1 fue ampliamente aceptada y adoptada por la industria de valores. Incluso a finales de 2009, ya había empresas que utilizaban el estándar 1.1, a pesar de su estado previo al lanzamiento. Ejemplos de empresas que apoyan el estándar FIXatdl incluyen:
- Sistema de gestión de ejecución RealTick, de Eze Software Group [7]
- Módulo Administrador de pedidos de SimCorp Dimension [8]
- Itiviti, con su sistema de gestión de algoritmos, UL AMS
- El sistema de gestión de ejecución de Portware [9]
- RapidAddition, con su editor FIXatdl
- Assimilate Technology, con su producto Visual FIX
- Cornerstone Technology , con su servicio de consultoría empaquetado FIXatdl Jump-Start, [10] talleres de capacitación públicos FIXatdl [11] y servicio gratuito de validación FIXatdl , AtdlTools
También hay implementaciones de código abierto Java y .NET , atdl4j y Atdl4net respectivamente, que son compatibles con la versión 1.1.
Otros estándares de interfaz de usuario
A menudo se ha hecho la pregunta, ¿por qué FIXatdl no usa un estándar de interfaz de usuario estándar, como XUL de Mozilla , Windows Presentation Foundation de Microsoft o Apache Flex ? Esta es una pregunta válida, pero parece que los autores de la especificación querían mantener una independencia completa de la plataforma y la adopción de cualquier plataforma podría dañar esta propuesta. Si bien carece del grado de sofisticación de algunas de estas plataformas, la especificación actual proporciona un grado aceptable de control en términos de diseño de la interfaz de usuario sin ser excesivamente restrictiva. Queda por ver cómo se desarrollará esta elección de diseño, y parece probable que se necesite un mayor refinamiento de esta parte de la especificación a medida que crece la adopción.
Ver también
Referencias
- ↑ Algorithmic Trading & FIX: Extendiendo el alcance de FIX, FPL, noviembre de 2004: http://www.jandj.com/presentations/wed Wednesday/ AlgoTradingFIX.pdf Archivado 2011-07-13 en Wayback Machine.
- ^ Publicación original de Daniel Clayden sobre el concepto de lo que se convirtió en FIXatdl: http://www.fixprotocol.org/discuss/read/d3b2124e Archivado el 22 de mayo de 2010en Wayback Machine.
- ^ Convocatoria de participación de FPL, enero de 2007: http://www.fixprotocol.org/documents/1994/Algo%20workshop%20details_20070108.doc [ enlace muerto permanente ]
- ^ FPL anuncia que el lenguaje de definición de comercio algorítmico FIX entra en la fase beta, comercio automatizado, julio de 2007: http://www.automatedtrader.net/news/algorithmic-trading-news/756/fpl-announces-fix-algorithmic-trading-definition- el lenguaje entra en fase beta
- ^ FIXatdl en la agenda de la Conferencia del Protocolo FIX EMEA 2010: http://fixprotocol.org/fplevents/emea_2010/program.html Archivado el 7 de marzo de 2010en Wayback Machine.
- ^ Alcance del trabajo para FIXatdl V1.2 https://www.fixtrading.org/packages/fixatdl-scope-of-work/?wpdmdl=53695&masterkey=5cdeb86ec9a4a
- ^ RealTick agrega los últimos algoritmos de Deutsche Bank: http://www.automatedtrader.net/news/ems-news/26664/realtick-adds-latest-deutsche-bank-algorithms
- ^ Nordea Investment Management comienza a funcionar con una nueva funcionalidad de estrategia de corredor en SimCorp Dimension https://www.simcorp.com/en/news-and-announcements/2013/05/nordea-investment-management-goes-live-with-new- funcionalidad-estrategia-corredor-en-dimensión-simcorp
- ^ Adopción de Portware de FIXatdl: http://www.portware.com/flash/files/news/pressreleases/download/Portware%20FIXatdl%20FINAL.pdf Archivado 2011-07-15 en Wayback Machine
- ^ La tecnología Cornerstone ayuda a las empresas a acelerar la preparación de FIXatdl http://www.prweb.com/releases/FIXatdl/jump-start/prweb3765284.htm
- ^ Cornerstone Technology anuncia los primeros cursos de formación públicos de FIXatdl http://www.prweb.com/releases/FIXatdl/jump-start/prweb3765284.htm
enlaces externos
- Especificación formal en el sitio web oficial
- El grupo de trabajo que desarrolla y mantiene FIXatdl (abierto a todos, pero se requiere registro)
- Tablero de discusión y foro de soporte (abierto para leer, registro gratuito para publicar)
- Vídeo de introducción de FIXatdl
- FIXatdl: Cambiando el panorama del comercio de estrategia , FIXGlobal, edición de diciembre de 2009 / enero de 2010.