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!

sexta-feira, 22 de fevereiro de 2013

QUINTA, DIA 21

A 4ª aula de VBA módulo 2 continuou focando no DAO para conexão via VBA entre Excel e Banco de dados Access. Muito bom os onceitos e a prática sendo adquirida.

Quanto ao robo, descobri o que está acontecendo, só preciso avaliar e estudar mais as alternativas para solução desta situação.

quinta-feira, 21 de fevereiro de 2013

QUARTA 20 DE FEVEREIRO

Pensei que hoje ia nascer meu mais novo filho, o algoritmo de trader Turing, em homenagem ao grande matemático Alan Turing que deu as bases para o desenvolvimento da ciência da Inteligência Artificial.

Mas infelizmente, o algoritmo não estava pronto para entrar em sua plenitude. Evidente que muito precisa ser feito mas estava imaginando que o módulo de interface com o Automate, com entradas reais de ordem pudesse ter sido operacionalizado hoje. Mas não o foi.

Desde sábado trabalhando nesse módulo, estou avaliando as possibilidade técnicas e os desafioa em sincronizar o módulo principal com o módulo de ordens.

Vamos ver.

Hoje (ontem, quarta) tive a 3ª aula de VBA módulo 2 com o foco no DAO - Data Access Object. Seguna e terça focamos comandos SQL básicos, no MS Access mas que serve em grande maioria dos principais bancos de dados. Estou muito satisfeito com o curso e com o instrutor. Tanto o Zoroastro, que ministra o módulo 2 quanto o Hildebrando do módulo 1 são profissionais do mercado, que trabalham e atuam focados com soluções MS, em especial desenvolvendo soluções via VBA, tem uma dedicação especial em ensinar, em fazer com que o aluno entenda, completamente diferente da trágica atuação do instrutor do C# módulo 2.

terça-feira, 19 de fevereiro de 2013

SEGUNDA DIA 18

Segunda é dia de começos. Como falou o pessoal da XP, o "ano começou" pois acabaram-se os feriados e o carnaval.

E segunda foi dia de começos, pois comecei a desenvolver o novo código orientado a objetos e com formulário. Isso vai consumir tempo importante de trabalho no kernel, nas estratégias e na interface com o Automate mas ele é importante exatamente para o Automate.

E ontem, segunda tbm foi dia de começar o curso de VBA módulo II. Choveu muito forte ontem a tarde/noite em SP, o trânsito ficou caótico e a turma estava com pouco mais de 6 alunos com atraso inclusive do professor. Mas ontem precisamos considerar que foi um dia atípico, um caos numa mega cidade como São Paulo.

Ainda com todo este contratempo, posso dizer que tanto o conteúdo da matéria, quanto ao próprio instrutor Zoroastro me deixaram motivados a continuar, apesar do enorme sacrifício.

Teremos no segundo módulo do VBA foco em SQL com acesso ao Access e funções orientadas a objetos, que é algo simplesmente fantástico. O Zoroastro mandou bem, parece bem dedicado e preocupado em saber se os alunos estão acompanhando a matéria. Muito bom, mas o contraponto que preocupa é que atrasa mais ainda o projeto do robô.

segunda-feira, 18 de fevereiro de 2013

DOMINGO, 17 DE FEVEREIRO

Estou em débito com os registros diários um pouco pelo cansaço. Ontem, domingo foi minha aula 4 de VBA Módulo I e tivemos como destaque, os formulários.

Muitos detalhes interessantíssimos foram passados e principalmente para mim, foi a questão de estrutura do código que o Hildebrando utiliza, de colocar variáveis todas em um módulo específico, configurando como públicas.

E tbm as chamadas de outras sub ou formulários tbm foram bastante interessantes.

Bem, hj a noite começo o módulo II do VBA, sem ter terminado o módulo I. Mas pelo que conversei com o Hildebrando, vai ser tudo ok e pelo que vi na programação, será muito focado em banco de dados e SQL. Está ótimo assim.

Quanto ao algoritmo, fiz importantes simulações na quarta feira de cinzas com o Automate e agora estou refletindo e pesquisando muito em reescrever o código orientando ele a objetos. Vamos ver pois estudar VBA com VB com C++ e com os conceitos de C#, talvez dê uma grande salada ou talvez consiga tirar o melhor das ferramentas (que é o objetivo, VBA orientado a objeto é o máximo e melhor que podemos tirar do código).

sexta-feira, 15 de fevereiro de 2013

DIA 14 DE FEVEREIRO

Trabalhando na versão _K06A (versão com Automate, mas ainda não implementado).

Fiz uma série de testes ontem, dia 13 com o Automate e por isso não foi gerado histórico de ontem, que teve meio dia de pregão pós-carnaval.

Mas algo bacana que estava estudando agora a noite é o Metatrader, que teve liberado a versão em português do Help. Muito bom, ajudou bastante e me deu uma EXCELENTE panorâmica do produto.

Estou simplesmente encantado com o Metatrader, é algo sensacional! Agora fiquei mais na expectativa do livro que comprei na Amazon específico do Metatrader 5 e me faz pensar sobre os rumos do desenvolvimento que estou fazendo atualmente com o GL+Automate.

Bem, vamos avaliar pois o GL+Automate já havia sentido uma certa resistência e falta de gente usando o mesmo. Agora o Metatrader, por mais que hajam poucas pessoas no Brasil usando, o esforço despendido com o help bem como o interesse do pessoal da emc2Trading, que se junta ao interesse da XP, penso que estou no lugar certo, na hora certa para o desenvolvimento deste novo mercado que se abre.

É estar preparado e montar nesse cavalo!

quarta-feira, 13 de fevereiro de 2013

CARNAVAL, DIAS 10,11 E 12

Feriadão do carnaval, fiz INÚMEROS TESTES com parâmetros bem como alterações e testes em estratégias novas.

Confesso que estava num ritmo meio alucinante com quase uma nova versão a cada 40 minutos... tem versão _K04_04B,C,D,CC,CCx,CD,CE, K04_05, K04_06, K05, enfim uma infinidade de novas estratégias de trades, de entrada, de saída, novos parâmetros como m - períodos para o cálculo da inclinação (tendência).

Acabei me focando na linha _K04_04, no ultimo release CF, de ontem, dia 12 de fevereiro.

Fui buscar a Fernanda no aeroporto esta madrugada, voltando de Natal onde passou o carnaval com a Ruth, amiga da Inglaterra.

domingo, 10 de fevereiro de 2013

SEXTA DIA 8 DE FEVEREIRO E SÁBADO, DIA 9

Levei a Fernanda ao aeroporto na sexta à tarde (16h) de modo que não peguei o final do pregão.

