Uma implementação computacional livre e aberta para o sistema de negociação de ações por impulso (Impulse System)



Documentos relacionados
SISTEMA DE NEGOCIAÇÃO DE AÇÕES POR IMPULSO: UMA IMPLEMENTAÇÃO DIDÁTICA EM SOFTWARE LIVRE

SETA (SISTEMA PARA ESTUDO TÉCNICO DE AÇÕES) UMA CAIXA DE FERRAMENTAS COMPUTACIONAIS APLICADAS AO ENSINO DE TÉCNICAS DE NEGOCIAÇÃO DE AÇÕES

FERRAMENTAS GRÁFICAS PARA O ENSINO DE TÉCNICAS DE NEGOCIAÇÃO DE AÇÕES

Projeto de uma caixa de ferramentas computacionais aplicadas ao estudo técnico de ações

VISUALIZAÇÃO DE TENDÊNCIAS DE MERCADO: DESENVOLVIMENTO DE UMA FERRAMENTA GRÁFICA A PARTIR DE SOFTWARE LIVRE

Primeiros Passos para o Simulador de Ações do FinanceDesktop. Parte A INICIANDO E CONFIGURANDO (5 passos)

Treinamento GVcollege Módulo Acadêmico - Pedagógico

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

Manual SAGe Versão 1.2 (a partir da versão )

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

1 INTRODUÇÃO. 1.1 Motivação e Justificativa

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

PROJETO DE PESQUISA MODALIDADE INICIAÇÃO CIENTÍFICA (BOLSA PIC/FACIT/FAPEMIG)

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

ADM041 / EPR806 Sistemas de Informação

Mídias sociais como apoio aos negócios B2C

Módulo 4 PREVISÃO DE DEMANDA

Manual Operacional SIGA

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

Estatística Básica via MySQL para Pesquisas On-Line

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Dadas a base e a altura de um triangulo, determinar sua área.

Sistemas de Informação para Apoio à Decisão Gerencial

CURSO DE EXTENSÃO ON-LINE EM. avançado. Edital de seleção

LÂMINA DE INFORMAÇÕES ESSENCIAIS SOBRE O ALFA II AÇÕES - FUNDO DE INVESTIMENTO EM AÇÕES DA PETROBRAS CNPJ: /

1. Introdução. 1.1 Introdução

RESOLUÇÃO CONSEPE 30/2005

UNIVERSIDADE FEDERAL DE SANTA CATARINA

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Professor Severino Domingos Júnior Disciplina: Gestão de Compras e Estoques no Varejo

Sistema de Controle de Solicitação de Desenvolvimento

SECRETÁRIA DE ESTADO DA EDUCAÇÃO DO PARANÁ CURSO PROFISSIONALIZANTE INFORMÁTICA

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

INTRODUÇÃO A PORTAIS CORPORATIVOS

Iniciantes Home Broker

ORGANIZAÇÃO CURRICULAR

Construção de Modelos de Previsão de Risco de Crédito Utilizando Técnicas de Estatística Multivariada

Unidade I FINANÇAS EM PROJETOS DE TI. Prof. Fernando Rodrigues

Sociedade da Informação

MANUAL DO SISTEMA GT WEB CALL. Teledata

Plano de Trabalho Docente Ensino Técnico

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

Simulação Computacional de Sistemas, ou simplesmente Simulação

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

SUMÁRIO. Faculdade Católica do Tocantins

Ensino da Estatística na Educação Básica: Ferramenta Computacional como proposta para o processo pedagógico

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: Análise de Sistemas I Conteúdo: Conceitos de Análise de Sistemas Aula 01

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

COM A TÉCNICA DE REGRESSÃO LINEAR SIMPLES

Um Driver NDIS Para Interceptação de Datagramas IP

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

CAPÍTULO 1 - CONTABILIDADE E GESTÃO EMPRESARIAL A CONTROLADORIA

Material de Apoio. Sistema de Informação Gerencial (SIG)

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

4 Estratégias para Implementação de Agentes

O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR

PROGRAMA DE CAPACITAÇÃO E APERFEIÇOAMENTO PARA TUTORES - PCAT

Como conduzir com sucesso um projeto de melhoria da qualidade

ISO/IEC 12207: Gerência de Configuração

Proposta de um método para auditoria de projetos de desenvolvimento de software iterativo e incremental

Engenharia de Requisitos Estudo de Caso

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

UNIVERSIDADE FEDERAL DO CEARÁ PRÓ-REITORIA DE GRADUAÇÃO CAMPUS DE SOBRAL

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

