Documento: Gol 5.0 whitepaper
publicado em 01/09/02 por omar reis <omar@enfoque.com.br>


1- Introdução

Este documento descreve a história, a arquitetura de dados e alguns features da versão 5.0 do Gol e servidores Enfoque associados. O texto procura dar uma visão algo técnica sobre a arquitetura do sistema Enfoque de distribuição de informações financeiras. Destina-se a usuários interessados em compreender melhor como funciona o sistema Enfoque Cotações, para poder obter a melhor performance deste sistema.

2- Histórico

O sistema Enfoque Cotações evoluiu - desde a versão 1.0 de 1988 - como um conjunto de ferramentas para acompanhamento do mercado em tempo real. Naquela época, os computadores eram do tipo 286, usavam o sistema operacional DOS, tinham 4 MB de memória e rodavam a uma velocidade de apenas 33 MHz. As limitações dessas máquinas tornavam necessário o uso de programas otimizados para manter a atualização em real time. Desde o início, o sistema da Enfoque integrava gráficos, páginas de cotações, calculos e notícias em um único programa. Foi o primeiro tradestation do mercado brasileiro.

De lá para cá, a potência dos computadores cresceu em progressão geométrica em todos os sentidos: um computador padrâo de hoje tipicamente funciona a 1 GHz (30 x mais rápido) e tem 128 MB de memória (32 x mais). Isso permite que esses computadores rodem multiplos programas simultaneamente, em um ambiente gráfico que demanda muito processamento, como o Windows.

A versão 5.0 do Gol incorpora várias capacidades novas, atingindo um grau de integração ainda maior.

Stream real time

Na segunda metade dos anos 90, o uso Internet cresceu de maneira explosiva. Houve um enorme avanço nas tecnologias de formatação e visualização de informações em programas do tipo browsers, como o MS Internet Explorer e Netscape. O sucesso destes programas foi tal, que muitos chegaram a achar que tecnologias mais tradicionais de transmissão e visualização de informações financeiras em real time ficariam obsoletas, sendo substituídas pelos browsers.

Mas isso não aconteceu. Não foi devido a ruptura da bolha da Internet, mas sim pela inadequação da arquitetura dos browsers para visualização de cotações. O browser foi concebido para difundir com textos científicos, documentos que permanecem relativamente estáticos após a sua criação. Quando voce digita um endereço no browser - ou clica em um link em uma página - o programa estabelece uma conexão com o servidor, baixa o documento e desfaz a conexâo.

Cotações, gráficos e notícias do mercado financeiro tem uma característica muito mais dinâmica. Para difusão dessas informações, se faz necessária a manutenção contínua da conexão de dados. Um evento gerado no mercado - por exemplo um negócio de um determinado ativo - deve ser transmitido pela bolsa, passando pelo distribuidor de informações, até chegar ao seu computador no menor tempo possível.

Isso é o que se chama de "stream real time": um processo contínuo de transmissão de todos os eventos relacionados a um conjunto de ativos, com a iniciativa das atualizações partindo da origem: a bolsa.

Broadcast x unicast

Dentro da categoria de stream real time, existem duas variantes: o broadcast e o unicast.

Nos anos 70, as empresas de difusão de informações financeiras usavam mainframes - enormes e dispendiosos computadores - e instalavam nos clientes os chamados terminais "burros", que apenas exibiam páginas formatadas pelo mainframe remotamente. Neste modelo, cada cliente selecionava um conjunto de ativos para exibição, recebendo as atualizações para estes ativos. Assim, o primeiro modelo de distribuição foi unicast: cada usuário recebia um fluxo de atualizações individualizado.

A década de 80 foi marcada pela popularização dos computadores pessoais. Isso possibilitou o aparecimento de novas tecnologias de difusão de informações. Uma que ganhou força foi o FM. As empresas difusoras de informações passaram a condensar todos os negócios de todas as bolsas em um único fluxo, que era transmitido via FM para os clientes. Como esses agora contavam com PCs - e não mais com terminais burros - a "inteligência" do computador era usada para tratar o sinal e exibir apenas os ativos que interessavam ao usuário. Isso permitiu uma sensível redução nos custos de difusão, pois a operação dos mainframes era caríssima. E assim o modelo de broadcast - um único sinal unidirecional sendo transmitido para multiplos clientes - ganhou mercado rapidamente.

Mas o modelo de broadcast tinha limitações. Era necessário condensar todas as atualizações de todos os ativos de todas as bolsas em um único sinal. Com a globalização, o aumento contínuo no número de ativos e na velocidade dos mercados, é fácil perceber que o volume de informações contida neste sinal tende a crescer indefinidamente. Como a banda do FM é limitada, logo se observou a saturação desses canais, com atraso das atualizações em momentos de pico. A tecnologia de broadcast era barata, mas inadequada para difusão de informações financeiras.

