quinta-feira, 28 de março de 2013

UML - UNIFIED MODELING LANGUAGE

Recebi na data de hoje, 28 de março de 2013, os livros UML2 - Uma Abordagem Prática de Gilleanes Guedes e UML 2.3 - Do Requisito à Solução, de Adilson da Silva Lima.

Acabei chegando à UML - Unified Modeling Language após o curso de Introdução a Programação Orientada a Objetos feito presencialmente com o instrutor Julio Yoshio da Impacta e ter verificado a obsolescência dos processos de desenvolvimento de sistemas baseados na criação de fluxogramas, que é uma ferramenta para programação procedural/estruturada, em contrapartida ao novo (nem tanto...) modelo de programação orientada a objetos (POO).

Tenho buscado ferramentas e técnicas para estruturar o projeto do robô bem como o desafio de documentar corretamente o código em desenvolvimento, principalmente agora que procuro reconceituá-lo de forma orientada a objeto. Com certeza, hoje tenho mais tranquilidade de falar sobre Classe, Atributos e Métodos, mas ainda é complexo materializá-lo sob forma de código. Quiçá desenvolver sua modelagem (em principio e como boas práticas, de preferência ANTES de gerar o código...).

Após muita pesquisa e algumas dúvidas, como o tema é relevante acabei efetivando a aquisição dos dois livros anteriormente citados.

O livro UML 2.3 - Do Requisito à Solução me parece mais leve, direto e com sentido de didática voltado à prática. O próprio autor é analista de sistemas há 27 anos e desenvolvedor de sistemas.

Pelo seu caráter prático ele aborda o uso de uma ferramenta de modelagem, que é  o Enterprise Architect, do desenvolvedor de soluções Sparx. Isto demonstra o interesse do autor em não só trazer conceitos e padrões da UML mas também, e principalmente, como usar na prática este conceito de modo a realizar uma efetiva modelagem de projetos reconhecendo as dificuldades de desenvolvedores e programadores, principalmente os que pensam de forma estruturada/procedural, no desenvolvimento de projetos orientados a objetos.

O livro UML2 - Uma Abordagem Prática, apesar do nome, me parece mais teórico, talvez reflexo de seu autor que é doutor, mestre e professor universitário na área de Engenharia de Software e Sistemas de Informação. O livro, de capa dura editado pela Novatec parece ser bem construído, mas os temas que li rapidamente na introdução e índice, transparecem algo mais teórico.

Mas nada como a leitura efetiva para avaliação mais precisa das informações. De qualquer forma, seja uma ou outra obra, percebo que fiz boas aquisições pois o tema UML merece investimento de tempo e dinheiro, em prol do desenvolvimento do projeto do robô trader.

Apesar de sob ponto de vista de produto e código eu esteja empacado nestas últimas semanas, a evolução subjetiva com conhecimento adquirido no período - soma-se ao curso presencial de POO e os livros de UML, os conceitos apresentados por Rogério Figurelli e sua obra "Robôs Investidores" que trazem abordagens interessantes, não necessariamente novas, mas também convergentes com pensamentos que tenho.