1. INTRODUÇÃO 3 2. ESCOPO DO SERVIÇO DE CUSTOMIZAÇÃO 3

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Gerenciamento de Incidentes

Gustavo Noronha Silva. Projeto de Pesquisa: Impactos do Software Livre na Inclusão Digital

Formação: o Bacharel em Sistemas de Informações (SI); o MBA em Tecnologia da Informação e Comunicação (TIC).

Especial Online RESUMO DOS TRABALHOS DE CONCLUSÃO DE CURSO. Sistemas de Informação ISSN

Trabalho Interdisciplinar. MS Project

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Engenharia de Software III

OI CONTA EMPRESA MANUAL DO USUÁRIO (exceto Administradores de Conta)

Introdução ao jseta (Sistema para o Estudo Técnico de Ações em JAVA) e ao estudo técnico de ações

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

A IMPORTÂNCIA DA MEDIÇÃO DE ENERGIA PARA EFICIÊNCIA ENERGÉTICA

HCT Compatibilidade Manual do Usuário

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

Curso de Educação Profissional Técnica de Nível Médio Subseqüente ao Ensino Médio, na modalidade a distância, para:

Projeto de Sistemas I

PMI-SP PMI-SC PMI-RS PMI PMI-PR PMI-PE

MANUAL DO GERENCIADOR ESCOLAR WEB

E-books. Guia para Facebook Ads. Sebrae

Iniciação à Informática

III Semana de Ciência e Tecnologia IFMG - campus Bambuí III Jornada Científica 19 a 23 de Outubro de 2010

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

Módulo de Extensão SIGAA. Gerenciamento de Participantes

NECESSIDADE DE CAPITAL DE GIRO E OS PRAZOS DE ROTAÇÃO Samuel Leite Castelo Universidade Estadual do Ceará - UECE

Governança de TI. ITIL v.2&3. parte 1

Transcrição:

Uma implementação computacional livre e aberta para o sistema de negociação de ações por impulso (Impulse System) CAMARGO, José Tarcísio Franco de Faculdade Municipal Prof. Franco Montoro (FMPFM) Centro Regional Universitário de Espírito Santo do Pinhal (UNIPINHAL) Centro Guaçuano de Educação Profissional Gov. Mário Covas jtfc@bol.com.br BORTOLOTI, João Alexandre Faculdade Municipal Prof. Franco Montoro (FMPFM) Escola Superior de Administração, Marketing e Comunicação (ESAMC) Universidade Paulista (UNIP) jabortoloti@uol.com.br BARROS FILHO, Jomar Faculdade Municipal Prof. Franco Montoro (FMPFM) jomarbf@uol.com.br VERASZTO, Estéfano Vizconde Faculdade Municipal Prof. Franco Montoro (FMPFM) estefanovv@gmail.com Resumo: Este artigo apresenta um sistema computacional desenvolvido com o propósito de fornecer um instrumento para a análise técnica do mercado de ações. Dentre os principais objetivos deste trabalho, além da criação do sistema propriamente, temos o desenvolvimento de uma plataforma livre e aberta para uso e atualização. Dessa forma, espera-se que este projeto possa contribuir para a realização de análises mais seguras do mercado de ações so, na medida do possível, otimizado por seus próprios usuários. Dentro deste escopo, apresentamos a concepção do sistema, os indicadores e osciladores de mercado utilizados e o código fonte do projeto. Todo o projeto é fundamentado dentro da concepção de software livre. Palavras-chave: econometria, análise técnica de ações, sistemas de computação. Abstract: This paper presents a computer system developed for the purpose of providing a tool for technical analysis of the stock market. Among its main objectives, besides the creation of the system itself, is the development of a free and open platform to use and update. Thus, it is expected that this project will contribute to a safer analysis of the stock market providing, as far as possible, a system that can be optimized by its users. Within this scope, we present the design of the system, indicators and oscillators used by the market and the source code of the project. The entire project is based on the concept of free software. Keywords: econometrics, technical analysis of stocks, computing systems. 1. INTRODUÇÃO Os atuais sistemas computacionais e redes de telecomunicações tornaram o acesso ao mercado de compra e va de ações nas bolsas de valores uma realidade ao alcance de qualquer investidor. Com o auxílio de um

