KAPITTEL 5 – ANALYSE OG DISKUSJON
5.4 Politiken: Forsideanalyse
de coeĄciente de correlação simples e coeĄciente de correlação relativa, explicados na Se- ção 3.2. O cálculo de correlação pode ser feito sobre um grupo de ativos predeterminados ou considerando todos os ativos que tenham uma certa data de início de negociação. É importante salientar que neste momento é possível limitar o cálculo para aqueles ativos que tenham um certo percentual de correções. Neste momento o portfólio de planeja- mento seleciona os domínios, instâncias e planejadores que iram compor o portfólio de planejamento.
Posteriormente, na 5. Seleção dos Atributos são selecionados os elementos que fa- rão parte do treinamento, teste e simulação. Entre eles são determinados os características dos problemas de planejamento, planejadores, algoritmos de treinamento, os parâmetros de cada algoritmo, período dos dados de treinamento, período dos dados de validação, período dos dados de teste, análises técnicas, parâmetros de cada análise técnica e parâ- metros de conĄguração do ambiente.
Já no passo 6. Conjunto de Dados (Dataset) todos os dados necessários para o treinamento, validação e teste, são recuperados ou gerados. Em outras palavras, de acordo com os períodos selecionados os dados são recuperados do banco de dados e a partir deles são realizados os cálculos das análises técnicas.
A base do 7. Treinamento são os algoritmos usados para o treinamento, sendo
13 O Yahoo Finance fornece dados históricos de negociação de diversos mercado do mundo. Mais infor- mações estão disponíveis em: <http://Ąnance.yahoo.com/market-overview>
110 Capítulo 7. Arquitetura da Solução aqueles escolhidos na 5. Seleção dos Atributos. No treinamento o AG está sendo usado para a seleção de dados de entrada. Para processar os experimentos foi realizado o desenvolvimento de um sistema que permite realizar o processamento em paralelo e distribuído. A Figura 37 mostra uma abstração de como está estruturado este ambiente.
Figura 37 Ű Sistema projetado para processar os AGs em paralelo e distribuído. O processamento do AG é realizado de forma distribuída e paralela. Todas as partes que compõem o ambiente foram projetadas para serem facilmente adaptadas para a inclu- são de novos algoritmos. O ciclo principal do AG é processado no servidor e as aptidões são calculadas nos escravos e/ou no servidor. É usado apenas um servidor e vários escra- vos. O servidor é responsável por gerenciar o que é processado e o Ćuxo de dados entre todas as partes. Os escravos realizam apenas o processamento, ŞnãoŤ tendo conhecimento do que é processado e para quem se destinam os resultados. A qualquer momento novos escravos podem se conectar ao servidor e auxiliar na tarefa de processamento. O servidor e os escravos normalmente estão em uma rede local. Sendo assim, em geral são raros os casos de perca de conexão. Contudo, se um escravo perder a conexão com o servidor é dado um intervalo de tempo para ele se reconectar, caso ele não se reconecte durante este período o servidor recupera as mensagens daquele escravo e os repassa para os outras
7.2. Sistema Desenvolvido 111
máquinas.
Uma evolução em relação aos trabalhos correlatos é que o sistema permite paralelizar as instâncias de AGs. Foi criada uma Ąla que guarda um conjunto de conĄgurações. Cada conĄguração representa um experimento centrado em um AG. Um parâmetro 𝑁 limita a quantidade de conĄgurações em execução e pode ser alterada durante a execução.
A troca de dados entre o servidor e os escravos pode ser síncrona ou assíncrona. Isto signiĄca que ao chegar ao Ąnal da evolução o AG pode ou não esperar os últimos indivíduos serem processados. Caso seja sincronizado ao chegar ao Ąnal o AG espera pelos indivíduos, se o AG receber bons resultados ele pode retomar o processo de evolução.
O sistema é Ćexível e permite a inclusão de diferentes tipos de AGs. Até o momento foi desenvolvido apenas o AG Steady State. O AG Steady State é ideal para o processamento em paralelo, já que a cada ciclo são gerados dois novos indivíduos e não é necessário esperar a avaliação deles para que um novo ciclo seja executado. Contudo, para evitar que indivíduos sejam criados discriminadamente é realizada uma conĄguração que limita o número de indivíduos sendo processados. Este controle é feito através do bloqueia dos
AGs enquanto existirem 𝑇s indivíduos na Ąla ŞAvaliarŤ. A Ąla Avaliar armazena todos
os indivíduos que precisam ter a aptidão calculada. Toda vez que um ŞProcessadorŤ está disponível ele retira um elemento da Ąla Avaliar para que realize o seu processamento. Uma vez que tenha Ąnalizado um processamento, o ŞProcessadorŤ repassa os resultados para a Ąla ŞAvaliadosŤ. Durante as fases ŞCriar a População InicialŤ e ŞSeleção NaturalŤ são enviados os indivíduos para a Ąla ŞAvaliarŤ e também são recuperados os indivíduos que tenham sido processados. O número de ŞProcessadoresŤ é conĄgurável, tanto no servidor como nos escravos, logo, múltiplas avaliações são realizadas em uma mesma máquina. Por padrão o quantidade de ŞProcessadoresŤ é igual ao número de threads da máquina.
Após o treinamento tem-se a fase de 8. Teste. Esta fase consiste em utilizar os dados de testes para avaliar como são os resultados dos algoritmos treinados. Utilizando os resultados de saída dos testes são gerados sinais de Alta, Baixa e Estabilidade. De posse dos sinais o passo 9. Simulação realiza simulações de negociações no mercado Ąnanceiro. Nestas simulações os sinais são usados para realizar eventos de compra e venda de ações. Ao Ąnal destes negócios tem-se como resultado se os investimentos tiveram lucro ou prejuízo.
Uma característica importante já desenvolvida nas simulações são as taxações de cor- retagem cobradas sobre cada operação. Para cada negócio realizado são descontadas tais taxas. Cada experimento pode usar diversas taxas de corretagem e diferentes valores de investimento. Quanto maior a taxação de corretagem e menor o investimento, mais difícil de se obter lucro.
A Folhainvest14 promove a competição de investimentos na bolsa BM&FBOVESPA
112 Capítulo 7. Arquitetura da Solução usando dados reais do mercado em um ambiente simulado de negociação. A Tabela 23 mostra um exemplo de taxa de corretagem, sendo esta à adotada pela Folhainvest. Tabela 18 Ű Exemplo de taxa de corretagem cobrada sobre cada ordem de compra ou
venda.
Valor das Operações Corretagem
Até R$ 135,07 R$ 2,70
Acima de R$ 135,08 até R$ 498,62 2%
Acima de R$ 498,63 até R$ 1.514,69 1,5% + R$ 2,49
Acima de R$ 1.514,70 até R$ 3.029,38 1% + R$ 10,06
Acima de R$ 3.029,39 0,5% + R$ 25,21
As taxas podem ser compostas por um valor Ąxo ou percentual conforme o valor da operação. É válido enfatizar que esta taxa incide sobre ambos os lados, ou seja, tanto para quem compra e assim como para quem está vendendo.
113