SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Análise e desenvolvimento de algoritmo para
operação em bolsa de valores baseado em redes
neurais
Atividades práticas integradoras
Prof. Orientadores:
Bruno Pérez Ferreira / FACE
Adriano C. Machado Pereira / DCC
Rodrigo Otávio Passos Ferreira - 2009052387
Sistemas de informação - UFMG
Contextualização
- Análise gráfica.
- Velocidade das informações.
-Fator emocional.
- Nos EUA 70% dos negócios
são realizados por algoritmos e
no brasil nem 10%.
Contextualização
- Padrões de indicadores gráficos
- Grande quantidade de indicadores
e papéis com diferentes
comportamentos.
- Reconhecimento de padrões.
- Treinamento com séries de dados
históricas.
Objetivos
Desenvolver uma estratégia automatizada de negociação em bolsa de
valores utilizando um algoritmo baseado em redes neurais, utilizando sinais de
entrada baseados em indicadores tradicionalmente utilizados na análise
gráfica, e avaliar seu desempenho através da realização de backtests com
dados históricos da bolsa brasileira - Bovespa.
Estratégia proposta
A estrategia de investimento proposta é baseada em uma rede neural em que os valores da camada
de entrada, são derivados a partir de valores de dois indicadores técnicos, Indice de força relativa
(RSI) e Money Flow Index (MFI).
Estratégia Proposta
A forma de utilizar esses indicadores como entradas da rede neural, foi definida de forma a
considerar a diferença entre seu valor atual e o valor referência (RSI 30-70 e MFI 20-80) nos seus
últimos 3 períodos da série temporal. de forma normalizada (valores de entrada entre 0.0 e 1.0).
Estratégia proposta
O valor de saída da rede proposta, foi
chamado de coeficiente, e o valor deste
irá determinar se é um bom momento de
compra ou de venda.
Os valores dos coeficientes foram determi-
nados de forma computacional, dentro
do processo de treinamento da rede
avaliando quais faixas de valores resultavam
em melhores resultados.
Treinamento da rede
Para treinar a rede, foi utilizado um método iterativo que é um recurso da própria plataforma utilizada
para implementar e avaliar os resultados, que possibilita a iteração dos valores dos pesos de cada
entrada dentro da faixa de 0.0 a 1.0 com passo 0.01; Foi utilizado um recurso da plataforma
(Metatrader) que utiliza um algoritmo genético para acelerar a otimização dos parâmetros (pesos de
entrada da rede).
Na plataforma, foi avaliado os resultados obtidos
na simulação para toda a faixa de valores de
peso possíveis para cada um dos pesos de
entrada da rede, afim de avaliar os melhores
resultados.
Metodologia
Após o treinamento e definição dos melhores parâmetros da rede, foi realizado um teste pra frente
(forward) para avaliar não apenas qual seria o desempenho do algoritmo, como tentar identificar qual
o “prazo de validade” de um treinamento realizado, afim de otimizar novamente a rede para que ela
aprenda com o novo cenário construído pelo tempo.
Os testes foram realizados utilizando os dados históricos reais da Bovespa, Foi avaliado
utilizando o papel BOVA11 (ETF Bovespa) afim de avaliar os melhores tempos gráficos e perídos de
testes a serem utilizados. Foram utilizadas apenas operações de compra para a execução dos testes,
utilizando um capital fictício de R$ 100.000,00 e um valor de taxas (corretagem) de R$ 10,00 a cada
operação realizada
Resultados - BOVA11
Resultados BOVA11
Conclusões
Os dados apresentados na execução da estratégia proposta, permitiram verificar, ainda que de uma
forma não muito aprofundada, a possibilidade de se explorar técnicas de aprendizado de máquina no
desenvolvimento de algoritmos especializados para operação no mercado de ações.
A implementação da estratégia apresentada, conseguiu na maioria dos casos obter uma performance
melhor que a variação de mercado do ativo selecionado. Dentro da análise dos dados levantados,
podemos ainda considerar alguns pontos interessantes, como por exemplo a observação de uma
melhor adequação dos treinos e execução de estratégias baseados em análise gráfica, em períodos
gráficos mais longos, permitem uma melhor associação entre melhor treino, e treino que implica no
melhor teste.
Como trabalhos futuros, sugere-se o aprimoramento da estratégia proposta incluindo filtros de
horários e datas para teste e treino, também a avaliação dos resultados em outros ativos com maior
volatilidade, mas tomando o cuidado de observar se no período selecionado não ocorreram eventos
que possam distorcer os valores dos papéis como desdobramentos e agrupamentos.

Mais conteúdo relacionado

Destaque

Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
Pacc UAB
 