Mas deixei a versão _K04_02 rodando e conectei aos resultados parciais de A e B. Fiz a simulação como dia inteiro com a nova versão e obtive um resultado positivo satisfatório de 105 pontos, com máxima de 440 pontos e principalmente, mínima de zero.

A ultima versão contempla parâmetros de volatilidade (Bollinger), média móvel longa (n períodos), volume e inclinação (tendência), este último objeto de alteração para perfil de períodos mais longos (para n períodos), além do próprio parâmetro n, para períodos longos.

Preciso fazer mais simulações, o que farei no decorrer destes próximos dias.

Neste sábado, foquei na questão da estratégia de trades, com a leitura de meus livros recentemente comprados:

  • Manual de Análise Técnica, de Marcos Abe;
  • Análise Técnica na Prática, de Eduardo Matsura;
  • Candlestick, de Carlos Alberto Debastiani;
  • Análise Técnica de Ações, do mesmo autor anterior.
Em algum momento futuro faço comentários de cada um dos livros, mas neste momento faço o destaque para o último livro, que trouxe pontos interessantes (os demais tbm, mas destaco este) sobre estratégias para trades e penso em implementar algumas idéias no algoritmo, baseado nas observações do livro.

Dois pontos importantes que o livro destaca e desejo testar para confirmar:

1. Os preços quando saem das faixas das bandas de Bollinger não significam necessariamente tendência (verdadeiro pois estou vendo isso acontecer). O autor sugere usar o MACD em conjunto para confirmar tendência. O MACD sempre foi um indicador que tive simpatia de usar nos trades manuais, vamos ver como ele se comporta num sistema automatizado;

2. Nas zonas de congestão (que é uma região complexa para definir estratégias para trades), o autor sugere uso (devidamente calibrado) do Estocástico Ajustado em conjunto com Bollinger, vamos tbm ver como implementar e testar os resultados.

Agora a noite e neste momento, acertando a rede de meus micros em casa e em especial, criptografando meu note novo. Fui tentar criptografar com a ferramente usada em meus outros computadores (TrueCrypt) mas não funcionou por conta do sistema de particionamento do Windows que é diferente, o GPT em detrimento ao antigo MBR.

Com isso, gastei muito tempo (até agora) procurando e escolhendo um sistema de criptografia. No frigir dos ovos, fiz upgrade do Windows do note para Ultimate e vou usar a criptografia do Windows Ultimate, que é o BitLocker. Sei que não é nenhum TrueCrypt, mas qualquer coisa é melhor que deixar sem nada, mas vamos ver como ele se comporta pois está em pleno processo de criptografia no meu disco D: (dados) do note novo...

Acertando a criptografia do note, preciso dar uma limpa geral nos discos dos micros, tirar as redundâncias, otimizar massa de dados e criar um sistema de backup descente e coerente. Isso tudo para preparar o terreno para pensar na implementação de banco de dados no robô, para armazenamento centralizado do histórico de movimentos e de resultado de trades (e acesso multiusuário e remoto).

Será que este post vale como report do dia 10 tbm? Domingão de carnaval é ótimo para novos testes e implementações do robô, mas estou focando infraestrutura, retaguarda, estratégias e outros pontos que ainda nem mexi, como o VBA que quero estudar e me aprofundar.

sexta-feira, 8 de fevereiro de 2013

QUINTA, DIA 7 DE FEVEREIRO

Muitas novas implementações no algoritmo, que inclusive estão me deixando preocupadamente mais lendo o processamento (ao menos no modo simulado).

Hoje almocei com meus amigos, é sempre prazeroso estar com pessoas que gosto, mas perco um tempo precioso pois não estou nem codificando e nem focado nas soluções do algoritmo. Mas fazer o que... faz parte.

Tem várias implementações ou consolidação das implementações mas os resultados não estão satisfatórios, que podem ser por conta de parametrização das variáveis.

A versão _K04_01 processa e avalia :
  1. valor atual com a banda superior do Bollinger;
  2. valor atual com a média longa;
  3. valor atual com a banda inferior do Bollinger;
  4. relação volume com parâmetro volume;
  5. inclinação (tendência) com parâmetro inclinação;
  6. largura da banda com parâmetro da largura de banda;
São esses os parâmetros atuais, que junto com n (numero de períodos para média longa) são possíveis de calibração nesta versão do algoritmo.

quinta-feira, 7 de fevereiro de 2013

QUARTA DIA 6

Implementei na nova versão _K02_03 os importantes parâmetros de volume e volatilidade.

Hoje (ontem, dia 6) foi um dia ruim de bolsa, mas estou pensando em como parametrizar para que o sistema consiga reconhecer o perfil do dia ou trechos do trade para escolher melhor estratégia de atuação.

Eu preciso começar a testar a interface com o Automate. O problema que é uma conexão real, então tenho que ter um algoritmo minimamente viável para trades reais.

Comprei novos livros ontem de noite e hoje dois dos livros chegaram. A Saraiva e o Extra entraram muito bem, diferentemente de empresas inidôneas e ladrões como a Balão Informática. Mas ansioso mesmo de receber o livro sobre algotraders que comprei na Amazon, mas que só chega no fim do mês. Vamos que vamos.

quarta-feira, 6 de fevereiro de 2013

TERÇA, DIA 5 DE FEVEREIRO

Estou cansado... hoje foi um dia repleto de idéias, testes e implementações de novos conceitos.

Por conta disto, interrompi no meio (14h07) do pregão o processamento da versão _K01 e a substituí pela _K02 para testes de captura do volume negociado (qtde de negócios realizado).

Minha reflexão e testes matemáticos me mostram que estou definindo algo importante, que pode realmente resolver o problema dos trades nos períodos de congestão do mercado.

 Um pouco de matemática, com regressão linear, coeficiente angular, desvio padrão e algumas médias poderão ser a solução do problema.

Mas cheguei em um ponto da curva de desempenho que entrou em fadiga e a produtividade cai exponencialmente.

Vou dormir e ver se acordo mais cedo para continuar a codificação. Amanhã será um dia que eu devo mexer muito durante o pregão para testar algumas implementações com link real.

Estreitamento das bandas de Bollinger em conjunto com a informação da tendência do ativo e com a confirmação do volume, podem ser a chave ou o caminho para a solução dos falsos sinais de entrada e saída. Como diz São Tomé das Almas Digitais, é codificar pra ver...

Hoje (ontem, dia 5) também encaminhei confirmação de realização dos cursos do VBA II e C# II. O C# voltou à pauta por conta do Metatrader, que tem a programação MQL como base e esta por sua vez, tem similaridade com o C++. Vai encavalar tudo, inclusive meu curso de C# mas vamos que vamos...

