220 likes | 338 Views
Inteligência Artificial Redes Neurias. Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais. Prof. Dr. Ivan Rizzo Guilherme Daniel Carlos Guimarães Pedronette. Problema. Tomada de Decisões no Mercado Financeiro Determinar melhores momentos para compra e venda da Ação
E N D
Inteligência ArtificialRedes Neurias Apoio à tomada de decisões no Mercado Financeiro utilizando Redes Neurais Prof. Dr. Ivan Rizzo Guilherme Daniel Carlos Guimarães Pedronette
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”
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
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
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
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
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
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
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
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:
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
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
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 Compra Variação < - Indicador: Ordem de Venda • Indicador Maior : menos movimentos, menos erros • Indicador Menor: mais movimentos, mais erros
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)
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
Links URLs: http://www.bovespa.com.br http://www.investshop.com.br http://www.jooneworld.com