Redes Neurais Prof. Alex F. V. Machado. Redes Neurais Artificiais (RNA)
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais Inteligência Artificial...
Transcript of Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais Inteligência Artificial...
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Inteligência ArtificialRedes Neurias
Prof. Dr. Ivan Rizzo Guilherme
Daniel Carlos Guimarães Pedronette
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Problema
Tomada de Decisões no Mercado Financeiro
• Determinar melhores momentos para compra e venda da Ação
• Antecipar Movimentos de Subida e Queda• “Capacidade de Prever o Futuro”
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Características do problema
• Abundância de Dados• Cotações, Valores de Compra/Venda,
Indicadores Estatísticos • Indicadores Estatísticos
– Indicadores numéricos que normalmente variam de 0 a 1 tentando identificar tendências de ascensão ou queda de preços
– Rudimentares– Funcionam bem para grandes variações de preços– Exemplos: Momento, IFR (Índice de Força Relativa),
Volume, etc
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Características do problema
• Dificuldade de análise dos dados disponíveis• Como determinar quais as informações mais
significativas?• Como sintetizar a grande quantidade de
informações?• Necessidade de grande flexibilidade na avaliação
dos dados
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Solução Proposta
• Utilização de Redes Neurais• Aprendizado Supervisionado• Modelo Back-Propagation• Linguagem Java• Pacote de Redes Neurais JOONE• Aplicação de Regras à saída da Rede Neural para
gerar Indicativos de Compra/Venda
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Redes Neurais Artificiais
• Conjunto de Entradas Numéricas• Conjunto de Unidades de Processamento
-“Neurônios”, com várias entradas e uma saída• Cada entrada possui um determinado peso
sináptico: fator de multiplicação• Aprendizado: ajuste dos pesos segundo o resultado
desejado• Função de Ativação produz Saída Numérica
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Redes Neurais Artificiais
Erro
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Dados de Entrada
• Dados reais da Bovespa• Formato: texto separado por ;• Tempo de Atualização: ajustável. Inicialmente em 1
min.
• Cotação da Ação, Valor de Compra, Valor de Venda, Última Oscilação, Volume de Negociações
• Indicadores Estatísticos: PP, SMI, Momento, IFR, Fôlego
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Pré-Processamento dos Dados
• Definição do Valor Esperado• Para um conjunto de dados de Entrada, qual a Saída
desejada?• Valores Esperados Estipulados: 0, 0.5, 1
– Momento que antecede uma queda, marcado com valor 0: Venda
– Momento que antecede uma alta, marcado com valor 1: Compra
– Demais Momentos marcados com 0.5: Neutro
Utilizado Microsoft Excel, exportando para arquivo texto
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Topologia da Rede
• 3 camadas de neurônios (Entrada,Intermdiária,Saída)
• Camada de Entrada: – 11 neurônios (10 entradas e o Valor Esperado)
• Camada Intermediária: – 20 neurônios
• Camada de Saída: – 1 neurônio: Saída Final
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Outros Parâmetros da Rede
• Momento da Rede: 0.4• Taxa de Aprendizado: 0.8• Monitor, ligado às camadas ajustando os
parâmetros acima e coordenando o Aprendizado• Sinapses: FullSinapse, todos os neurônios se
comunicam com todos• Tipo de Camada: SigmoidLayer
– Função de Ativação:
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Topologia da Rede
10 Neurônios 20 Neurônios
FullSinpase
FullSinpase
M onitor
Entrada
Saída
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
JOONE - Java Object Oriented Neural Engine
• Free framework para criação, treinamento e teste de Redes Neurais
• Modelo Back Propagation• Objetos disponíveis:
– Vários tipos de Camadas– Vários tipos de Sinapses
• Intercâmbio de dados:– Arquivos texto, HTTP, FTP
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Codificação da Rede Neural
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Aplicativo Java
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Treinamento e Processamento
• Utilizada média de 150 registros para treinamento• Resultados satisfatórios entre 20.000 e 30.000
ciclos ou mais.• Treinamento necessita de grande capacidade de
processamento• Após treinamento Rede Neural processa
rapidamente os resultados
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Pós-Processamento
• Objetivo: Gerar Indicativos de Compra e Venda a partir da Saída Numérica no intervalo [0,1]
• A cada saída da Rede Neural, calcula-se a Variação em relação ao Valor Anterior
• Definir um valor numérico constante para o Indicador de Tendências
• Regra:Variação > + Indicador: Ordem de CompraVariação < - Indicador: Ordem de Venda
• Indicador Maior : menos movimentos, menos erros• Indicador Menor: mais movimentos, mais erros
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Visão Geral do Processo
Arquivo .txtde Entrada
Dados deEntrada
Geração dosValores Esperadosem 0, 0.5 ou 1
Processamentopela Rede NeuralAplicativo J ava
Arquivo .txtde Saída
Aplicação deRegras para geraçãodos I ndicativosCompra e Venda
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Resultados Gerados
• Simulações: se alguém tivesse “obedecido” todos os sinais da Rede, quais seriam os resultados?
• Ação USIM5 (Usiminas) • Período: aproximadamente 5h• Atualização: a cada 1 minuto• Resultados:
– 12 Movimentos Nulos– 6 Movimentos Certos – 1 Movimentos Errados– Saldo: R$ 0,71 (aproximadamente 2,41% do valor inicial
da Ação)
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Resultados Gerados
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Desafios e Dificuldades
• Otimização dos parâmetros da Rede Neural:– Tipo de Camadas e Sinapses– Número de Neurônios– Momento e Taxa de Aprendizagem
• Definição de valores ótimos de Intervalos de Atualização e Indicadores de Tendência
• Aperfeiçoamento do desempenho é um processo empírico
Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais
Links
URLs: http://www.bovespa.com.br
http://www.investshop.com.br http://www.jooneworld.com