terça-feira, 5 de fevereiro de 2013

SEGUNDA, DIA 4 DE FEVEREIRO

Apesar de ser dia 5, terça, fazendo o report do dia de ontem, segunda.

Criei a versão Turing_K01, que implementa uma estratégia nova que é a média longa de 200 períodos conjugado com as Bandas de Bollinger e  média curta de 20 períodos.

A média longa é configurável e pelos backtests feitos, devo usar com 300 períodos pois parece mais promissor.

Hoje rodei a versão _K00 que nada mais é que o _J03, mas com os códigos de cálculos de desvio-padrão, mas sem a implementação da lógica nova, sendo usada 100% da lógica do _J03.

Resultados nada animadores no teste de hoje mas a nova abordagem escolhida para a versão _K01 parece promissor. Vamos rodar amanhã e ver o que acontece.

Mandei email para o pessoal da emc2Trading e o pessoal da Metainvestimentos. Recebi um email do pessoal da emc2, vou ver se faço contato telefônico com eles amanhã durante o dia (digo, hoje, dia 5), para saber mais sobre o Metatrader.

Refiz o download a partir do site da emc2 e veio a versão Brasil, com alguns ativos da BMFBovespa. Estou vendo, tenho diversas dúvidas mas um ponto já descobri:: a linguagem de programação do Metatrader que se chama MQL5 é fortemente ancorada no C++, que por sua vex tem similaridades com o C#. E voltamos ao C#...

domingo, 3 de fevereiro de 2013

SÁBADO E DOMINGO, 3 DE FEVEREIRO

Sábado, 2 de Fevereiro:
Resumo do dia, tirando o período da manhã com afazeres empresariais convencionais, que tomam tempo, mas são importantes ao meu dia-a-dia. A tarde foi mais criativa e produtiva pois trabalhei na questão teórica das estratégias, além de pesquisas no Metatrade e informações sobre trades automatizados.

O ponto de destaque é que destas pesquisas, comprei nos EUA via Amazon, literatura específica sobre Trade Systems (Trade Systems and Methods, edição 2013 (saindo do forno) de Kaufman) e acho (e espero) ter comprado O Livro sobre o tema.

O livro Trade Systems and Methods, em sua 5ª ediação saiu agora, dia 29 de janeiro de 2013 (isso mesmo, saiu esta semana que passou, fresquinho do forno). Estou empolgado pois se está em sua 5ª edição é porque deve ser um bom livro (bom livro, com mais de MIL páginas? - caralho, deve ser O LIVRO). Um pouco sobre o livro:

The ultimate guide to trading systems, fully revised and updated

For nearly thirty years, professional and individual traders have turned to Trading Systems and Methods for detailed information on indicators, programs, algorithms, and systems, and now this fully revised Fifth Edition updates coverage for today's markets. The definitive reference on trading systems, the book explains the tools and techniques of successful trading to help traders develop a program that meets their own unique needs.

Presenting an analytical framework for comparing systematic methods and techniques, this new edition offers expanded coverage in nearly all areas, including trends, momentum, arbitrage, integration of fundamental statistics, and risk management. Comprehensive and in-depth, the book describes each technique and how it can be used to a trader's advantage, and shows similarities and variations that may serve as valuable alternatives. The book also walks readers through basic mathematical and statistical concepts of trading system design and methodology, such as how much data to use, how to create an index, risk measurements, and more.
Packed with examples, this thoroughly revised and updated Fifth Edition covers more systems, more methods, and more risk analysis techniques than ever before. 
  • The ultimate guide to trading system design and methods, newly revised 
  • Includes expanded coverage of trading techniques, arbitrage, statistical tools, and risk management models 
  • Written by acclaimed expert Perry J. Kaufman 
  • Features spreadsheets and TradeStation programs for a more extensive and interactive learning experience 
  • Provides readers with access to a companion website loaded with supplemental materials 
Written by a global leader in the trading field, Trading Systems and Methods, Fifth Edition is the essential reference to trading system design and methods updated for a post-crisis trading environment.

Aproveitei e me empolguei, comprando um livro que nem saiu, a segunda versão do livro "High Frequency Trading", específico para trades de alta frequencia, exatamente o que procuro realizar. Infelizmente este livro só será lançado em Abril/2013 (e estamos em início de fevereiro...). OK foi um misto de empolgação com comida de bola na compra deste livro pois eu li que era edição de Abril/2013... só não li que era pré-venda... (==cagada)

Domingo, 3 de Fevereiro:
Perdi o aniversário do Claudinho, mas fazer o que... Mas o dia foi altamente produtivo, no curso de VBA. Ainda que seja módulo I, fiquei refletindo sobre isso na volta para casa pois percebo que foi decisão correta ter feito este módulo (considerei seriamente ir direto pro módulo II). Alguns conceitos básicos mas importantes que eu não tinha, estão sendo elucidados algora durante o curso.

Estou avaliando como conectar o módulo I com o II rapidamente.

Instalei o Metatrade 5 no meu desktop, preciso instalar no note para testes de desenvolvimento. Pelo que li, a base de linguagem de desenvolvimento do Metatrade, chamado MQL5 tem similaridade com o C++. Espero que o (pouco) conhecimento de C# possa ser útil no MQL5...

Está congestionando os assuntos que preciso aprender, lembrando que o GL com Automate está com o reloginho contando... Mas o Metatrade parece fascinante apesar de precisar avaliar como ligar com o sinal da Bovespa e saber quando estará disponível para uso em mercado.

sexta-feira, 1 de fevereiro de 2013

QUINTA E SEXTA, DIAS 31 E 1º DE FEVEREIRO

Bem, perceber agora que não postei relato de quinta mostra um pouco de fadiga nesta semana...

De qualquer forma, fiz importantes implementações no código e tenho acompanhado o "Pregão ao Vivo" da XP, pessoal da mesa lá muito coll, entrosado e conhecedores do assunto. Show de bola, gostei da dinâmica deles.

Com relação ao código, pus a versão _J00 em beta teste, mas os resultados não foram bons. Estou pensando sobre isso e sobre a tabela, pois não está funcionando a contento o conceito da tabela de tendências.

Na nova versão _K00, comecei a codificar os cálculos matemáticos para as Bandas de Bollinger, mas no teste manual, estou vendo que está diferente dos resultados gráficos do XP Pro. Estou usando a base de dados individuais enquanto as plataformas, me parece, usam como base de cálculo os candles, o que gera grande diferença. De qualquer forma, o Bollinger ok, estou avaliando e estudando colocar os outros indicadores e osciladores, para compor uma "cesta de indicadores" para a geração da decisão de trade (na verdade, esta sempre foi a proposta original, que converge com os fatos que estão ocorrendo)