Destaque (13)

Algoritmos aproximativos
Algoritmos aproximativosAlgoritmos aproximativos
Algoritmos aproximativos
 
Eliminação de Superfícies Escondidas
Eliminação de Superfícies EscondidasEliminação de Superfícies Escondidas
Eliminação de Superfícies Escondidas
 
Testes Lógicos
Testes LógicosTestes Lógicos
Testes Lógicos
 
Desenho e Marco Lógico para Avaliação de Programas
Desenho e Marco Lógico para Avaliação de ProgramasDesenho e Marco Lógico para Avaliação de Programas
Desenho e Marco Lógico para Avaliação de Programas
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Gestão de Configuração de Software
Gestão de Configuração de Software Gestão de Configuração de Software
Gestão de Configuração de Software
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Slideshare
SlideshareSlideshare
Slideshare
 

Semelhante a Análise e desenvolvimento de algoritmo para operação em bolsa de valores baseado em redes neurais

úLtimo dia
úLtimo diaúLtimo dia
úLtimo dia
Bruce Ds
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
Bruce Ds
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
José Corrêa Viana
 
Unp mba - pmo - indicadores
Unp   mba - pmo - indicadoresUnp   mba - pmo - indicadores
Unp mba - pmo - indicadores
UNP
 

Semelhante a Análise e desenvolvimento de algoritmo para operação em bolsa de valores baseado em redes neurais (20)

Computacao
ComputacaoComputacao
Computacao
 
Chamada para o segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...
Chamada para o segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...Chamada para o segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...
Chamada para o segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...
 