Em 95, com o início da popularização da Internet no Brasil, a Enfoque foi pioneira em um projeto que poderia parecer uma volta para o passado: usar a Internet para difundir informações financeiras por meio de fluxos de dados individualizados: o bom e velho unicast. Neste modelo, cada usuário, através da operação do programa Gol, seleciona os ativos que interessam. Os servidores na Enfoque criam então um fluxo de dados customizado para cada usuário, contendo apenas os ativos assinados por ele. Esse processo é possível graças a característica bidirecional da Internet.

Como cada usuário recebe apenas as atualizações dos ativos selecionados - tipicamente uma pequena fração dos mais de 8000 ativos atualmente disponíveis no sistema Enfoque Cotações - o fluxo tem um tamanho reduzido, resultando em baixo consumo da banda da rede, baixa demanda na CPU do computador e maior rapidez nas atualizações.

3- Arquitetura do sistema

O sistema Enfoque Cotações tem uma arquitetura desenhada e otimizada para difusâo de informações em tempo real. Ele é composto por multiplos computadores e programas especializados e interconectados.

Servidores Enfoque

No lado da Enfoque, as tarefas de processamento sâo distribuídas entre multiplos servidores:

  • Concentradores de dados, que tratam os sinais das várias bolsas e agências de notícias.
  • Servidores de bancos de dados, responsáveis pelo armazenamento a longo prazo das informações.
  • Servidores Enfoque Cotações, responsáveis pela distribuição das cotações para os diferentes usuários.
  • Servidores de Headlines responsáveis pela distribuição das manchetes tempo real.
  • Servidores de Séries, para manutenção e distribuição de séries históricas de preços.
  • Servidores Web, para distribuição de documentos e aplicações em browser.

Essa arquitetura distribuida garante a escalabilidade e velocidade de resposta dos servidores Enfoque. Cada servidor pode se conectar a multiplos outros, e a topologia da rede é determinada pela carga observada em cada componente.

Programa de Cliente: o Gol

No lado do cliente, um único programa - o Gol - concentra todas as funções de recepção, visualização de cotações, gráficos e notícias; servidor DDE e cálculos. Isso simplifica a operação e despolui o desktop do usuário. Há também um ganho de desempenho em relação a outros sistemas que distribuem o servidor DDE, o display de cotações e notícias, e a aplicação de gráficos em tres programas separados. Menos programas rodando significa mais confiabilidade, melhor tempo de resposta e maior simplicidade na operação.

Internamente, o Gol tem uma arquitetura orientada a objetos e distribui o processamento entre vários componentes, conforme o diagrama abaixo:

GolEngine - É o centro nervoso das cotações, desenhado com o objetivo de desempenho e confiabilidade. Esse componente é responável por:

  • Conectar, manter e monitorar a conexâo com os Servidores Enfoque Cotações. Em caso de queda da conexão, o GolEngine se reconecta automaticamente, assim que as condições de comunicação se normalizarem.
  • Assinar e manter atualizados os ativos em uso. É um banco de dados de ativos e séries em memória de máximo desempenho. O GolEngine negocia com os servidores Enfoque quais os ativos subscritos e autorizados.
  • Calcular valores de fórmulas, ativos fórmula e ativos carteira.
  • Manter e disparar alarmes de preços.
  • Atualizar e manter séries de preços, intraday e longo prazo.
  • Notificar objetos usuarios sobre atualizações em ativos e séries. Todos os objetos periféricos - janelas de gráficos, fórmulas, flashs de cotações, páginas de cotações etc - recebem as atualizações através do GolEngine.
  • Servidor DDE, responsável pelo fornecimento de dados a outros aplicativos (p.e. Excel)
  • Cliente DDE, responsável por ligações com outros servidores DDE, para atualização de ativos ou fórmulas. Isso permite que ativos de outros feeders sejam usados no Gol, para consolidação ou redundância de fontes de informação.
  • Download on demand de séries de preços intraday e longo prazo.

Central de Notícias - Responsável pelo tratamento do fluxo de manchetes em tempo real. As manchetes sâo recebidas no Gol por uma conexão independente, de modo a nâo impactar na conexão de cotações.

Notar que somente as manchetes são recebidas em tempo real. O texto integral de cada notícia está disponivel em uma página web associada, acessada através de browser integrado no Gol. Desta forma, apenas aquelas notícias cuja manchete interessa são efetivamente baixadas, resultando em um uso racional da banda da rede.