Participei de um webinar agora ao final do pregão na XP e o Marcos Moore que foi o apresentador, falou bastante do HiLo e penso em implementá-lo como base para o stop móvel, vamos ver.

Está cada vez menos difícil a barreira da programação, da codificação, mas em contrapartida, fica cada vez mais difícil e que requer mais pensamento e menos braço (ou dedos, acho que fica mais correto, rs) a parte de implementação das estratégias de trade. Fiz incontáveis simulações testando as variáves que tenho e minha expectativa era que os resultados pudessem ser melhores. Mas as dificuldades mostram que realmente preciso me dedicar mais.

Por fim, algo que no webinar de quinta a noite me deixou encucado foi quando perguntei do Metatrade e eles me disseram que é a mais importante plataforma de algoritmos que existe atualmente no mundo. Confesso que já tinha lido a respeito, vi até que um programador brasileiro participava de uma competição mundial de algotrades mas o resultado dele estava deplorável... nem dei muita bola. Mas me incomodou o contexto, tipo "Como você não conhece o Metatrade???"

Entra na lista de assuntos a conhecer melhor, entender e testar, vi que tem semelhanças no IDE - Integrated Development Environment do Visual Studio e a base da linguagem de desenvolvimento dele é o C++ (mais um pra eu aprender?!?).  Bem, entra na fila, que já está virando a esquina...


quinta-feira, 31 de janeiro de 2013

QUARTA, 30 DE JANEIRO

To vendo agora que não postei nenhum relato de terça, dia 29.

Não foi por falta de trabalho mas sim por cansaço puro. Os resultados diários estão planilhados e a qualquer hora coloco em algum post.

Estou trabalhando fortemente no código. Estou desenvolvendo uma versão nova a cada dia, com novas e importantes implementações. Alguns conceitos estão entrando de forma não ordenada, como foi o processamento hoje. Vacilei na entrada da versão I00 (lê-se "i" zero-zero) e acabei comendo bola no setup dos stops curto, longo e lambda.

Tive que mexer durante o trade por duas vezes para reconfigurar os setups e à tarde ainda tive interrupção da internet por uns 6 minutos... por conta disto, os resultados de hoje serão desconsiderados, foi barbeiragem de minha parte.

De qualquer forma, destaco as importantes implementações que estou fazendo no código. A versão J que trabalhei fortemente hoje está com a implementação do novo conceito de avaliar ponto de entrada pelo histórico das variações do valor do ativo. Este novo conceito conjugado à trava do "Garante 5" devem ajudar a positivar os resultados. Evidente que muitos testes, simulações e ajustes de setup deverão ser feitos.

Mas esta versão J tem implementado importantes novidades.

Amanhã ainda não conseguirei por em teste de mercado mas vamos ver se na sexta, implemento.

Abr!
hh

P.S.: recebi email da Impacta informando que tenho direito de refazer o C# módulo II. Tenho 3 meses a partir de hoje (ontem), então o prazo de encerramento é 30 de abril. Até lá espero concluir os módulos I e II do VBA e ainda fazer o VB.NET e só depois, refazer o C#. Vamos ver.

terça-feira, 29 de janeiro de 2013

SEGUNDA, DIA 28 DE JANEIRO

Expectativa do primeiro dia fulltime, com o GL+Automate.

Não mexi no Automate. Estou focando no núcleo de decisão do algoritmo e nesta segunda, dia 28, avancei no código.

Fiz alterações no layout, colocando o painel de controle na horizontal (estava na vertical) e implementei no painel e nos logs, o resultado em tempo real, com o acumulado do dia.

O GL deu problema pela manhã (as 9h00) de modo que não peguei a abertura do índice, como gostaria. Consegui ativá-lo (problemas lá na corretora) às 9h44.

Os resultados de hoje:
21.686 processamentos
396 trades
Resultado: -745 pontos
Neste dia, cheguei a ter pico de +815 com pico negativo de -810 pontos.

Escrevi um novo código com uma nova variável Lambda. É preciso mais testes e avaliação calma de processos e pontos da curva para operar. Isso requer tempo, paciência e dedicação. A inspiração na definição da lógica e o empenho em codificar custaram uma reunião marcada a noite que acabei furando. Mal...

Por hoje, cansado...

segunda-feira, 28 de janeiro de 2013

VBA MÓDULO I - AULA 2 DOMINGO 27

Domingo, 27 de Janeiro de 2013.

Bem, como registro no "Diário de Bordo", destaco que apesar de ser penoso acordar cedo e passar um domingo inteiro em curso, este tem valido muito a pena, comparando por exemplo, com o curso do C# Módulo II, que concluí semana passada.

O Hildebrando tem lá seus "momentos de fama" mas regra geral, é um bom instrutor, muito atento e preocupado com o desenvolvimento da turma. Ele para, explica e volta ao assunto sempre que necessário. De certa forma, meu conhecimento prévio também têm ajudado, mas o instrutor tem se esforçado e dedicado em passar as informações do VBA. Faz exercícios e obriga aos alunos a fazerem, o que é ótimo pois força o efetivo conhecimento.

Qdo aos destaques do dia, penso que o principal aprendizado foi relativo ao uso de "select" e dos movimentos do cursor, que consomem tempo e processamento do código. Pensei muito na minha rotina pro relatório do Antivirus e tenho certeza que posso melhorar a performance agora com os conhecimentos adquiridos ontem (estou produzindo este post na segunda, dia 28).

Evitar usar SELECT ou movimentos de célula são fundamentais na melhoria do código e não é necessário estes movimentos de célula e sim uso de variáveis, para aumentar o desempenho do código.

É isso.

sexta-feira, 25 de janeiro de 2013

SEXTA DIA 25 DE JANEIRO

É feriado em São Paulo, aniversário da cidade. Portanto, não houve pregão mas aproveitei e trabalhei o dia todo no código.

No almoço em conversa com o Koiti externei a dificuldade e a diferença em trabalhar no código, nas linhas, nos comandos, na sintaxe dos comandos e trabalhar na concepção, na lógica e no modo como o algoritmo deve pensar, decidir e agir. São duas formas distintas de desenvolvimento, uma requer 99% de transpiração de testes e o segundo, precisa de 90% inspiração (precisa dos 10% de transpiração tbm), criatividade, mas também forte raciocínio lógico.

O que mata nesta parte do desenvolvimento é a parte de "debug" do código e da lógica. Olhar os 8 mil registros que geraram os comportamentos de trade e daí desenvolver soluções criativas de melhoria, é uma demanda grande de trabalho.

Gosto de trabalhar a noite e de madrugada pois além do tempo ameno, o silêncio e sossego ajudam no desenvolvimento. Evidente que há o cansaço físico (e mental), mas acredito que vai valer (muito) a pena, todo esse trabalho.

