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...