computador e uma linha de conexão com a internet um investidor pode, em tempo real, realizar negociações de ativos em bolsa através de um sistema home broker. Por sua vez, o investidor on-line que realiza investimentos através da análise técnica [1] pode dispor de diversos programas de computador que podem ser utilizados para a orientação do investimento. Existem atualmente diversos softwares proprietários (que exigem pagamento para a sua utilização) e livres que fornecem diversas ferramentas para a análise técnica de ações. Contudo tais programas não costumam possuir código aberto (disponível para a consulta e atualização por terceiros). Embora, por razões óbvias, não seja do interesse das empresas e profissionais que comercializam software disponibilizar o código de seus sistemas, acreditamos que esta é a melhor forma de construção de um sistema eficiente e atualizável de forma colaborativa e frequente. Adicionalmente, o código aberto fornece uma segurança a mais ao usuário, to em vista que, dessa forma, erros podem ser encontrados e corrigidos com mais facilidade. É neste sentido que se encontra o escopo deste trabalho: fornecer uma ferramenta computacional para a análise técnica do mercado de ações, fundamentada no conceito de software livre, com código fonte aberto a consultas e atualizações por qualquer usuário. A ferramenta em questão que disponibilizamos através deste artigo é o Sistema de Negociação por Impulso (Impulse System) descrito inicialmente por Alexander Elder em [3]. 2. FUNDAMENTOS TEÓRICOS O mercado financeiro é influenciado por uma grande quantidade de fatores. A criação de funções que descrevam uma determinada variável do mercado em função de outras variáveis é algo muito complexo. Uma função que apresenta em dado momento bons resultados de previsão pode num momento seguinte ser ineficiente devido a mudanças constantes nos valores das variáveis e das próprias variáveis envolvidas. O mundo financeiro é extremamente dinâmico so afetado por uma grande gama de fatores, como por exemplo, índices econômicos nacionais, internacionais, desempenho de empresas locais e externas, decisões políticas, eventos naturais, climáticos e até mesmo a expectativa da ocorrência de eventos. Assim so as ferramentas econométricas, via de regra, procuram selecionar um subconjunto de fatores que afetam de maneira notória alguma variável de interesse como, por exemplo, a cotação de ações de certa instituição. Mesmo reduzindo muito a quantidade de variáveis que hipoteticamente afetam significativamente os resultados os erros das previsões podem surpreer. Comumente as funções geradas apresentam falta de ajuste ou super ajuste com a modelagem de erro aleatório. As análises de variância normalmente não podem ser descritas por ANOVA típicas e em vários casos são aplicadas MANOVA devido o comportamento dos dados. Diversas técnicas de análise estatística mais complexas podem ser empregadas como aquelas baseadas em bootstrap, simulated annealing, ML, REML, algoritmo genético e redes neurais. Contudo mesmo com essas ferramentas a imprevisibilidade do mercado ainda se mostra presente. Mesmo com tantas dificuldades as análises que apresentam melhores resultados são aquelas baseadas em métodos estatísticos e, mesmo com suas limitações, apresentam maior confiabilidade. Um importante aspecto do processo da análise de mercado é o volume de dados a serem tratados. Quantidades elevadas de dados tornam inviável o emprego de ferramentas estatísticas sem o uso de softwares adequados. E mesmo em alguns casos faz-se necessário o emprego de técnicas para reduzir o número de variáveis em estudo, como no caso da análise de componentes principais. Graças à correlação entre muitas variáveis podem-se empregar regressões multivariadas com a manipulação de