quinta-feira, 24 de janeiro de 2013

QUARTA, DIA 23

Fico me perguntando agora pq eu não postei o relato de ontem, dia 23. Mas agora relembrando, ontem tive que acordar as 5h30 por conta de meu rodízio do carro para ir à Paulista e estava com muito sono a noite. Acabei dormindo com livros à minha volta e resultou no não-relato do dia. Tava um lixo ontem a noite mas apesar do cansaço, fiz os esboços da nova lógica a ser implementado.

De qualquer forma, no GL tivemos na quarta das 13h22 as 18h00, um total de 8.455 cálculos feitos que decidiram por 89 trades gerando um resultado de -365 pontos.

O curso de C#? uma merda...

QUINTA, 24 DE JANEIRO

Terminou hoje o martírio do curso do C# Módulo II. Realmente lamentável, balanço geral é que "nunca paguei tão caro por um curso de digitação". Relatei ao Fabio, comercial da Impacta sobre o caso e pedi a ele que desejo fazer de novo o módulo II. Mas não em fevereiro, dia 4 como ele até se antecipou pois não posso dispor do horário diurno neste mês tão importante de fevereiro, que é o mês onde tenho o GL com Automate para testes.

Mas o destaque mesmo do dia é o resultado efetivado de +210 pontos. Isto foi obtido com 6.751 cálculos que geraram 103 trades, realizados das 16h06 às 18h00. Pela primeira vez o resultado é positivo!!! (e sem nenhuma alteração nos parâmetros e no código). Aliás, preciso fazer algumas alterações de correção do código, que trava quanto abro outra planilha. Preciso acertar isto e a entrada do primeiro trade que não sei, estava funcionando no Enfoque e não está no GL. Para avaliação mais minuciosa.

Outro destaque é que já tenho os esboços e a lógica para implementar na nova versão, com a rotina "garante 5". Tenho percebido que prioritariamente é muito mais importante investir o tempo na elaboração da lógica do que sair digitando código feito louco. Tenho muitos esboços e muitas limitações técnicas mas vejo o quão importante é ter claramente definido a lógica, as rotinas de entendimento e decisão. Codificar fica menos complicado, apesar do tempo gasto com pesquisas sobre como acertar que o código faça exatamente o que e como queremos.

Bem, ontem acabei não mexendo no Automate e hoje também não, ao menos no horário do pregão. Fiz alguns testes de conexão entre o Automate e o Excel que se mostraram muito proveitosos. Preciso ligar para a Sungard, fabricante do GL/Automate amanhã, vamos ver.

Os dados base para os cálculos de decisão de trades estão aumentando e estou seriamente pensando em como implementar estas informações em um banco de dados (SQL?, Access?), deixando o Excel mais livre para processar apenas a parte de decisão. O GL está dobrando a quantidade de elementos a calcular e isto em apenas parte do período de trade pois de manhã estava indo ao curso do C#.

terça-feira, 22 de janeiro de 2013

TERÇA, DIA 22 DE JANEIRO

Nesta próxima quinta, termina o curso de C# Módulo II. Mais uma aula lamentável, apesar de ter a percepção que o Carlos Magno seja um entendedor de C#. Mas isto não basta, precisa saber repassar este conhecimento e isto, definitivamente ele não sabe...

Refletindo no que vou dizer e como farei a reclamação formal, pois percebo que outros tbm irão reclamar do curso, e dele em especial. É o conjunto da obra: atrasos constantes, não usa a meia hora a mais como compensação da sexta que daria as 40 horas de curso, ele não segue um método e apenas vai repassando um sistema que ele tem em C# e o aproveita para repassar conceitos do curso, enfim, poderia ser um nível III e não nível II.

Bem, saindo desse assunto e indo para coisas boas: comecei a mexer no GL, iniciei algumas primeiras configurações e testes. Fiz meu primeiro trade nele, fazendo uma compra no mini a 61.700 e vendendo a 61.720, ganhando 20 pontos! Uma boa estréia!

Não resisti, comecei a fuçar no Automate também (até parece que não ia né?), estou vendo que com a ferramenta sem dúvida é mais fácil de entender os conceitos do manual, ainda que o tenha lido e relido. Consegui fazer a conexão ao Excel e vi algumas comunicações entre os dois.

Mas não podia ficar só nisso certo? Certo! Comecei a colocar ordens e cancelar e aquele desejo mais forte que eu fez fazer um trade real, pois o módulo de som, com frases que gravei via sintetizador de voz para disparo de alarmes, começou a funcionar exatamente como deveria, informando os alertas previstos. Coloquei ordem na ponta de compra, outra na ponta de venda e depois que disparou o alarme de desativação forçada, percebi que algo não estava certo...

Após desativar o Excel/Automate, vi que tinha executado 5 ordens de compra e outras 5 de venda, batendo numa trava de segurança que havia configurado junto com a Marcela do suporte técnico da XP (felizmente) no GL. Na verdade ela comentou e eu acabei configurando a trava para um total máximo de 5 contratos/dia, para mini índice.

Se não tivesse a trava, ficaria disparando ordens sabe-se lá por qto tempo e em que posição! Mas no fim das contas, estava zerado, com 5 vendas a 61.755 e 5 compras a 61.735, ou seja, com um resultado positivo de 100 pontos!!!

Acabei o dia com 120 pontos reais POSITIVOS, pois usei a conta real para os testes do GL e do Automate.

Amanhã faço mais testes, mas com mais cautela e procurando entender exatamente o que aconteceu.

segunda-feira, 21 de janeiro de 2013

SEGUNDA, DIA 21 DE JANEIRO - GL WIN

Como previsto, recebi hoje e comecei a instalar e configurar, o GL em período de demonstração, sem o custo mínimo mensal obrigatório. A surpresa positiva diante dessa notícia boa foi a disponibilização do Automate junto.

Show de bola, mas faz aumentar a responsabilidade ao mesmo tempo em que reduz o ciclo de aprendizado e possibilita, possivelmente, antecipar entrada em produção de primeira versão viável.

As idéias estão borbulhando mas preciso ter claro alguns pontos sem atropelar o período de desenvolvimento e sem comprometer a agenda atual:

1. Concluir o C# Módulo II, que infelizmente por conta de um instrutor ruim, não estou aproveitando o curso;

2. Concentrar no curso do VBA (módulos I e II), pois ele é o que me oferecerá as ferramentas imediatas para melhoria e desenvolvimento do robô;

3. Consolidar conhecimento no GL Win, realizar alguns trades e depois ativar o Automate e realizar testes nele, em paralelo ao período de desenvolvimento do robo até estabilizar uma primeira versão possivel de operar em mercado efetivo.