Dentro da Central de Notícias atua o Agente de Notícias, componente que lê e separa as notícias em caixas postais, de acordo com a ocorrência de palavras chave, notificando o usuário quando necessário. Ele funciona como um filtro, evitando que voce tenha que ler as centenas de notícias geradas pelas agências em tempo real. Para se ter uma idéia, as fontes de notícia disponíveis no sistema Enfoque Cotações atualmente geram em média 1500 notícias por dia.

A central de notícias permite a conexão com multiplos servidores de headlines, permitindo que voce possa integrar notícias geradas internamente na sua organização às notícias das agências em tempo real. E cada usuário pode, se autorizado, publicar notícias no sistema.

Janelas de visualização - A parte de visualização de dados (cotações, gráficos e notícias) é independente do funcionamento do GolEngine e Centro de notícias. Essa separação entre a interface gráfica e o modelo de dados simplifica a criação de outros programas que usem o GolEngine, como aplicações para servidores web. E também reflete no desempenho: o programa Gol gasta um mínimo de recursos da maquina para manter o banco de dados.

O Gol tem as seguintes tipos de janelas para visualização:

  • Flash de cotacoes - Detalhe completo sobre um ativo, com cotações, minigráfico (para os ativos mais liquidos) e links para outras informações dobre o ativo.
  • Página de cotações - Display de cotações poderoso, com layout configurável nas linhas e colunas, etc
  • Janela de Gráfico -
  • Janela de Minigráfico - Gráfico simples, de fácil visualização.
  • Janela de gráfico de ponto e figura e perfil de mercado
  • Calculadora - Permite o calculo de fórmulas com atualização em tempo real e resultado multimidia (com voz)
  • Lista de Notícias - Notícias recebidas, com recursos de busca e reordenação.

4- Arquitetura de dados

É importante que você entenda a arquitetura de dados do Gol, e como ela se reflete no uso do programa. O GolEngine mantém tabelas de diferentes tipos de objetos: ativos, séries e alertas.

Ativos são ações, mercadorias, moedas, índices, fórmulas e carteiras. Cada ativo tem multiplas cotações ou tipos, como último, variação, máximo, mínimo etc. Na categoria dos ativos sâo possíveis vários subtipos:

  • Ativos Enfoque - São ativos transmitidos pela Enfoque. Atualmente são mais de 8000, incluindo as principais bolsas nacionais e estrangeiras.
  • Ativo fórmula - São fórmulas contendo cotações de ativos. São criados e mantidos na ponta, em seu computador (exemplo IBOVUS = IBOV/EUSCOM ou seja, o valor do índice em dólar comercial)
  • Ativo carteira - Uma carteria de ativos. Também criado na ponta. O valor da cota da carteira é o valor do ativo. Permite que voce compre e venda papéis e administre o caixa, com ajuste automático do número de cotas.
  • Ativo Indicadores - Conjunto de indicadores de uma série.
  • Ativo DDE - Ativos cujos valores são fornecidos por outros servidores DDE. Gol tem interfaces DDE para Broadcast, CMA, Reuters, TIBLink, ComStock e RealTick.

Todos os ativos são atualizados online, e os valores de suas cotações podem ser usados em fórmulas, para construção de séries e gráficos, em alertas de preços, em páginas e flashs de cotações.

As séries podem ser intraday ou longo prazo. As séries intraday são sempre baseadas em uma cotação de um ativo (normalmente o último preço, mas nada impede que voce faça séries de outros tipos de cotações). As séries intraday permitem multiplos horários de pregão configuráveis e definição de filtros de preços (percentual e absoluto) para detecção de bad ticks. Essas séries podem ser fornecidas pela Enfoque ou armazenadas na ponta, em seu computador, conforme descrito no ítem Gráficos adiante.

As séries de longo prazo são sempre mantidas em seu computador, para permitir seu uso em análises mesmo quando desconectado da Enfoque. Para a sua comodidade, a Enfoque mantém um banco de dados com mais de 500 séries para download. A atualização das suas séries de longo prazo é automática, mesmo que você fique vários dias sem atualizá-las. O aplicativo LPMaster permite a edição das séries LP.

5- Gráficos

A Enfoque tem tradição na área de análise t écnica, com mais de 20 anos de atuação neste setor. O próprio nome do programa - Gol - vem de "Gráficos On Line". Embora o sistema atual seja muito mais do que um programa de gráficos, a parte gráfica continua a receber atenção especial e melhoramentos continuados.

Gol pode plotar gráficos intraday (com qualquer peridicidade) e longo prazo (diário, semanal e mensal) atualizados online. São disponíveis vários tipos de gráficos (barras, candletick, linhas, comparativos, ponto & figura e perfil de mercado) com multiplos indicadores. Além dos 13 indicadores padrâo (IFR, Estocástico, Volume, médias moveis aritmética e exponencial, parabólico, DMI, MaCD, Bollinger Bands, OBV, Trix, Willians %R) o usuário pode ainda criar indicadores customizados, usando scripts nas linguagens JavaScript ou VBScript (para mais detalhes sobre indicadores tipo script, clique aqui).