Chamada para o Segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...
Chamada para o Segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...Chamada para o Segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...
Chamada para o Segundo grupo do MPT.Br (Melhoria do Processo de Teste Brasile...
 
Curso de APF - Básico
Curso de APF - BásicoCurso de APF - Básico
Curso de APF - Básico
 
Blue it
Blue itBlue it
Blue it
 
úLtimo dia
úLtimo diaúLtimo dia
úLtimo dia
 
Blue it
Blue itBlue it
Blue it
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Blue it
Blue itBlue it
Blue it
 
Medindo O Desempenho De Processadores
Medindo O Desempenho De ProcessadoresMedindo O Desempenho De Processadores
Medindo O Desempenho De Processadores
 
Machine Learning e Artificial Intelligence para desenvolvedores .NET
Machine Learning e Artificial Intelligence para desenvolvedores .NETMachine Learning e Artificial Intelligence para desenvolvedores .NET
Machine Learning e Artificial Intelligence para desenvolvedores .NET
 
Trabalho PI I
Trabalho PI ITrabalho PI I
Trabalho PI I
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
 
Consultextil - Nossa Tecnologia
Consultextil - Nossa TecnologiaConsultextil - Nossa Tecnologia
Consultextil - Nossa Tecnologia
 
A contribuição de Pontos de Função para um programa de métricas de software -...
A contribuição de Pontos de Função para um programa de métricas de software -...A contribuição de Pontos de Função para um programa de métricas de software -...
A contribuição de Pontos de Função para um programa de métricas de software -...
 
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
 
Aula 3 desenvolvimento de projetos
Aula 3 desenvolvimento de projetosAula 3 desenvolvimento de projetos
Aula 3 desenvolvimento de projetos
 
Unp mba - pmo - indicadores
Unp   mba - pmo - indicadoresUnp   mba - pmo - indicadores
Unp mba - pmo - indicadores
 
A contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de softwareA contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de software
 
Desenvolvimento de planejamento de vendas em empresa no ramo de serviços fina...
Desenvolvimento de planejamento de vendas em empresa no ramo de serviços fina...Desenvolvimento de planejamento de vendas em empresa no ramo de serviços fina...
Desenvolvimento de planejamento de vendas em empresa no ramo de serviços fina...
 

Mais de Rodrigo Ferreira

Mais de Rodrigo Ferreira (7)

Apresentação sobre TOGAF
Apresentação sobre TOGAFApresentação sobre TOGAF
Apresentação sobre TOGAF
 
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
 
Comércio eletronico na internet
Comércio eletronico na internetComércio eletronico na internet
Comércio eletronico na internet
 
Computação Forense
Computação ForenseComputação Forense
Computação Forense
 
Ferramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptFerramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascript
 
Geografia das coisas - Internet das coisas com enfoque em localização
Geografia das coisas - Internet das coisas com enfoque em localizaçãoGeografia das coisas - Internet das coisas com enfoque em localização
Geografia das coisas - Internet das coisas com enfoque em localização
 
CRM - Customer Relationship Management
CRM - Customer Relationship Management CRM - Customer Relationship Management
CRM - Customer Relationship Management
 

Análise e desenvolvimento de algoritmo para operação em bolsa de valores baseado em redes neurais

  • 1. Análise e desenvolvimento de algoritmo para operação em bolsa de valores baseado em redes neurais Atividades práticas integradoras Prof. Orientadores: Bruno Pérez Ferreira / FACE Adriano C. Machado Pereira / DCC Rodrigo Otávio Passos Ferreira - 2009052387 Sistemas de informação - UFMG
  • 2. Contextualização - Análise gráfica. - Velocidade das informações. -Fator emocional. - Nos EUA 70% dos negócios são realizados por algoritmos e no brasil nem 10%.
  • 3. Contextualização - Padrões de indicadores gráficos - Grande quantidade de indicadores e papéis com diferentes comportamentos. - Reconhecimento de padrões. - Treinamento com séries de dados históricas.
  • 4. Objetivos Desenvolver uma estratégia automatizada de negociação em bolsa de valores utilizando um algoritmo baseado em redes neurais, utilizando sinais de entrada baseados em indicadores tradicionalmente utilizados na análise gráfica, e avaliar seu desempenho através da realização de backtests com dados históricos da bolsa brasileira - Bovespa.
  • 5. Estratégia proposta A estrategia de investimento proposta é baseada em uma rede neural em que os valores da camada de entrada, são derivados a partir de valores de dois indicadores técnicos, Indice de força relativa (RSI) e Money Flow Index (MFI).
  • 6. Estratégia Proposta A forma de utilizar esses indicadores como entradas da rede neural, foi definida de forma a considerar a diferença entre seu valor atual e o valor referência (RSI 30-70 e MFI 20-80) nos seus últimos 3 períodos da série temporal. de forma normalizada (valores de entrada entre 0.0 e 1.0).
  • 7. Estratégia proposta O valor de saída da rede proposta, foi chamado de coeficiente, e o valor deste irá determinar se é um bom momento de compra ou de venda. Os valores dos coeficientes foram determi- nados de forma computacional, dentro do processo de treinamento da rede avaliando quais faixas de valores resultavam em melhores resultados.
  • 8. Treinamento da rede Para treinar a rede, foi utilizado um método iterativo que é um recurso da própria plataforma utilizada para implementar e avaliar os resultados, que possibilita a iteração dos valores dos pesos de cada entrada dentro da faixa de 0.0 a 1.0 com passo 0.01; Foi utilizado um recurso da plataforma (Metatrader) que utiliza um algoritmo genético para acelerar a otimização dos parâmetros (pesos de entrada da rede). Na plataforma, foi avaliado os resultados obtidos na simulação para toda a faixa de valores de peso possíveis para cada um dos pesos de entrada da rede, afim de avaliar os melhores resultados.
  • 9. Metodologia Após o treinamento e definição dos melhores parâmetros da rede, foi realizado um teste pra frente (forward) para avaliar não apenas qual seria o desempenho do algoritmo, como tentar identificar qual o “prazo de validade” de um treinamento realizado, afim de otimizar novamente a rede para que ela aprenda com o novo cenário construído pelo tempo. Os testes foram realizados utilizando os dados históricos reais da Bovespa, Foi avaliado utilizando o papel BOVA11 (ETF Bovespa) afim de avaliar os melhores tempos gráficos e perídos de testes a serem utilizados. Foram utilizadas apenas operações de compra para a execução dos testes, utilizando um capital fictício de R$ 100.000,00 e um valor de taxas (corretagem) de R$ 10,00 a cada operação realizada
  • 12. Conclusões Os dados apresentados na execução da estratégia proposta, permitiram verificar, ainda que de uma forma não muito aprofundada, a possibilidade de se explorar técnicas de aprendizado de máquina no desenvolvimento de algoritmos especializados para operação no mercado de ações. A implementação da estratégia apresentada, conseguiu na maioria dos casos obter uma performance melhor que a variação de mercado do ativo selecionado. Dentro da análise dos dados levantados, podemos ainda considerar alguns pontos interessantes, como por exemplo a observação de uma melhor adequação dos treinos e execução de estratégias baseados em análise gráfica, em períodos gráficos mais longos, permitem uma melhor associação entre melhor treino, e treino que implica no melhor teste. Como trabalhos futuros, sugere-se o aprimoramento da estratégia proposta incluindo filtros de horários e datas para teste e treino, também a avaliação dos resultados em outros ativos com maior volatilidade, mas tomando o cuidado de observar se no período selecionado não ocorreram eventos que possam distorcer os valores dos papéis como desdobramentos e agrupamentos.