Bem, tenho um bom período de trabalho a desenvolver!

SEGUNDA DIA 21

Aula de C# de hoje foi lamentável. Além da dificuldade natural da matéria, o Carlos Margo me chega atrasado de novo. E depois põe pra fazer nas coxas a matéria correndo. No fim já tinha me perdido todo...

Pior, ele tbm se embananou todo no fim da aula... Muito ruim...


domingo, 20 de janeiro de 2013

SABADÃO, 19 DE JANEIRO

Inverti as postagens, mas não posso deixar de registrar o avanço do trabalho no sábado, pois desenvolvi uma rotina de simulação de trade, usando as informações de mercado captadas até agora.  A cada simulação em mercado real, eu gero um conjunto de logs importantes com dados de variação do mercado. Com estas informações, faço análises e principalmente, comparações de desempenho.

Com a automatização deste processo, posso gerar uma simulação de quase 5 horas de pregão em alguns poucos segundos. Muito bom e produtivo o sábadão!

DOMINGÃO, 20 DE JANEIRO

Primeiro dia de aula do VBA Módulo I, em pleno domingão, das 9h às 18h.

Apesar do atraso do instrutor Hildebrando, ao menos ele se mostra muito mais receptivo, mais entrosado e conectado com a turma, com desejo real de preocupação com os alunos em entender a matéria, diferente do Carlos Magno do curso de C# II que demonstra nenhum interesse pelos alunos, nenhuma empatia e sinto que ele quer mesmo é que termine logo a turma e receba seu ganho pelas aulas. Uma pena... dele.

Mas falando em VBA, apesar das coisas básicas sendo passadas, vejo que é bom fazer o curso presencial do módulo I pois eu acompanho o ciclo de aprendizado de forma gradativa e com conceitos de base que eu não tinha, que foi muito bom, como o escopo das variáveis.

Descobri na aula de hoje que no VBA, são 3 níveis de escopo das variáveis sendo declaras da seguinte forma:

1º nível: dentro do Sub/EndSub, em que a variável morre qdo encerra a rotina. É usado a sintaxe DIM variável As <tipo de variável>;

2º nível: dentro do módulo, onde a variável pode ser usada no âmbito de todas as rotinas dentro do mesmo módulo. É declarada com a expressão "Private" no lugar de "Dim";

3º nível: a variável é vista e usada por todos os módulos existentes de determinado projeto e sua sintaxe é equivalente às anteriores sendo trocada a declaração "Dim" por "Public".

Muito boa essa hein? Pra mim foi!!!

sexta-feira, 18 de janeiro de 2013

SEXTA, 18 DE JANEIRO DE 2013

Ultimo dia de CDT, terceiro dia de monitoramento na avaliação do kernel do robô. Com certa relutância, mas avaliando os resultados de ontem e anteontem, decidi alongar o stop (de 30 para 35) para ver se reduzia a frequência dos stop loss.

Bem, reduziu o volume total de trades conforme previsível, mas os resultados parcial mostram que não surtiram os resultados esperados, apesar que os stop gain, menos que os loss, tiveram uma grande consistência (chegou a dar 100 pontos num único trade).

Quanto ao curso de C#, fiquei fudido com o atraso do professor e avalio como de baixo rendimento, meu aproveitamento está abaixo de regular. E pena que da turma, talvez apenas um único esteja entendendo o que acontece pois estamos tendo um caríssimo curso de digitação... nesse quesito estou indo muito bem, em relação ao meu companheiro de lado que coitado, faz de entendido mas nem acompanhar a digitação consegue...

Os dados consolidados do dia de hoje do robô Turing02 ainda não foram tabulados. Faço isso mais tarde ou amanhã.

Pensando em como me preparar para um aproveitamento máximo do curso de VBA, que começa neste domingo (dia todo!!!) e que está sendo a base neste momento, do querido Turing.

Ao fim da tarde, em uma conversa de fim de expediente com o Cleber/CDT, mostrei os resultados apresentados, os movimentos em tempo real dos comados de trade e ele ficou positivamente surpreso. Fiquei feliz com a surpresa dele e reforça que estou indo na direção certa. Fiz uma boa analogia com os ajustes de um carro de corrida, que precisam de inúmeras calibrações e ajustes, antes de se tornar um carro vencedor.

O mesmo ocorre agora com o algoritmo pois preciso realizar algumas calibrações e implementar controle que possam fazer com que o próprio Turing analise e calibre um conjunto de variáveis: stops, momento de entrada, saída sem mudar tendência, saíde de fim de dia, saída "Now" e alguns controles de emergência, além de protocolos de segurança.

P.S.: Resultado consolidado destes primeiros 3 dias de operação do robô:

               HORÁRIOS     QTDE TOTAL RESULT    PONTOS
INICIO TERMINO   TEMPO    CALC TRADES
16/jan 12:54:00 16:05:00 3:11:00 2.435 69 -190
17/jan 13:46:00 18:01:00 4:15:00 3.616 95 -490
18/jan 13:13:00 18:01:00 4:48:00 4.146 85 -715

Estou aumentando o resultado consistentemente!!! (só que para o lado errado, rsrsrs). Mas ok, sem problemas. Há muito a implementar e ajustar.

quinta-feira, 17 de janeiro de 2013

QUINTA 17 DE JANEIRO

E vamos direto aos resultados de hoje:

Trades das 13h46 às 18h00.

3.616 análises
95 trades

Resultado: -490 pontos (!!!)

Cada vez mais tenho mais convicção que estou no caminho certo.

Muitos dos parâmetros, já tenho em mente em mexer mas vamos ver os resultados de amanhã.

quarta-feira, 16 de janeiro de 2013

16 de Janeiro - Quarta-feira

Dia de meu rodizio do carro, por isso cheguei antes das 7h00 em SP (!). Cara, muito cansado hoje, o que me fez reduzir o pique pelos primeiros resultados apresentados.

O "kernel" no robô, o algoritmo de decisão base está feito e as principais interfaces brutas estão operacionais fluindo entre a planilha Excel e o processo/código VBA.

O cansaço não está me deixando curtir o sucesso no processo e nem analisar o PRIMEIRO RESULTADO do algoritmo em sua primeira versão.

Tenho a amostragem da rotina em operação com dados reais de mercado de hoje, das 12h54 às 16h05, hora que cheguei e conectei o meu note no link do CDT/XP (e nem almocei hoje, voltei correndo da Impacta para o CDT ansioso pra ver rodar em ambiente de mercado).

Os números brutos mostram 71 trades realizados num total de 2.436 alterações de preços do mini-índice durante o período monitorado.

