Índice analítico[Ocultar][Mostrar]
Unha industria que interesa moito aos que buscan traballo é o comercio de divisas. As empresas de software reciben solicitudes de comerciantes de todo o mundo para proporcionar unha plataforma de negociación que poida avaliar de forma rápida e eficiente os datos sobre os aparellos de moedas.
Unha plataforma de negociación é un programa de software proporcionado a comerciantes e investimentos por determinadas organizacións financeiras, como bancos e corretaxes.
As plataformas comerciais permiten esencialmente que os investimentos e os comerciantes realicen ofertas e manteñan un ollo nas súas contas. Outras funcións que axudan aos investimentos a tomar decisións de investimento adoitan incluírse nos sistemas de negociación.
Citas en tempo real, gráficos interactivos, unha variedade de ferramentas gráficas, fontes de noticias en directo e investigación premium son algúns exemplos destas capacidades.
As plataformas tamén se poden deseñar para determinados mercados, como os de accións, moedas, opcións ou futuros.
Durante máis dunha década, os sistemas de negociación automatizados, tamén coñecidos como negociación algorítmica, ocuparon o centro da industria comercial.
Un "sistema de negociación", ás veces coñecido como "estratexia de negociación", non é máis que unha colección de regras que se aplican aos datos de entrada para proporcionar sinais de entrada e saída de compra/venda. A pesar de que crear unha estratexia comercial pode parecer sinxelo, non o é!
As mentes detrás dunha estratexia de negociación cuantitativa denomínanse "Quants" na área de negociación algorítmica, xa que desenvolver unha boa estratexia comercial require un amplo estudo cuantitativo.
O deseño fundamental dos sistemas de negociación automatizado sufriu modificacións substanciais durante os últimos dez anos e aínda está cambiando.
A industria do comercio algorítmico converteuse nun foco de desenvolvemento en tecnoloxías informáticas e de redes porque se fixo necesario que as empresas, en particular aquelas que utilizan sistemas de negociación de alta frecuencia, innovasen en tecnoloxía para competir no mundo do comercio algorítmico.
Discutiremos sobre a plataforma de negociación deseño do sistema neste artigo. As especificacións fundamentais para unha plataforma de negociación inclúen a súa arquitectura, protocolos e instrucións para crear o seu propio sistema de negociación automatizado.
Requisitos de software de negociación automatizada a nivel básico
A mellor solución é a que satisfaga completamente os requisitos do software. As principais especificacións do software de negociación automatizada son:
- Escalabilidade (capacidade do sistema para xestionar un volume crecente de solicitudes e carga de traballo);
- Multiprocesamento e excelente rendemento;
- Seguridade e seguridade (como reacciona ante as infraccións ou asaltos que se producen de súpeto e protexe contra a entrada ilegal);
- Interoperabilidade (a capacidade dun sistema para interactuar con outros sistemas);
- Fiabilidade (como resolve fallos e funciona a pesar dos problemas).
Os sistemas de comercio algorítmico requiren un traballo moi cualificado e unha atención coidadosa. É máis fácil comprender os requisitos funcionais do sistema cando hai requisitos non funcionais claros. Serven como estándares reitores para os equipos de desenvolvemento de software para establecer e definir a calidade dun produto.
As características funcionais da plataforma de negociación inclúen
O soporte exitoso de varios métodos de pago, os servizos de hospedaxe na nube seguros, as potentes ferramentas de análise de datos, a xestión de riscos, as cotizacións precisas e os tipos de gráficos axeitados son necesidades funcionais importantes.
Os seguintes son algúns atributos fundamentais das plataformas de negociación automatizadas aos que todos os comerciantes prestan moita atención:
Panel de control que mostra datos estatísticos
Co propósito de realizar un exame simultáneo e en tempo real dos tipos de cambio en varios fusos horarios, a plataforma debe realizar actualizacións continuas, operar datos de moitos gráficos e operar follas de prezos.
Identificación
O método de verificación rápido pero fiable primeiro crea a imaxe dunha plataforma segura e dun esforzo de enxeñería de elite.
O software de negociación pode admitir o acceso desde varias contas, de xeito similar ás plataformas comerciais de código aberto con autenticación de dous factores (usando SMS ou Google Authenticator, por exemplo), pero tamén pode ter un sistema con acceso habilitado a través de correo electrónico, número de teléfono ou outro formas só para un pequeno grupo de comerciantes.
Noticias
Antes de tomar calquera decisión financeira, é fundamental investigar. Para evitar erros provocados pola ignorancia, os comerciantes poden beneficiarse de noticias convenientes, visións xerais pertinentes e coñecementos sobre os mercados de divisas do mundo, todos eles dispoñibles inmediatamente nas súas plataformas de negociación.
Funcionalidade conveniente para administradores e usuarios
Neste sistema, a capacidade de xestionar todo rapidamente cun só clic é esencial. Isto inclúe a xestión de transaccións, pedidos pendentes e enviados, contas persoais, indicacións de progreso dos pedidos e solicitudes dos clientes.
Isto permite a toma de decisións no menor tempo posible e garante o acceso continuo á información vital.
Usando notificacións push
Os usuarios prevén que as plataformas comerciais estarán accesibles durante todo o día e serán informados de calquera problema de seguridade ou dos cambios máis recentes.
Podes manterte informado con notificacións personalizables xa que a plataforma de negociación rastrexa eventos económicos, flutuacións de prezos, desenvolvemento do mercado, indicadores técnicos, etc., e envía actualizacións sobre a posición das túas accións.
Saídas e pagamentos
Esta función é necesaria para realizar actividades comerciais, seguir o movemento de diñeiro en efectivo e retirar cartos da túa conta persoal de forma rápida e segura mediante unha tarxeta de crédito, PayPal ou unha transferencia bancaria sinxela.
Cando a súa solicitude de retirada remate de procesarse, será notificado.
A arquitectura do sistema automatizado de negociación
O motor que realiza a lóxica da toma de decisións na plataforma de negociación automatizada, tamén coñecido como motor de 'Procesamento de eventos complexos' ou CEP, estará dentro da aplicación ao servidor.
A capa de aplicación é esencialmente a interface co usuario para a observación e subministración de parámetros ao CEP. Aínda que a capa de aplicación é principalmente unha vista, algunhas comprobacións de risco (que agora se converteron en operacións que consumen recursos debido ao problema da escala) pódense descargar na capa de aplicación, especialmente aquelas que implican a cordura das entradas do usuario, como os erros dos dedos gordos.
Unha situación intrigante resulta do problema de escalabilidade nun sistema de negociación automatizado.
Imaxinemos que un evento de datos de mercado único está a ser procesado por 100 lóxicas separadas (como se comentou no exemplo anterior). Para a maioría das 100 unidades lóxicas, digamos o cálculo de gregos para opcións, podería haber compoñentes comúns de cálculos complexos que se deben realizar.
O cálculo exacto idéntico sería realizado por cada unidade se cada lóxica funcionase de forma independente, o que desperdiciaría recursos de procesamento.
Os cálculos redundantes complexos adoitan dividirse en diferentes motores de cálculo que entregan os gregos como entrada ao CEP no sistema de negociación automatizado para maximizar a redundancia de cálculo.
Actualmente, un sistema de xestión de riscos (RMS) separado dentro do xestor de pedidos (OM) realiza as avaliacións de risco restantes nun sistema de negociación automatizado pouco antes de lanzar unha orde.
Dado que só hai un sistema RMS para xestionar o risco en todas as unidades/estratexias lóxicas, anteriormente 100 comerciantes separados controlaban o seu risco. Isto débese ao problema da escala.
Non obstante, certas avaliacións de risco poden ser exclusivas de estratexias particulares, mentres que outras poden ter que realizarse en todos os métodos.
En consecuencia, o propio RMS consiste en RMS global (GRMS) e RMS a nivel de estratexia (SLRMS). O SLRMS e o GRMS tamén se podían ver a través dunha interface de usuario (UI).
Imos agora máis nos compoñentes do servidor.
Adaptador de mercado
Exchange ou calquera outro provedor de datos do mercado transmite datos no seu formato. Ese idioma pode ser entendido ou non polo teu sistema de comercio algorítmico.
Exchange ofrécelle acceso a unha API (Application Design Interface) que pode usar para programar e construír o seu propio adaptador para transformar o formato de datos nun formato que o seu sistema poida comprender.
Motor de procesamento de eventos complexos
O cerebro do teu enfoque reside nesta sección. Unha vez que teñas os datos, debes utilizalos de acordo co teu plan, que require facer diferentes cálculos estatísticos, facer comparacións con datos pasados e tomar decisións que levarán á creación de pedidos.
Este bloque constrúese usando o tipo de pedido e o importe da orde. Dito simplemente, un evento complexo é unha colección de eventos entrantes. Estes consisten en noticias, movementos do mercado, tendencias da bolsa, etc.
Completar rapidamente operacións de cálculo en eventos complicados coñécese como procesamento de eventos complexos. As operacións dun sistema de negociación automatizado poden implicar detectar patróns complicados, crear correlacións e establecer conexións como a causalidade e o tempo entre calquera información entrante.
Sistema de enrutamento de pedidos
Usando as API dadas polo intercambio, a orde cífrase nun idioma que o intercambio pode comprender. O intercambio ofrece API nativas e API FIX, dous tipos diferentes de API.
As API nativas están deseñadas especificamente para un intercambio determinado. Un conxunto de directrices coñecidas como protocolo FIX (Intercambio de información financeira) é utilizada por varias bolsas para facilitar e mellorar o fluxo de datos nos mercados de seguridade.
Na parte posterior a esta, explicaremos máis sobre FIX. Se unha economía está aberta, as persoas poden enviar pedidos a través dun sistema de negociación automatizado a bolsas ou non, e ORP debería poder xestionar pedidos en moitas direccións.
Aquí, queremos salientar que o sinal de orde pode ser realizado manualmente por unha persoa ou automaticamente. A sección final é o que chamamos "sistema de negociación automatizado".
O módulo de xestor de pedidos inclúe varias técnicas de execución que realizan as ordes de compra/venda de acordo cunha lóxica preestablecida.
Xestión de Risco
Dado que os sistemas de negociación automatizados funcionan sen a intervención humana, son necesarias análises de risco rigorosas para garantir que os sistemas de negociación funcionan como se pretende.
A mala xestión dos riscos ou a falta de comprobacións de risco para unha empresa cuantitativa pode provocar importantes perdas irrecuperables. Como resultado, calquera sistema de negociación automatizado debe ter un sistema de xestión de riscos (RMS).
Desenvolvemento de protocolos para sistemas automatizados de negociación
Para conectarse a varios destinos desde un único servidor, o que foi posible grazas á capacidade da arquitectura de escalar a moitas estratexias por servidor, foi necesario.
Para transmitir pedidos a varios destinos e recibir datos de numerosos intercambios, o xestor de pedidos, polo tanto, albergaba unha serie de adaptadores.
O papel de cada adaptador é servir de intérprete entre o protocolo de comunicación interna do sistema e o protocolo que entende a central. Así, serían necesarios varios adaptadores para varios intercambios.
Dado que cada intercambio ten un protocolo adaptado ás capacidades que ofrece, é necesario crear un novo adaptador e conectarse á arquitectura para engadir un novo intercambio ao sistema de negociación automatizado.
Desenvolvéronse protocolos estándar para evitar esta dor de cabeza da inserción do adaptador. O protocolo FIX é o máis coñecido de todos.
O tempo de saída ao mercado para conectarse cun novo destino redúcese significativamente, o que non só permite conectarse a varios destinos en movemento.
O sistema de negociación automatizado pode interactuar facilmente con outros provedores para realizar análises ou fontes de datos de mercado grazas á existencia de protocolos comúns.
Como resultado, o mercado vólvese extremadamente eficiente porque xa non existe unha restrición á integración cunha nova localización ou vendedor.
Ademais, a simulación faise moi sinxela xa que para conectarse a un simulador mediante o protocolo FIX é necesario emitir pedidos e recibir datos do mercado real.
O propio simulador pódese crear internamente ou mercarse dunha fonte diferente. Do mesmo xeito que os datos do mercado en directo, os conxuntos de datos gravados tamén se poden reproducir grazas a adaptadores independentes da fonte dos datos.
Arquitecturas emerxentes de baixa latencia
As estratexias agora poden avaliar enormes volumes de datos en tempo real e tomar decisións comerciais rápidas grazas aos elementos fundamentais dun sistema de negociación automatizado.
Como resultado do desenvolvemento de protocolos de comunicación estándar da industria como FIX, agora é máis fácil construír unha mesa de negociación algorítmica ou un sistema de negociación automatizado, o que aumentou a competencia no mercado de negociación algorítmica.
A énfase cambiou a reducir a latencia para tomar decisións a medida que os servidores gañaban máis memoria e velocidades de reloxo máis rápidas.
A redución da latencia foi necesaria ao longo do tempo por varias razóns, entre elas:
- Só nun ambiente de baixa latencia a técnica ten sentido.
- A competición elimínate se non es o suficientemente rápido na supervivencia do xogo máis apto
A colocación converteuse nunha necesidade absoluta nun sistema de comercio automatizado para calquera método de alta frecuencia que implique un único destino.
Pero os sistemas multidestino esixen unha preparación meticulosa. Antes de facer tal elección, hai que ter en conta variables como a duración do tempo de resposta do pedido do destino e como se compara coa duración do ping entre os dous destinos.
Para reducir a latencia total dun sistema de negociación automatizado, a latencia da rede adoita ser o primeiro que hai que abordar. Pero a arquitectura tamén se pode mellorar de moitas outras formas.
Latencia de procesamento de rede
A latencia de procesamento da rede é o atraso que introducen os enrutadores, conmutadores, etc. O número de saltos que leva un paquete para moverse do punto A ao punto B sería o seguinte nivel de optimización no deseño dun sistema de negociación automatizado.
Un salto descríbese como unha sección do camiño entre a orixe dun paquete e o destino onde non transita por un dispositivo físico, como un enrutador ou un conmutador.
O que denominamos microrráfagas tamén pode ter un impacto na latencia das operacións da rede.
Un aumento rápido no ritmo de transmisión de datos que pode ou non afectar a taxa media de transferencia de datos denomínase microráfaga.
Dado que os sistemas de negociación automatizados están baseados en regras, todos responderán uniformemente á mesma ocorrencia. Pode producirse unha microrráfaga de transferencia de datos entre os participantes e o destino como resultado de que varios sistemas participantes envíen comandos á vez.
Latencia da aplicación
A latencia da aplicación dun sistema de negociación automatizado é unha medida do tempo que leva procesar unha aplicación. Isto depende do número de paquetes, do procesamento dedicado á lóxica da aplicación, da complexidade do cálculo empregado, da eficacia da programación, etc.
O sistema normalmente tería menos atraso de aplicación a medida que aumentaba o seu número de procesadores. Con frecuencias de reloxo máis altas, o mesmo ocorre.
Moitos sistemas de negociación automatizados se benefician de asignar núcleos de CPU a partes críticas do programa, como a lóxica da estratexia, por exemplo. Ao facelo, o procedemento non engade o atraso que resulta do cambio de núcleos.
De xeito similar a isto, se se programase o enfoque dun sistema de negociación automatizado tendo en conta os tamaños da caché e a proximidade do acceso á memoria, habería varios accesos á memoria caché, reducindo aínda máis a latencia.
Moitos sistemas fan isto optimizando o código para a arquitectura particular do procesador, o que se fai usando linguaxes de programación de moi baixo nivel.
Usando matrices de portas totalmente programables, algunhas empresas incluso chegaron a gravar cálculos complicados en hardware (FPGA).
Probas
As probas, que son o acto de identificar os fallos das aplicacións de software, son imposibles de infravalorar, especialmente en Fintech. Debido á posibilidade de perdas financeiras, a tecnoloxía financeira non pode permitirse o luxo de ter fallos.
Cantos máis defectos poidan identificar os enxeñeiros de garantía de calidade, máis probable é que o produto acabado funcione correctamente. Dependendo da empresa que desenvolve a plataforma de negociación ou das necesidades do cliente, a estrutura do proceso de proba inclúe:
A base das probas funcionais é crear entradas e analizar os resultados. Co uso de tarxetas falsas, execútanse casos de proba de aplicacións financeiras. Estas tarxetas buscan mellorar a fiabilidade, a eficiencia e a precisión dos pagos.
Descubrir a velocidade, escalabilidade e estabilidade dun sistema realízase mediante probas de rendemento. Avalíase a velocidade dunha aplicación para comprender a rapidez con que responde e a súa escalabilidade indica cantos usuarios pode soportar simultaneamente sen fallar.
Ademais, a estabilidade demostra se a aplicación funciona correctamente baixo varias cargas ou se hai posibles fallos.
Pode estar máis aló das capacidades dun único comerciante polo miúdo para construír un sistema de negociación totalmente automatizado. Os sistemas de negociación automatizados, que se ofrecen nos mercados por subscrición, son unha opción para os comerciantes que desexen investigar a técnica algorítmica de negociación.
Construír os teus propios sistemas de negociación autónomos
Os comerciantes principiantes poden desenvolver as súas propias técnicas de negociación algorítmica e participar no mercado exitoso. Como esquema xeral, as etapas que se indican a continuación pódense usar para crear unha estratexia de negociación algorítmica:
- Crea un concepto de negociación que creas que sería exitoso en mercados activos usando a túa imaxinación ou un método. O concepto pódese derivar das túas propias observacións de mercado, libros de negociación, artigos académicos, blogs comerciais, foros comerciais ou calquera outra fonte.
- Recolle a información necesaria: necesitarías datos históricos para probar a túa hipótese. Esta información está dispoñible en provedores de datos de pago ou sitios web como Google Finance.
- Escribir un plan require o uso de ferramentas como Excel, Python ou programación R. Unha vez que teñas os datos, podes comezar a codificar o teu enfoque.
- Probar o teu concepto de negociación con datos históricos despois de que fose codificado chámase proba retrospectiva do teu enfoque. Backtesting implica a optimización da entrada, o establecemento de obxectivos de beneficio e ordes de stop-loss, tamaño de posición e outras tarefas relacionadas.
- Negociar en papel a súa estratexia: despois da fase de proba retrospectiva, é necesario negociar en papel a súa estratexia. Isto incluiría probar o seu plan mediante un simulador de simulación de mercado. Para o método de negociación en papel, hai corredores que ofrecen unha plataforma de negociación algorítmica.
- Se o teu enfoque é lucrativo despois do comercio en papel, podes implementalo en situacións do mundo real. Podes crear unha conta de negociación cun corredor de confianza que ofreza negociación algorítmica.
Cada ano que pasa, hai máis bolsas que permiten o comercio algorítmico tanto para comerciantes profesionais como para comerciantes polo miúdo, e cada vez son máis os comerciantes que utilizan o comercio algorítmico.
Conclusión
Este foi un artigo completo sobre unha arquitectura de sistema de comercio automatizado que estamos seguros que proporcionou unha comprensión moi perspicaz dos compoñentes implicados, así como dos moitos obstáculos que os desenvolvedores de arquitectura deben manexar/superar para deseñar un sistema de comercio automatizado forte.
Fixen o posible para darche unha visión xeral do sistema de negociación automática, pero hai moito máis abaixo debaixo do capó. Espero que este material sexa beneficioso e o faga un bo uso.
Deixe unha resposta