grandes matrizes em operações que envolvem inversões e diagonalizações impraticáveis sem o auxílio computacional. Neste contexto o desenvolvimento de softwares especializados, de fácil utilização e gratuitos é extremamente importante. As planilhas eletrônicas em pacotes office muitas vezes apresentam ferramentas que podem auxiliar na tomada de decisões mas exigem o conhecimento de técnicas estatísticas necessárias para a escolha daquela mais adequada. Por outro lado, principalmente os usuários domésticos pequenos investidores não dominam os conceitos estatísticos necessários e as ferramentas acabam não so empregadas. Softwares mais especializados para análise de investimentos muitas vezes são pagos e pouco divulgados para usuários não corporativos. Dentre os vários métodos de análise financeira com interesse para investidores iniciantes e mesmo experientes destacam-se as Séries Temporais. As Séries Temporais estão presentes nos estudos das taxas de juros, flutuação do câmbio, volume de importação e exportação, dentre outras séries financeiras mesmo que estas apresentem distribuição não normal e efeitos com falta de linearidade. As séries temporais podem ser abordadas com técnicas gráficas, principalmente para se determinar a presença de padrões, modelos probabilísticos, métodos não paramétricos (para suavização e alisamento), modelos não lineares etc. A análise da série muitas vezes deseja obter a tência existente e suavizar a as oscilações em torno desta. Existem várias técnicas para suavizar os resíduos como a filtragem linear e a regressão local. Normalmente as técnicas empregadas para a análise da Série Temporal são trabalhosas e repetitivas e por isto empregam programas computacionais específicos. [4,5,6] Neste contexto o desenvolvimento de softwares com objetivo de realizar os cálculos pertinentes à análise da Série Temporal torna-se essencial. A quantidade de dados envolvidos exige a confecção de programas computacionais para a realização dos cálculos e interpretação gráfica de resultados. O programa confeccionado neste trabalho possui código livre e espera-se que seja atualizado e aperfeiçoado ao longo do tempo com a contribuição de usuários e programadores. Novas análises econométricas poderão ser implementadas e ferramentas complementares se tornarão acessíveis para usuários interessados em realizar investimentos com o auxílio da matemática e estatística. Outro fator importante é simplicidade na utilização do software. Muitos usuários não possuem conhecimentos avançados em informática o assim, para que um software se popularize, é fundamental que haja simplicidade na aquisição dos dados, tratamento e apresentação dos gráficos. Assim alguns conhecimentos das técnicas econométricas empregadas permitirão que o usuário passe a tomar decisões mais fundamentadas com o auxílio do software [12-17]. Este texto não prete expor em detalhes todos os fundamentos da análise técnica e das operações de mercado, mas sim apenas os indicadores envolvidos no sistema a que propomos estudar. Noções fundamentais da área podem ser observadas em [1,8,10], enquanto que algumas técnicas mais elaboradas de negociação podem ser encontradas em [7,9,11]. 2.1 Caracterização do Impulse System O Impulse System caracteriza-se por combinar dois indicadores relativamente simples: uma média móvel exponencial (MME) [2,11] (que mede a inércia do mercado) e um histograma MACD [2,11] (que mede o impulso do ativo). Quando ambos apontam na mesma direção identifica-se um impulso a ser seguido. Segundo [3], temos um sinal de entrada quando ambos os indicadores possuem inclinação ascente e um sinal de saída quando estes deixam de se confirmar.

Ainda de acordo com [3], devem ser utilizadas duas MMEs, uma semanal, de 26 semanas, para a verificação da tência de longo prazo, e uma MME diária de 13 dias para a observação da tência de curto prazo. Caso estas tências encontrem-se em movimento ascente, deve-se procurar a confirmação através do histograma MACD, parametrizado em 12-26-9 dias, que também deverá ter inclinação ascente para que seja confirmado o sinal de compra. Quando qualquer um destes três indicadores passar a apresentar inclinação descente, temos o sinal de va. O impulse system usa as MMEs para detectar tências de alta e baixa. Por sua vez, o histograma MACD é o componente que confirmará ou não a tência de alta. Quando as MMEs e o histograma MACD sobem, sabe-se que a tência de alta está se acelerando. Por outro lado, quando ambas caem constatase que o mercado está se tornando baixista. 2.2 As médias móveis Uma média móvel caracteriza-se por indicar um valor médio de um intervalo de amostras sequenciais dentro de uma série temporal. Duas medias móveis bastante comuns em econometria são a aritmética e a exponencial. A média móvel aritmética (MMA) fornece pesos iguais para todas as amostras dentro do intervalo de observação. Por sua vez, uma média móvel exponencial (MME) caracteriza-se por conceder um maior peso às amostras mais recentes dentro do intervalo de observação. Cada uma delas apresenta implicações distintas para determinadas aplicações. A MMA de k amostras avaliada sobre uma série temporal S = {s 1, s 2,..., s n } composta por n elementos também é caracterizada por uma série temporal com (n-k+1) elementos, podo ser definida na forma: MMA = {m 1, m 2,..., m i,..., m n-k+1 } onde: m i = ( i+ k 1) s j j= i Dessa forma, convencionaremos que a MMA de k amostras (dias, por exemplo) sobre uma série temporal S será representada por: MMA k (S) A MME de k amostras avaliada sobre a mesma série temporal S também será caracterizada por uma série temporal com (n-k+1) elementos, so definida por: MME = {m 1, m 2,..., m i,..., m n-k+1 } onde, para i>1: m s θ + m (1 ) e: k i = k+ i 1 i 1 θ 2 θ = n + 1 so m 1 calculado através de uma média na forma: m k j= = 1 1 k s j Dessa forma, convencionaremos que a MME de k amostras (dias, por exemplo) sobre uma série temporal S será representada por: MME k (S)