As séries intraday podem ser administradas pela Enfoque ou criadas na ponta, em seu computador.

A Enfoque foi a pioneira na transmissão de séries completas para gráficos, poupando o usuário de ter que estar conectado ininterruptamente durante os pregões para coleta das cotações; e que tenha que editar manualmente séries com bad ticks. Usando as séries intraday administradas pela Enfoque, você tem a comodidade de não ter que se preocupar com as séries. Um formato altamente compactado faz com que os downloads de séries sejam rápidos.

Por outro lado, as séries mantidas na ponta permitem que você crie gráficos de seus ativos fórmula ou carteiras, ou com tamanhos maiores do que o padrão Enfoque. Como essas séries serão locais, o download não é necessário e a carga dos gráficos é mais rápida. Se voce optar por criar uma série na ponta, e perder parte da série por algum motivo, a Enfoque oferece um serviço de atualização de séries intraday, onde o programa preenche o trecho faltante com fragmentos de séries fornecidos pela Enfoque.

Você pode ainda misturar os dois tipos de séries, de acordo com as características de cada uma. Em resumo, o Enfoque Cotações oferece as vantagens dos dois tipos de séries.

6- Servidor DDE - ligação com Excel

O especificação do protocolo DDE (Dynamic Data Exchange) foi criada pela Microsoft para transferência de dados entre aplicativos no Windows. Embora criticado por alguns pela sua complexidade, o DDE acabou sendo adotado como padrão para intercâmbio de dados entre aplicativos do mercado financeiro. Com o tempo a própria Microsoft tentou criar outras formas de intercambio (OLE, COM automation etc), mas o DDE permanece até hoje como padrão.

A maioria dos usuários tem boa familiaridade com a planilha Excel, e gosta de usar este programa para cálculos ou simples visualização das cotações. Por isso é importante que a exportação de cotações online (hot links) entre o Gol e o Excel se faça de maneira eficiente e confiável.

Reconhecendo essa necessidade, o Gol implementa a exportação DDE no formato nativo do Excel. Isso garante um máximo de velocidade nas atualizações, e evita problemas associados a conversão dos dados de formato numérico para texto e vice-versa.

O servidor DDE do Gol é uma ferramenta provada no tempo, em funcionamento há mais de 7 anos. Em testes, foram feitos mais de 2 milhões de atualizações em um prazo de 3 dias. A taxa de transferência ultrapassa 300 kbytes por segundo, sendo mais do que suficiente mesmo para as aplicações mais complexas.

Além disso, Gol pode ser usado para atualizar outras aplicações que usem DDE nos formatos texto ou sylk, sendo o servidor DDE mais versátil do mercado.

A nova versão expandiu a sintaxe do tópico DDE ATIVO. Anteriormente um link deste tipo retornava o conjunto de 24 tipos de um ativo (ULT, ABE, FEC, MAX, MIN etc) em 24 células contigüas da planilha. A nova versão permite que a lista de tipos retornados seja especificada na fórmula. Exemplo:

=GOL|ATIVO!DJIA.ULT.VAR.MAX.MIN.ABE.FEC.OCP.OVD

Além disso, é possível a definição de nomes que representam de conjuntos de tipos. Exemplo:

FLASH=ULT.VAR.MAX.MIN.ABE.FEC.OCP.OVD

A fórmula abaixo é equivalente à primeira, porém muito mais fácil de digitar:

=GOL|ATIVO!DJIA.FLASH

Essa nova sintaxe, associada a macros especiais para o Excel desenvolvidos pela Enfoque, permitem que você digite o codigo de um ativo em uma célula e depois faça o link DDE com apenas uma combinação de teclas.

Outra novidade desta versão é o acesso ao livro de ofertas online (5 ofertas em cada direção), resumo das ofertas (5 melhores preços em cada direção) e tipos calculados, com variação em pontos, máximo em pontos etc.

Para mais informações sobre o servidor DDE do Gol, clicque aqui.

7- Integração com browser

Gol integra o browser Internet Explorer no desktop, para visualização de notícias e informações fundamentais sobre ativos. Esta integração permite que você acesse esses serviços a partir do desktop do Gol, sem perder de vista as cotações e gráficos. A autenticação no servidor web é feita automaticamente, para sua máxima comodidade. Gol permite ainda que voce mantenha um banco de dados local de notícias em seu computador.

xxx

v1.0 ofr 02/out/02

 

(c)copr 1988-2005 Enfoque Gráfico Sistemas Ltda - todos os direitos reservados