Bem, o resultado financeiro? rsrsrs... o resultado deu negativo em 190 pontos... mas não estou triste, pelo contrário, muito animado com o primeiro resultado. Apenas cansado e com (muito) sono hoje, que não está me deixando analisar os logs das operações. Vou tirar mais amostragens com esta rotina de decisão e em paralelo, desenvolver a evolução das rotinas de análise e decisão de trade, que é o cérebro e coração deste projeto.

Comecei a alterar o código para algumas evoluções e implementações que anotei, como colocar resultado financeiro em tempo real na planilha e alguns mudanças técnicas mas pouco produtivo por conta do cansaço.

E o curso do C# Módulo II? Estou levando na boa, mas rigorosamente falando, acho que está sendo muito caro para um curso de digitação sofisticado pois o instrutor (talvez por comodidade dele) está passando tudo muito mastigado à toda turma e mais que ensinar os processos, instruções, classes, heranças, conexões do C# com o SQL (vimos hoje), etc, ele está passando como deve ser digitado aquilo que ele deseja... e totalmente fora da apostila (me parece um padrão deles... foi a mesma coisa no módulo I).

Mas ainda assim, sem dúvida estou tendo contato com muito mais informação da linguagem do que se estivesse fazendo sozinho, apesar que parte do que está sendo passado neste módulo, estudei no período de festas do fim do ano. Decepção com a Impacta (e comigo tbm), foi o curso EAD do SQL Server 2008. Não consegui fazer, talvez eu ajuste e faça como presencial, vamos ver.

terça-feira, 15 de janeiro de 2013

DIA 15 DE JANEIRO DE 2013 - UM MARCO (?)

Hoje a tarde, no CDT acabei concluindo a primeira versão bruta do algoritmo de trade.

Infelizmente não consegui testar em ambiente de mercado por conta do horário pois passei a tarde corrigindo falhas da versão que trabalhei no fim de semana.

Estou em grande expectativa, apesar de saber que esta versão é apenas conceitual, pois não consigo usar em ambiente real de mercado (e no mercado, tudo muda...).

Ainda assim, estou com uma sensação muito boa, pois o núcleo de lógica e tomada de decisão está exatamente da forma que idealizei, o que me faz relevar todos os aborrecimentos atuais.

PARTE2:
Fiquei sabendo que o Thiago Morgado ia dar aula hoje à noite no CDT, aproveitei e conversei com ele sobre o GL e o Automate. A proposta de testar por um mês free é boa, mas só terei o Automate liberado em fevereiro. Aproveitei e pedi o GL sem carência por este período que vai de semana que vem, que encerra meu período de CDT até o fim do mês e a partir de fevereiro, com o Automate. Apesar que de "sem custo" não tem nada...apenas que se eu não fizer trade, não terei o custo mínimo de R$ 1k5 (mas está ótimo para experimentar sem me comprometer por 1 ou 2 anos).

Tive como proposta comercial concreta, devolução de 98% de corretagem para mini-índice, que fica no custo de R$0,35 por operação (R$0,70 ciclo completo: compra/venda ou venda/compra). Preciso checar quanto é o preço "cheio".

segunda-feira, 14 de janeiro de 2013

DIÁRIO DE BORDO - SEGUNDA DIA 14 DE JANEIRO

Comecei o curso do C# módulo II hoje, no período da manhã. Complicado o trânsito na Imigrantes e o estacionamento na Paulista de dia (um absurdo de caro!).

Não fiz trade hoje, continuei focando no código.

Continuei a trabalhar no código agora a noite e na hora de iniciar as simulações, nada... To cansado...

Mas enfim, um passo pra frente, dois pra trás... mas ok, tudo bem pois amanhã é um novo dia!

Agora ao fim da tarde, fechei minha inscrição nos cursos de VBA Módulos I e II. Fechei o pacote pensando que tive um bom desconto, mas revendo meus orçamentos do ano passado, não foi tão bom assim, pois tive o desconto que já tinha. Mas ok.

Robô Turing01

Semana passada tive péssimos resultados no índice (em parte por conta do assalto e encontro do FIT), mas foi uma oportunidade de ir mais a fundo com a plataforma Enfoque e fiz as conexões DDE da planilha de cotações e do book de ofertas (sensacional).

Percebi diferenças nos resultados apresentados entre o Enfoque do meu note e a estação de trabalho do CDT e minha conclusão é que apesar de ter bons recursos, entermos de desempenho e reduzida latência, o terminal deixa a desejar.

Mesmo assim, extrai informações extremamente importantes, como histórico dos trades de índice (mini, pra ser mais exato - WING13) que me ajudarão no desenvolvimento do código do robô.

Estou chamando de "Turing01", em homenagem à Alan Turing, que além de renomado matemático, foi um dos primeiros cientistas da computação da história moderna, pai dos fundamentos da inteligência artificial e criador das bases para os atuais sistemas de criptografia. Nada mais justo homenagear esta grande personalidade.

Comecei a escrever as primeiras linhas de código do algoritmo de trades. Passei fortemente o fim de semana relembrando e reestudando as bases do VBA e no domingo a noite, após uma breve parada de descanso, consegui transpor a primeira grande barreira técnica, que é conseguir tratar a informação vinda pelos links DDE da bolsa. Vamos testar amanhã em condições reais.

Hoje, dia 14 começo a partir das 8h00, novo curso na Impacta, de C# Módulo II. Não me preparei como gostaria, pois foquei no VBA por conta da codificação do robô. Mas tudo bem, vamos ver como será.

É isso aí! Como hora-estra, buscando minha filha na balada de aniversário.

sexta-feira, 11 de janeiro de 2013

Adele - Someone Like You

Um pouco de música, pois ninguem é de ferro... principalmente à 1h30 da manhã na quinta, com todos os dias indo dormir às 2h, 3h ou 4h da manhã... C# que o diga...

SOBRE QUINTA, DIA 10 - PROJETO ROBÔ

Ontem, quinta dia 10 de janeiro foi mais um dia de péssimo resultado com operação de trade com índice (mini-índice WING13).

Mas tive excelentes insigths na qual preciso deixar registrado, das anotações manuais que fiz, que serão base para a primeira versão do algoritmo de trade. Também cheguei a conclusão que será mais rápido e melhor (não menos complexo), desenvolver as primeiras versões baseado no Excel, com a plataforma GL junto com o módulo Automate, que roteia ordens diretamente do Excel, via GL.

Estou procurando alguém que conheça a ferramenta, vamos ver se consigo descobrir alguma pessoa que possa me ajudar tecnicamente e com boas dicas para economizar cabeçadas no desenvolvimento.

