Como as abordagens para o desenvolvimento de terminais para negociação na bolsa estão mudando: 4 tendências de 2018



Na ITI Capital, desenvolvemos nossas próprias ferramentas para negociar em moedas russas e estrangeiras há mais de 10 anos. Durante esse período, os requisitos para produtos similares e abordagens para seu desenvolvimento mudaram repetidamente. Hoje falaremos sobre as principais tendências do ano atual, usando como ilustração as mudanças que ocorreram recentemente em nosso terminal SMARTx .

Solicitação de conveniência


Atualmente, a concorrência no campo de terminais comerciais é extremamente acirrada - os principais produtos de várias empresas vêm se desenvolvendo há muitos anos, portanto "cresceram" com uma funcionalidade séria e difícil de expandir significativamente. Novos recursos que apareceram em um programa são rapidamente implementados por desenvolvedores de outros sistemas.

Como resultado, os usuários prestam mais atenção à conveniência e velocidade gerais do produto, bem como à qualidade da interface. Se há vários anos o objetivo principal era implementar o maior número possível de funções para negociação na bolsa, agora um pedido de conveniência e belas interfaces apareceu. Ao mesmo tempo, mesmo a partir de software especializado como um terminal de negociação, os usuários aguardam uma mecânica de interação, familiarizada com o trabalho com programas de "uso geral", como navegadores.

Portanto, em nosso terminal SMARTx, percebemos a possibilidade de adicionar áreas de trabalho adicionais com diferentes layouts de janelas e tabelas na forma de guias "como em um navegador" - este é o primeiro passo para um redesenho de interface em larga escala.



Guias no espaço de trabalho semelhante ao navegador

Complexidade se torna simples


Em um dos materiais anteriores, examinamos as tendências no campo das interfaces dos terminais móveis de negociação . Um dos projetos mais notáveis ​​nessa área é a inicialização do Robinhood, que permite fazer transações em trocas usando fitas e furtos em um aplicativo extremamente simples e conveniente. Recentemente, uma solicitação para tal simplificação foi notada no segmento de software de negociação para computadores de mesa.

Na versão inicial do terminal, fornecemos uma janela para inserir um aplicativo para uma compra ou venda, no qual era possível definir vários parâmetros de uma transação futura:



Janela de entrada estendida do aplicativo

No entanto, com o tempo, ficou claro que, para muitos usuários, muitas informações não são necessárias no estágio do aplicativo e todas as necessidades são reduzidas, de fato, aos botões "comprar" e "vender". Eu tive que fazer uma versão simplificada desta janela:



Janela de entrada do aplicativo simplificada

Além disso, ao negociar através do terminal SMARTx, é possível proteger posições já abertas com ordens de parada (elas permitem, por exemplo, vender ações automaticamente quando um determinado preço é atingido - isso permite garantir lucro ou limitar a perda na transação).

Anteriormente, essa função também era implementada bastante difícil - as configurações para essas transações eram definidas em um dos menus detalhados do programa. A idéia era que simplificasse a submissão de pedidos, mas na prática é mais fácil para os usuários controlar todos os parâmetros com as mãos, pois eles geralmente mudam. Como resultado, esta função também foi ajustada e simplificada.

Quanto mais dados, melhor.


Não é o momento mais óbvio, mas o desejo dos usuários por simplicidade e conveniência não significa, de maneira alguma, uma redução no fluxo de dados exibidos no programa. Pelo contrário, opções mais flexíveis para configurar a área de trabalho estimulam o desejo do usuário de baixar o máximo possível de várias informações de negociação em cada guia.

Por exemplo, nas versões anteriores do nosso terminal, era possível criar apenas uma janela de cotação - essa é uma das janelas mais pesadas, pois apresenta uma enorme quantidade de dados sobre várias ações, futuros e outros instrumentos. Para cada um deles, o programa bombeia várias dezenas de megabytes de dados e pode haver muitas ferramentas abertas.



Tabela de cotações de terminal

No entanto, o pedido de introdução da possibilidade de abertura de muitas tabelas de cotações foi um dos mais populares, sendo realizado com o tempo. Os usuários tiveram a oportunidade de criar várias janelas de cotação (bem como janelas com dados sobre status do portfólio, pedidos, negócios e posições em aberto). Um plugin especial também foi desenvolvido.

O desempenho é muito importante


O ponto decorrente do anterior é que os requisitos de desempenho dos terminais comerciais estão crescendo ano a ano. Já falamos sobre como novos mecanismos para aumentar o desempenho do SMARTx estão em uso. Entre os "recursos" introduzidos anteriormente estavam:

  • Desenho atrasado de tabelas e gráficos - eles são atualizados quando novos dados chegam e depois que o encadeamento principal é liberado do processamento da fila de mensagens.
  • Filtrando fluxos de dados carregados - com o aumento da atividade de mercado, o terminal aprendeu a "descartar" dados desatualizados e exibir apenas as informações mais relevantes.
  • Tráfego de memória reduzido - criamos nosso próprio gerenciamento de memória para alterar e atualizar objetos e coleções com frequência. Como resultado, foi possível reduzir o número de coletas de lixo durante a operação do terminal; como resultado, o terminal não congela e pode funcionar sem reiniciar por tempo ilimitado, sem aumentar a quantidade de memória consumida.



Teste de desempenho ao abrir um grande número de gráficos no terminal

No entanto, apesar de todas essas inovações, os problemas permaneceram. Por exemplo, apenas uma versão de 32 bits do terminal foi criada originalmente - e mesmo nos sistemas operacionais de 64 bits funcionou. No entanto, com o tempo, ficou claro que essa situação não é adequada para todos os clientes.

Entre nossos usuários, há muitos que usam robôs de negociação e ferramentas de negociação automatizadas, e o terminal para eles serve como uma ferramenta para controlar a situação do mercado. Para esses negociadores, o número de pedidos e transações pode ser na casa dos milhares e até dezenas de milhares por dia, enquanto há uma tendência para aumentar os volumes de negociação. Ao mesmo tempo, em sistemas de 32 bits, há uma restrição na memória consumida pelo aplicativo, portanto, com um grande número de transações e pedidos, em algum momento o terminal simplesmente começou a trabalhar extremamente devagar e "travou". Para resolver esse problema, tivemos que redesenhar a plataforma e criar uma versão de 64 bits do SMARTx.

Conclusão


A negociação na bolsa é um nicho bastante conservador, apesar de toda a sua eficácia tecnológica. Existem exemplos de produtos icônicos que, apesar da interface não tão moderna, permanecem extremamente populares devido ao conjunto exclusivo de dados fornecidos (por exemplo, o terminal Bloomberg ).

No entanto, com o tempo, os usuários desejam trabalhar com ferramentas mais próximas dos programas e serviços que usam constantemente - como os mesmos navegadores. Isso significa que os desenvolvedores dos terminais de negociação terão que continuar pensando em como tornar o programa fácil, bonito e rápido e, ao mesmo tempo, incluir o máximo de informações úteis nele.

Outros materiais relacionados ao mercado financeiro e de ações da ITI Capital :


Source: https://habr.com/ru/post/pt416553/


All Articles