Posts

Trading System - Parte III

Image
Protótipo Esse artigo descreve a prova de conceito de um trading system, um sistema que captura os negócios em execução na BM&FBOVESPA, analisa e gera alertas de oportunidades de compra e venda de ações. O objetivo desse protótipo foi gerar uma prova de conceito de um sistema escalável que possa ser utilizado por investidores autônomos, investidores institucionais, formadores de mercado, entre outros. Segue abaixo a descrição da prova de conceito com base na sua infraestrutura, na sua camada lógica e nos serviços de TI. Infraestrutura física Um trading system utiliza uma infraestrutura tecnológica abrangente. O desenvolvimento desse protótipo utilizou tecnologias padrões de mercado e padrões abertos, que beneficiam custo, escalabilidade e disponibilidade. Os equipamentos utilizados nesse trabalho podem ser substituídos por equipamentos “high-end” como storages para armazenamento e backup, servidores multiprocessados, redes de baixa latência etc, uma vez que o objetivo dess...

Trading System - Parte II

Descrição do Negócio Mercado secundário O mercado secundário de acões é composto por cenários em constante mutação com variações que deixam algumas pessoas ricas, enquanto outras veem o seu capital se esvair, e os grandes investidores manobram os seus complexos sistemas de investimento para alocar o seu capital nas melhores oportunidades. Os sistemas complexos de avaliação de investimento são compostos em primeiro lugar por especialistas de segmentos de mercado que se complementam com equipes de controle de risco, matemáticos, economistas e sistemas de negociação automatizados, trading systems. No mercado secundário, alguns investidores procuram alocar o seu capital segundo estratégias que envolvam as empresas negociadas, enquanto outros investidores simplesmente procuram maximizar o seu capital independente das empresas negociadas, e somente analisam o comportamento das ações e procuram ganhar dinheiro com base na identificação de desvios. Universo temporal Os participantes do m...

Trading System - Parte I

Image
Introdução Estou publicando uma série de 3 artigos relacionados ao trading system que eu desenvolvi entre os anos 2008 e 2012. Ele foi sendo desenvolvido aos poucos e culminou em um produto que possui uma interface para o usuário publicada em http://trasys.informativa.com.br/ Esse trading system é um sistema de apoio a decisão utilizado para auxiliar na solução de problemas complexos e específicos. Problemas que lidam com volumes elevados de informações e que exigem tratamento e interpretação dos dados para a obtenção das respostas esperadas. Esse sistema possui basicamente uma camada servidora que realiza o processamento das regras do negócio e executa aplicações independentes, que serão descritas à seguir. A interface web é somente para consulta das informações, mas pode facilmente ser estendida para que o usuário possa estabelecer parâmetros de processamento no trading system. Esse Trading System pode ser integrado à Plataformas de Negociação ou Home Brokers. A aná...

Rumo ao kernel

Discussões superficiais sobre o kernel geralmente se resumem à frases do tipo, " o kernel é como um software, que serve para disponibilizar acesso à dispositivos de hardware ". Maiores divagações exigem um alto nível de abstração com base em diversos conhecimentos específicos, o que acaba dispersando os interessados no assunto. A intersecção entre software e hardware, se dá em uma caixa fechada com um monte de peças sólidas e fluxos de energia elétrica circulando entre elas. Essa interação pode gerar imagens, processar textos, estabelecer conexões de redes e fazer uma infinidade a mais de coisas, como que por magia. Não é o kernel o responsável por essa magia toda, mas o mesmo participa de alguma maneira desses processos. Esse artigo não é um tutorial sobre qualquer coisa que se possa fazer com, ou para o kernel, nem um mapa do kernel, mas talvez um mapa de onde o kernel se localiza, no emaranhado das transformações de informações dentro de um computador. Para entender esse a...

Open Source

A definição de softwares open source se baseia no tipo de licenciamento de uso que o mesmo adota. Entenda-se por licenciamento, um "contrato" aceito entre as partes que regem aspectos legais referentes ao direito de propriedade intelectual sobre os sistemas, sobre os tipos de uso, como uso pessoal, educacional ou profissional e respectivo pagamento, ou não, de licenciamento, acesso aos códigos fontes, permissão para alteração do software, gratuidade obrigatória, entre outras questões. Existem diferentes tipos de licensas que são utilizadas por diferentes softwares open source, como GNU GPL, BSD, Apache License etc. 1* Podem ser citados como exemplo de software Open Source/Free Software, Apache, Linux, Perl, Python, GCC, BIND, Samba, Firefox, etc. Vale abrir uma parênteses para pontuar as diferenças entre Software Livre (Free Software) e Código Aberto (Open Source). O conceito de Free Software é anterior ao conceito de Open Source, e segundo o Free Software Foundation (FSF), ...

Medo do desconhecido

Esse artigo questiona uma das pernas da CIA, o tripé da segurança da informação. A confidencialidade (C), que junto com a integridade (I) e a disponibilidade (availability - A), são os três aspectos protegidos pela segurança da informação. Não se trata de um artigo técnico, e aborda a questão sob a perspectiva do usuário leigo que não tem conhecimento sobre os riscos existentes da quebra de confidencialidade. Ressaltamos que essa análise se restringe ao ambiente tecnológico da Internet, que atualmente interliga a maioria dos usuários de informática a outras pessoas ou sistemas computacionais. A confidencialidade se expressa pela imposição de controles de acesso a uma determinada informação. O dono da informação determina o nível de confidencialidade através da classificação da informação. Por exemplo, no caso de classificação para controle de acesso a métodos de linguagens de programação, uma informação pode ser classificada como: Pública Protegida Privada Outro exemplo seria a classif...

Anti-metodologia

Esse artigo discute a influência das metodologias de desenvolvimento de software na qualificação de profissionais de TI e o papel das pequenas consultorias nesse processo. A utilização de metodologias para o desenvolvimento de software não é algo que entusiasma com unanimidade os profissionais de TI. São vários os motivos, que vão de preguiça intelectual a desilusões com os resultados obtidos. Passando ainda por profissionais despreparados, a emergência recorrente de novas metodologias que atropelam as antecessoras, além de pressões do mercado para impor novos padrões que possibilitem a venda de novos produtos, treinamentos e posicionamento de novas marcas. A conjunção de alguns dos motivos citados é o suficiente para que processos sejam deixados de lado em fábricas de software. O próprio termo fábrica de software é demonizado por alguns profissionais de TI, acreditanto que uma fábrica de software não pode existir na sua essência, pois o insumo utilizado é a criatividade, e a "m...