Bem, quanto aos insights:

  • Estudar o histórico do índice, eu baixei pelo gráfico do Enfoque, histórico de 1 minuto, que procurava lá na BOVESPA. Agora fica mais fácil para analisar e desenvolver alguns conceitos que serão a base do algoritmo;
  • Com o histórico, será possível dimensinar e calibrar alguns parâmetros de trade;
  • Devo usar a estratégia do "estando na mão errada, sair da posição e já se posicionar contrário"?
  • O histórico gerado em .txt está seguindo a ordem das colunas: Abertura, Máximo, Mínimo, Fechamento e Volume (achei divergências no volume);
  • Há variações no índice em mais de 100 pontos (pra cima e pra baixo) e avalio e me convenço que ter um mecanismo automatizado eficiente de stop, para ganho e perda, com stop móvel pode ser uma excelente oportunidade de algoritmo inicial;
  • A "virada de mão", o início das operações do algoritmo e término do mesmo garantindo zerar posições ao fim do dia são algumas das dúvidas iniciais para conceituação do projeto técnico;
  • Outra dúvida é como avaliar e administrar os intervalos diários durante pregão. O algoritmo sempre estará posicionado em alguma mão enquanto opera?
Bem, estes são os primeiros insigths bem como dúvidas iniciais. Me pareceu simples no começo mas quando comecei a gerar as primeiras tabelas no excel com os dados do histórico, percebi a alta complexidade desta ideia relativamente simples. Mas como o próprio mecanismo de busca do Google, a interface é simples, intuitiva e de resultado mas o que tem de lógica, matemática e código por trás desta simples interface, é coisa de louco. Qto mais simples e direta a interface, mais complexo é a lógica por trás dele. 

Espero poder montar meu algoritmo dentro da simplicidade, elegância e inteligência de uma interface Google, bem como os resultados esperados do mesmo.

quinta-feira, 10 de janeiro de 2013

QUINTA, DIA 10 DE JANEIRO

Operação com índice hoje foi lastimável. Mas por conta dos péssimos resultados operando índice, fiz uma avaliação melhor do processo de trade e tive alguns excelentes insights que me permitirão montar o algoritmo de trade.

Isto gerou alguns novos eventos com minha volta à prioridade com VBA, apesar de já ter fechado matrícula para conclusão do módulo II do C#. Cada vez mais fico convencido que o C# é uma poderosa ferramenta de desenvolvimento junto com o .Net e o Visual Studio. Mas preciso priorizar resultados de curto prazo, e para tanto, é com o uso do GL+Automate e o bom e velho Excel.

OK, há uma grande chance de eu me embanar com o curso de SQL 2008, junto com C# Módulo II e agora, o VBA Mód I.

Fechei o curso do VBA Módulo I. Semana que vem e na outra fico no C# de manhã, à tarde do CDT e a partir do dia 20 de janeiro, curso das 8h às 17h aos domingos (vai ser sensacional!).

Tive uma excelente conversa com o Giovanni e o Marcelo do CDT, sobre pessoas que estejam operando com o Automate. Eles irão verificar e me informar pois acredito que economizarei um bom tempo se conseguir falar com alguém que conheça e use o módulo do GL.

Vou verificar com o ZL o que ele teria para mim.

QUARTA, DIA 9 DE JANEIRO

Não consegui operar por conta de ter que gastar o tempo indo na segurado pegar a cópia das chaves do FIT (e pior, vou ter que voltar de novo...). Relembrando toda a "assistência" que tive da seguradora e de meu "corretor".

Mais um dia totalmente perdido. Só não foi pior pois aproveitei e peguei a apostila do curso de Banco de Dados SQL Sever 2008 bem como pela felicidade de ter comprado um bom livro de SQL da Microsoft, lá perto da Impacta.

terça-feira, 8 de janeiro de 2013

TERÇA DIA 8 - RESULTADO ZERO

Hoje de manhã recebi informação da polícia dizendo que encontraram o FIT que foi levado nesta última quarta, dia 2 de janeiro. Dois motoqueiros pardos em uma moto, o garupa com mochila de disk-pizza e com arma em punho assaltaram meus filhos que voltavam do Shopping um pouco antes das 22h, em frente de casa.

Pensar que apontaram a arma no meu filho e queriam levar minhas duas filhas me aterroriza mas felizmente foram apenas bens materiais. O carro dentro do possível está ok, mas o prejuizo dos meus filhos com iphone, ipods, cels, roupas, etc foi grande (além do trauma psicológico)... mas felizmente eles estão todos muito bem! Estou feliz e agradecido por nada pior ter acontecido com eles.

Mas decepciona o atendimento do meu corretor bem como da seguradora AZUL (que é do grupo Porto Seguro). Pior é a canseira que deu por falta da maldita chave reserva, chave esta em poder da seguradora. E que descobri agora à pouco que estava do meu lado, hoje de manhã no escritório da Av. Paulista, contrário à infeliz declaração do meu corretor que além de não me dar nenhuma assistência, informou que o documentos, bem como a chave reserva, estavam no RJ (e não estava.... estava lá na Paulista, do lado do prédio que eu me encontrava e que poderia ter economizado HORAS DE ABORRECIMENTO com polícia, com guincho, etc).

Isto me faz lembrar a história de tempos atrás de um corretor de seguros amigo meu que queria me vender seguro e eu disse que não, pois já tinha um. Eu até proibi ele de me fazer uma proposta pois não era minha intenção fazer leilão, nem trocar de corretor. Ele me indagou:
- "É de confiança?" perguntou;
- "É, ele é cunhado de meu sócio" respondi;
- "Já precisou de assistência dele?" retrucou o meu amigo;
- "Não..." respondi hesitado;
- "Vc só vai saber se é de confiança ou não quando precisar de assistência de verdade" disse ele, anos atrás que agora martela na minha cabeça como uma grande e pesada bigorna... ele nunca mais tocou no assunto de seguros comigo e continua meu amigo até hoje.

Bem, não preciso nem dizer que acabou o dia e que não deu pra fazer nenhum trade hoje né?

segunda-feira, 7 de janeiro de 2013

RETOMANDO CDT

Retomando agenda de treinamento no CDT, com primeiro dia operando índice (mini).

Resumindo, foi uma m#$@*&...

Não contabilizei o resultado mas foi muito ruim... muito mesmo...

sábado, 5 de janeiro de 2013

Feliz 2013!

Segunda dia 7 começo oficialmente o ano de 2013.


Ainda assim, começamos o ano com um incidente que foi o roubo do FIT por dois meliantes em moto, na frente de casa. Mas felizmente meus 3 filhos que estavam no carro estão bem. Foram-se os bens materiais, mas ficaram o mais importante, meu tesouro: meus filhos.