2.3 Convergência e divergência de médias móveis (MACD) O MACD (Moving Average Convergence/Divergence) ou convergência e divergência de médias móveis é um indicador de tências criado por Gerald Appel na década de 1960 e mostra a diferença entre dois sinais, denominados rápido e lento, gerados a partir de MMEs de uma determinada série temporal. Este indicador é calculado a partir da diferença entre duas MMEs: uma de curto prazo (normalmente de 12 dias no caso do Impulse System) e outra de longo prazo (normalmente de 26 dias para este sistema) de uma série temporal. À diferença entre a MME de curto prazo e a MME de longo prazo damos o nome de linha rápida (lr): lr = MME 12 (S) MME 26 (S) Por sua vez, se aplicarmos uma MME de 9 dias sobre a linha rápida, estaremos criando a linha lenta (ll) deste indicador: consenso de curto prazo e o de longo prazo. Quando as barras do histograma MACD adquirem uma inclinação ascente, observa-se uma tência altista. Por sua vez, caso as barras do histograma adquiram uma inclinação descente, há uma tência de baixa para o ativo em análise. 3. IMPLEMENTAÇÃO Para a implementação sob a ótica do código livre e aberto, optou-se pela linguagem de programação do Scilab (http://www.scilab.org). Este software caracteriza-se por ser uma potente ferramenta de cálculo numérico e representação gráfica, que ate plenamente às necessidades da análise técnica do mercado de ações. Adicionalmente, os programas gerados através dele não necessitam de compilação (o Scilab é basicamente um interpretador de comandos), o que contribui para a caracterização definitiva da plataforma livre e aberta que foi implementada. ll = MME 9 (lr) Finalmente, o histograma do MACD pode ser construído através da diferença entre as linhas rápida e lenta : Histograma MACD = lr - ll A linha rápida do MACD reflete o consenso de curto prazo do ativo em análise, enquanto que a linha lenta do MACD reflete o consenso de longo prazo do mesmo. Ao representarmos estas duas linhas em um mesmo gráfico, quando a linha rápida desloca-se acima da linha lenta temos a indicação de uma tência altista. Por sua vez, quando a linha rápida cai abaixo da linha lenta temos a indicação de uma tência baixista. Neste contexto, o histograma MACD reflete a diferença entre o As subseções seguintes apresentam o código da espinha dorsal do programa (as implementações para os cálculos da MMA, da MME e do histograma) e uma visão geral da interface de comunicação com o usuário. A apresentação completa do código será realizada no apêndice deste texto. 3.1 Implementação dos códigos para as médias móveis A construção dos códigos de cálculo da MMA e da MME é representada na forma: function mm_a=mma(num_am,num_dados,valores) for i = num_am:num_dados mm_a(i) = 0. for j = 0:(num_am - 1) mm_a(i) = mm_a(i) + valores(i-j)

mm_a(i) = mm_a(i)/num_am function Esta função calcula a MMA sobre uma série temporal. A função solicita, como entrada, três parâmetros: num_am, que indica quantas amostras serão consideradas no cálculo de um elemento da média móvel, num_dados, que representa o tamanho da série temporal sobre a qual será determinada a MMA e valores, que é o vetor que contém a série temporal propriamente. Como elemento de retorno, esta função devolve o vetor mm_a que conterá os elementos da MMA calculada. Por sua vez, a função abaixo calcula a MME sobre uma série temporal: function mm_e=mme(num_am,num_dados,valores) mm_e(num_am) = 0; for i = 1:(num_am) mm_e(num_am) = mm_e(num_am) + valores(i) mm_e(num_am) = mm_e(num_am)/num_am k = 2/(num_am + 1) for i = (num_am+1):num_dados mm_e(i) = (1-k)*mm_e(i-1) + k*valores(i) function Esta função também solicita três parâmetros como entrada: num_am, que indica quantas amostras serão consideradas no cálculo de um elemento da média móvel, num_dados, que representa o tamanho da série temporal sobre a qual será determinada a MME e valores, que é o vetor que contém a série temporal propriamente. Como elemento de retorno, esta função devolve o vetor mm_e que conterá os elementos da MME calculada. Esta função possui um grau de complexidade ligeiramente superior à anterior devido ao cálculo do primeiro valor da MME. 3.2 Implementação do MACD A determinação do histograma para uma série temporal pode ser contemplada através do seguinte código: /////////////////////////////////////////// // SECAO MACD /////////////////////////////////////////// nd_c = 12; // Periodo da MME curta nd_l = 26; // Periodo da MME longa nd_lenta = 9; // Periodo da linha lenta // CALCULO DA MME CURTA mme_c = mme(nd_c,n_dados,cotacao) // CALCULO DA MME LONGA mme_l = mme(nd_l,n_dados,cotacao) // CALCULO DA LINHA RAPIDA (lr) lr = mme_c - mme_l // CALCULO DA LINHA LENTA (ll) ll = 1:n_dados // Calcula a primeira ll ll(nd_l+nd_lenta-1) = 0 for i = (nd_l):(nd_l+nd_lenta-1) ll(nd_l+nd_lenta-1) = ll(nd_l+nd_lenta-1) + lr(i) ll(nd_l+nd_lenta-1) = ll(nd_l+nd_lenta- 1)/nd_lenta; // ajusta a media // Calcula os demais pontos da ll k = 2/(nd_lenta + 1); // calc. o fator "k" for i = (nd_l+nd_lenta):n_dados ll(i) = (1-k)*ll(i-1) + k*lr(i); // calcula a ll do dia // CALCULO DO HISTOGRAMA for i = 1:n_dados histog(i) = lr(i) - ll(i) O código do MACD inicia-se com a definição dos períodos para o cálculo do mesmo (12-26-9). Na sequência, o programa determina as MMEs de curta e longa duração para, a partir destas, efetuar o cálculo da linha rápida. Por sua vez, a linha lenta é construída a partir de uma MME de 9 períodos da linha rápida.

Após a definição das linhas rápida e lenta o passo seguinte calcula o histograma do MACD, que é determinado pela diferença destas linhas. Uma característica relevante notada na implementação exata do Impulse System proposta por Alexander Elder é que ele, sob certas circunstâncias, acaba por desfazer posições compradas interessantes em momentos onde o mercado passa por ligeiras oscilações ( ruído de mercado ). Dessa forma, qualquer oscilação negativa no histograma MACD, por menor que seja, irá disparar um sinal de va orientando o investidor a assumir uma posição vida. Tal fato constitui um inconveniente sério, to em vista que o histograma MACD poderá retomar a tência de alta logo em seguida e, caso o investidor decida retomar a posição comprada, deverá arcar novamente com os custos de comissão e emolumentos. Para compensar um eventual ruído na configuração do histograma MACD, é proposta uma pequena alteração no algoritmo de Alexander Elder, através da suavização do histograma MACD por intermédio de uma MME de período próximo à MME de curta duração. /////////////////////////////////////////// // FILTRAGREM DO HISTOGRAMA PARA // // MINIMIZACAO DE RUIDOS DECORRENTES DE // // PEQUENAS OSCILACOES // /////////////////////////////////////////// N_histog = mme(p_mme_d,n_dados,histog) Os efeitos decorrentes do uso ou não desta compensação são apresentados na seção seguinte. 3.3 Visão geral da interface com o usuário A Figura 1 apresenta a interface gráfica disponível ao usuário deste sistema. Figura 1: Interface gráfica do programa. Trata-se de uma interface relativamente simples, através da qual o usuário pode importar dados atualizados de uma determinada ação (caso disponha de uma conexão com a internet) ou mesmo executar a verificação do impulso com dados previamente armazenados no banco de dados do sistema. Esta interface, atualmente, é capaz de importar dados do website Yahoo Finance. Caso o usuário opte por importar os dados de uma determinada ação ele deve selecionar a ação desejada (através do quadro à direita da interface), indicar a periodicidade pretida para os dados (diária ou semanal, indicada através dos botões de rádio à esquerda da interface), as datas de início e fim para a busca dos dados (caixas de edição abaixo dos botões de rádio) e, finalmente, pressionar o botão Importar. A seguir, o programa buscará conectar-se com o website para o download efetivo dos dados. Caso o download tenha sido realizado com sucesso, uma mensagem de indicação de sucesso ( Carregado! ) será apresentada ao lado do botão de importação. Caso contrário, será apresentada uma mensagem de erro durante o download. Após a importação dos dados, caso isto tenha ocorrido com sucesso, uma nova janela se abrirá ao lado da interface, apresentando um gráfico do tipo

candlestick (conto parâmetros de abertura, fechamento, máximo e mínimo para a ação) e um histograma informando o volume de negociações ao longo do período em análise. Para verificar o impulso da ação recém-carregada ou de qualquer outra, basta selecionar a ação no quadro à direita da interface e pressionar o botão Verificar!. Caso os dados armazenados no banco de dados do sistema sejam válidos, um conjunto de gráficos conto o estudo do impulso desta ação será apresentado, caso contrário, uma mensagem de erro será exibida. Todas as funções indicadas nesta seção encontram-se disponíveis por completo no apêndice deste texto. 4. ANÁLISE DE RESULTADOS A Figura 2 apresenta um estudo realizado para as ações PNA da companhia Vale do Rio Doce (VALE5). Figura 2: Estudo realizado para as ações VALE5 no período de 04/12/09 a 02/12/10. Na parte superior da Figura 2 temos a representação gráfica dos preços de fechamento no período indicado, além da linha de MMEs diárias (13 dias) e da linha de MMEs semanais (26 semanas). O gráfico central apresenta as linhas rápida e lenta do MACD além de seu histograma, criados sem a utilização do filtro proposto na subseção 3.2. O gráfico na parte inferior da Figura 2 apresenta pulsos em azul, que apontam uma indicação de compra. Como pode ser notado, dada a sensibilidade deste sistema (comprar apenas se todos os indicadores possuírem inclinação ascente), o gráfico de indicação de compra apresenta diversos pulsos descontínuos em torno de 09/03/10. Isto se deve ao fato de que o histograma possui, naquela região, barras de valores muito próximos que se encontram oscilando para mais ou para menos dentro de uma faixa relativamente estreita mas suficiente para reverter o

sinal de compra. Contudo, se observarmos o gráfico superior, é notável que a tência de alta encontra-se firme dentro de uma faixa relativamente maior. Nesta situação, caso o investidor siga fielmente as indicações do sistema impulso, certamente terá custos consideráveis atrelados às comissões de compra e va e emolumentos. Assim, como forma de minimizar este efeito negativo, propomos uma variação no método de Alexander Elder através da aplicação de um filtro sobre as indicações do histograma, imediatamente antes da geração dos impulsos de compra/va. A Figura 3 apresenta o mesmo estudo, realizado com os mesmos parâmetros, porém considerando um filtro sobre os valores do histograma antes da geração do gráfico de impulsos. Figura 3: Estudo realizado para as ações VALE5 considerando um filtro sobre o histograma MACD. O filtro em questão consiste apenas de uma média móvel com período igual ao da MME de curta duração da análise diária (13 dias). A princípio, podem ser utilizadas uma MMA ou MME para a definição deste filtro. Contudo, em simulações realizadas, a utilização de uma MMA mostrou-se desaconselhável pois provocava um atraso significativo na composição do sinal de compra/va. Isto pode ser justificado pelo fato de que uma MMA concede pesos iguais a todas as barras (dias) consideradas dentro do período de análise. Por sua vez, a utilização de uma MME para filtragem do histograma mostrou-se mais eficiente à medida em que os efeitos do atraso foram reduzidos de forma significativa. Isto pode ser verificado se considerarmos que uma MME concede pesos maiores às barras mais atuais. É notável, na Figura 3, a suavização conseguida nos sinais de compra/va. Embora ainda existam falsos sinais de va no decorrer do período de alta em torno de março/abril de 2010, estes possuem freqüência bem menor do que na análise anterior.

Eventualmente estes buracos poderiam ser preenchidos através da adoção de uma MME com outros parâmetros, contudo, o risco de que o programa deixe de indicar sinais verdadeiros de va é considerável caso isto seja implementado. De qualquer forma, dada a concepção livre e aberta deste código, o usuário é livre para executar as simulações que considerar conveniente. A Figura 4, por sua vez, apresenta um estudo bastante interessante para as ações PN da Petrobrás (PETR4) no mesmo período considerado para as ações VALE5. Figura 4: Estudo realizado para as ações PETR4 no período de 04/12/09 a 02/12/10 (com filtro). Pode ser notado que, praticamente ao longo de quase todo o período em análise, as ações da Petrobrás apresentam uma inclinação descente. Apenas em torno de fevereiro/2010 existe uma clara tência de alta a qual é sinalizada como compra neste programa. Além desta região, apenas no período entre março e abril de 2010 existe um intervalo fugaz de compra, o qual também é sinalizado pelo sistema. 5. CONCLUSÕES GERAIS Esta implementação para o Impulse System apresentou resultados bastante interessantes e coerentes com a proposta do mesmo. A adoção de um filtro para o histograma MACD trouxe uma suavização considerável para os sinais de compra/va gerados. A implementação com código livre e aberto através do Scilab mostrou-se estável e eficiente, so contudo recomável que a mesma seja executada em um computador com pelo menos 3 Giga bytes de memória RAM. A utilização em computadores com quantidade inferior de memória não compromete o uso do sistema, mas pode reduzir o desempenho do mesmo. De qualquer forma, espera-se que este tipo de proposta (implementação com código livre e aberto) venha a promover a

expansão e evolução das ferramentas de análise técnica do mercado de ações. REFERÊNCIAS BIBLIOGRÁFICAS [1] ABE, M.; Manual de Análise Técnica: Essência e Estratégias Avançadas, Novatec, 2009. [2] ELDER, A.; Trading for a Living, John Willey & Sons Inc., 1993. [3] ELDER, A.; Come Into My Trading Room, John Willey & Sons Inc., 2002. [4] Box, G. E. P. & Jenkins, G. M.; Time Series Analysis, Forecasting and Control. Holden-Day, San Francisco, California, 1970. [5 ] Brockwell, P. & Davis, R.; Time Series: Theory and Methods. New York: Springer-Verlag, 1991 [6] Franses, P. H.; Time Series Models for Business and Economic Forecasting., 1998. [7] ELDER, A.; Sell and Sell Short, John Willey & Sons Inc., 2009. [8] FURTADO, W.; Guia para Investir em Ações, Coleção Expo Money, Campus/Elsevier, 2010. [9] MARTINS, C.; Os Supersinais da Análise Técnica, Coleção Expo Money, Campus/Elsevier, 2010. [10] PUGA, R.; Formação de Investidores, Coleção Expo Money, Campus/Elsevier, 2010. [11] PUGA, R. e RODRIGUES, M.; Formação de Traders, Coleção Expo Money, Campus/Elsevier, 2010. [12] KMENTA, Jan ; Elementos de Econometria, vols. I e II. Editora Atlas,1988. [13] Braule, R.; Estatística Aplicada com Excel para cursos de Administração e Economia, Ed. Campus, 2001. [14] HILL, R. Carter; GRIFFITHS, William E.; e JUDGE, George G.; Econometria. Ed. Saraiva, 2000. [15] BESSAOU, M., SIARRY, P., A genetic algorithm with real-value coding to optimize multimodal continuous functions, Struct Multidisc Optim 23, 63 74, Springer-Verlag 2001. [16] GOLDBERG, D. E.,;Genetic Algorithms in search, optimization, and machine learning, Addison Wesley, 1989. [17] GUJARATI, D.N.; Econometria Básica, Makron Books, 2000. MINI-Currículos dos autores José Tarcísio Franco de Camargo é graduado em Engenharia Elétrica (UNICAMP 1989), possui mestrado em Engenharia Elétrica na área de Eletrônica e Telecomunicações (UNICAMP 1992) e doutorado em Engenharia Elétrica na área de Computação e Automação (UNICAMP 1995). Atua como professor universitário desde 1990, so atualmente professor e coordenador de cursos na Faculdade Municipal Professor Franco Montoro (Mogi Guaçu SP) e no Centro Regional Universitário de Espírito Santo do Pinhal (Espírito Santo do Pinhal SP). Seus interesses de pesquisa abrangem as áreas de controle e automação e computação gráfica, aplicados ao ensino de engenharia. João Alexandre Bortoloti é graduado em Química (Unicamp 1998), Mestre em Físico-Química (Unicamp 2001) e Doutorado em Ciências (Unicamp 2006). Atua como professor universitário desde 2002 em disciplinas da área de Química, Estatística e Matemática em cursos de engenharia, so atualmente professor na Faculdade Municipal Professor Franco Montoro (Mogi Guaçu SP), na Escola Superior de Administração, Marketing e Comunicação (ESAMC, Campinas - SP), na Universidade Paulista (UNIP - SP) e professor colaborador na Universidade Estadual de Campinas (UNICAMP - SP). Como pesquisador publica nas áreas de Química Analítica, Quimiometria, ensino de Engenharia e Tecnologia. Jomar Barros Filho é graduado em Física (Unicamp 1997), mestre em Educação na área de Metodologia de Ensino (Unicamp 1999) e doutor em Educação na área de Educação, Ciência e Tecnologia (Unicamp - 2002). Professor universitário desde 2001, ministra disciplinas das áeras de física e matemática em cursos de engenharia. Como pesquisador publica nas áreas de ensino de engenharia e de tecnologia, avaliação da aprizagem e formação de professores.

Estéfano Vizconde Veraszto possui graduação em Física pela Universidade Estadual de Campinas (UNICAMP) e é Mestre e Doutor em Educação, Ciência e Tecnologia pela Faculdade de Educação da Universidade Estadual de Campinas (UNICAMP). Possui estágio doutoral no exterior na Facultada de Ciencias de la Información da Universidad Complutense de Madrid (UCM). Atualmente é diretor e professor da Faculdade Municipal Prof. Franco Montoro, pesquisador do Laboratório de Novas Tecnologias Aplicadas na Educação, da Faculdade de Educação da Universidade Estadual de Campinas, pesquisador colaborador da Universidad Nacional de Educación a Distáncia (UNED/España), pesquisador colaborador da Facultad de Ciencias de la Información da Universidad Complutense de Madrid e docente da Instituição de Ensino São Francisco (IESF).