Por fim, destaco minhas pesquisas e contatos feitos pensando no Metatrader (e que me fizeram concluir pela realização novamente do C# Módulo I - que aproxima do C++, linguagem base de desenvolvimento do Metratrader) e das pesquisas no âmbito do FOREX, que é o passo natural de evolução, saindo dos mercados de índice futuro da BMF&Bovespa no índice/mini.

terça-feira, 26 de março de 2013

26 MARÇO

Muito improdutivo estes últimos dias, pois não consigo produzir novos códigos trabalhando na empresa. Absolutamente improdutivo. À noite, lendo e estudando muito, mas sem gerar uma linha de código.

Estou com algumas boas idéias, convicto das possibilidades de migração para POO mas sem condição nem motivação pra gerar os códigos pois não tenho condições propícias para tal durante o dia. Uma total improdutividade e atraso de vida (e do projeto).

sábado, 16 de março de 2013

POSIÇÃO ATUAL

Das diversas implementações realizadas no período, duas se destacam:

1. A implementação de stoploss, parametrizado em 100 pontos num primeiro momento;
2. Correção de grave distorção no registro das variações de preço/volume (*)

As implementações acima provocaram uma profunda alteração no comportamento do robô gerando resultados negativos de mais de 1000 pontos.

(*) Estava sendo registrado variações relativos às mudanças de valores/qtdes na pedra, o que não reflete a realidade de efetivação de negócios. Foi implementado rotina que corrigiu esta grave distorção. Contudo, os resultados se mostraram extremamente críticos em função das duas alterações realizadas.

Estou avaliando e preparando para recodificação completa do robo usando estrutura de programação orientada a objeto o que consome tempo e reflexões antes de resultados efetivos.



terça-feira, 12 de março de 2013

DIRETRIZES DE DESENVOLVIMENTO

Destaque do livro "Trading Systems and Methods" onde é delineado as diretrizes básicas de pesquisa e desenvolvimento de sistemas de tranding (apesar que serve PARA TUDO):

1. Saiba o que deseja fazer antes de começar;
2. Declare sua ideia ou premissa em um simples formato;
3. Não pressuponha nada (atenção e cuidado às pressuposições de hipóteses);
4. Teste o mais simples e importante primeiro;
5. Atenção para os erros por omissão;
6. Questione os bons resultados;
7. Não pegue atalhos;
8. Comece pelo final (tenha clareza dos objetivos).

Bem, parecem simples e óbvios, mas é sempre bom ler e reler estas diretrizes. Fico feliz em saber que mesmo sem registrar ou declarar, boa parte destas diretrizes estão sendo seguidas no processo de desenvolvimento do algoritmo.

IMPRESSÕES

Os registros no blog estão se espaçando mas não significa necessariamente queda do processo de desenvolvimento. Pelo contrário, excluindo-se alguns dias da semana passada por conta da viagem do Dudu ao Japão, trabalhei intensamente pelo idealização do novo modelo do robô.

Tenho lido muito o livro de IA (Inteligência Artificial) juntamente com o livro recém chegado da Amazon, o "Trading System and Methods". Estou avaliando e delineando o novo modelo que desejo codificar, orientado a objeto e como redes neurais podem ser implementados para o processo de aprendizado do robô. Há inclusive nas pesquisas que fiz um artigo muito interessante, que destaco aqui sobre Inteligência Artificial com VB.Net

Mas há importantes implementações a fazer no Turing ainda. Estou mapeando as implementações e ordenando em prioridades.

Algo que gera muita improdutividade é a locomoção e logística pois sempre tem algum livro, apostila, documento ou arquivo que não se encontra à mão, ou está em casa ou no MIC003 de casa... mas enfim, é administrar essa obsoleta necessidade de presença física a atravancar o desenvolvimento do projeto, mas é gerenciar essa perda de tempo.

De qquer forma, é verdadeiro declarar que o ritmo de desenvolvimento caiu pois os eixos transpiração (codificando) e inspiração (idealizando) estão bem prejudicadas pelas improdutividades apontadas anteriormente. Mas a motivação continua, estou administrando tbm variáveis que não tenho controle como a própria XP e a disponibilização do GL+Automate.

sábado, 2 de março de 2013

1/3/13

O número 13 é meu número da sorte. Meu filho Dudu nasceu num dia 13 e nesta próxima semana, embarca ao Japão para a Universidade de Kioto, num intercâmbio de 4 meses da USP com esta universidade.

E hoje (ontem), dia 1/3/13 nasceu meu mais novo filho, às 9:03:38, com 57130 pontos sendo efetivado às 9:05:38 com 57075, com um total de 55 pontos positivos. Seu nome completo é Turing02_K06A_08, mas chamo-o carinhosamente de "_08". É meu robô-algoritmo que após 6 semanas de gestação, muito sacrifício, noites mal dormidas, muito estudo, curso aos domingos, à noite e muito, mas muito sacrifício mesmo, nasceu!

E esta sexta dia 1/3 foi um dia muito místico. Além da efetivação do PRIMEIRO trade real, após inúmeros problemas e dificuldades, também se encerra mais um ciclo (importante) de toda esta trajetória com o encerramento do curso de VBA módulo 2.

Terminou também o período de uso da licença do GL com o Automate e já, antecipadamente, agendei reunião com pessoal da XP nesta próxima segunda para apresentar meu novo filho, apesar de prematuro, muito frágil e necessitando de cuidados constantes.

Estive ausente deste querido blog por alguns dias mas foi por uma boa causa: parir com segurança o Turing02, que é uma singela homenagem ao brilhante Alan Turing, precursor das bases do que hoje se chama ciência da Inteligência Artificial.

E para encerrar a sexta mágica, recebi neste dia dois livros que serão fundamentais nesta próxima fase que se inicia, que são o de programação do Metatrade5 e o de Trading System, ambos comprados na Amazon-EUA.

1/3/13, um dia e tanto!