Anda di halaman 1dari 16

Pr atica MultiObjetivo para Investimentos em Bolsa de Valores

Diego O. Froes1 Willian C.Vieira 1


1

Instituto de Ci encias Exatas e Aplicadas Universidade Federal de Ouro Preto (UFOP) CEP 35.400-000 Jo ao Monlevade MG Brasil Abstract. This school assignment has the purpose of developing an application to assistance to decision-making regarding the selection of a wallet businesses for a certain amount of investment in the Stock Exchange, applying concepts based on Multiobjective Optimization area. Resumo. Este trabalho tem a nalidade de desenvolver um aplicativo para aux lio a oes no que diz respeito a selec a ` tomada de decis o de uma carteira de empresas para uma determinada quantia de investimento na Bolsa de Valores, aplicando conceitos baseados na a a rea de Otimizac o Multiobjetivo.

o 1. Introduc a
rea da otimizac o, geralmente existem problemas com mais de um objetivo a serem Na a a que esses objetivos sejam conitantes entre si e dicilmente atingidos. O mais comum e o que seja o tima para todos os objetivos ao mesmo tempo. Essas existir a uma soluc a reas caracter sticas descrevem um problema de Otimizac ao Multiobjetivo, frequente nas a o, Financ de Otimizac a as, Economia, Log stica, Engenharia entre outras. o, sob o ponto de vista pr A Otimizac a atico, se trata do conjunto de m etodos capa es poss o ou o funcionazes de determinar as melhores congurac o veis para a construc a mento de sistemas de interesse para o ser humano. Segundo Takahashi (2007), em cada es que cada especialista de cada a rea deve contexto distinto, h a um conjunto de informac o o matem conhecer, permitindo-lhe obter uma descric a atica de cada problema. um ambiente onde s A Bolsa de Valores e ao administrados t tulos, valores mobili arios, t tulos p ublicos federais, moedas, e outros derivativos nanceiros, com as es de compra e venda de ac es e contratos futuros, um exemplo brasileiro e a opc o o estudar o problema da Bolsa de Valores, onde um investidor BM&FBOVESPA. A id eia e es, entre diversas empresas, sob uma determiir a obter uma sugest ao de compra de ac o es e um limite de investimento, cujo objetivo e comprar as ac es nada quantidade de ac o o que tenham os maiores Dividendos e os menores Prec os/Lucro. Durante o decorrer do artigo ser ao apresentados os conceitos e o trabalho de o do algoritmo utilizado. implementac a

2. O Problema
Este trabalho tem como foco principal resolver o problema da Bolsa de Valores aplicando o Multiobjetivo NSGA2 - Non Sorting Genetic Algorithm II. o Algoritmo de Otimizac a A aplicabilidade desse problema envolve uma carteira de empresas para investimento em bolsa de valores.

Partindo do princ pio de que o investidor tem um recurso nanceiro limitado, a o desenvolvida levar o o Prec , o indicativo soluc a a em considerac a o/Lucro, que nada mais e es de uma empresa est o ao mercado, e o de quanto as ac o ao cara ou barata em relac a o indicador percentual que expressa a quantidade dos lucros que ir Dividendo, que e ao ser divididos entre os seus acionistas. A ferramenta proposta ir a auxiliar investidores a o dos prec es e com os dividendos, sempre obterem lucro a partir da variac a os das ac o comprando pelos menores prec os e vendendo pelo m aximo poss vel. o Ojetivo 1, que corresponde a Neste problema Multiobjetivo, temos a Func a o do Prec o Objetivo 2, que diz respeito a ` Maximizac o minimizac a o/Lucro, e a Func a a dos Dividendos.

3. T ecnicas Utilizadas
o MulEsse projeto se prop oe a utilizar conceitos de Algoritmos Gen eticos e otimizac a tiobjetivo e aplic a-los na an alise nanceira de empresas com foco no mercado acion ario ` compra e venda de ac es). Como supracitado anteriormente, essas s (visando a o ao t ecnicas o ecientes de problemas de otimizac o e se encaixam perfeitamente na nede resoluc a a o de atributos. cessidade de uma selec a o do Indiv 3.1. Codicac a duo Cada indiv duo foi modelado da seguinte forma: Ser a composto por um conjunto de empresas, em que cada empresa ter a, associada a ela, determinadas caracter sticas. Essas caracter sticas s ao: Nome, C odigo, Prec o/Lucro ou P/L, Dividendo, Prec o e Quantidade es. de Ac o composto, tamb Al em dessa lista de empresas, cada indiv duo e em, por outras caracter sticas. S ao elas: O front a qual o indiv duo pertence, a quantidade de indiv duos que o dominam, uma lista de indiv duos dominados por ele, valor referente ao Crowding Distance ou simplesmente Dist ancia de Multid ao, Prec o/Lucro Geral, Dividendo Geral, Prec o Geral, sendo que, essas 3 (Tr es) ultimas caracter sticas ser ao calculadas atrav es de uma m edia aritm etica, ou seja, ser a calculado o somat orio das caracter sticas e dividido pelo tamanho da carteira, ou simplesmente, pela quantidade de empresas que faz parte do indiv duo. No caso do Prec o Geral, deve-se multiplicar o prec o com a quantidade de es sugeridas de casa empresa. ac o o Avaliac o 3.2. Func a a o avaliac o ser A func a a a uma an alise sobre uma determinada caracter stica ou atributo de o do recurso de otimizac o multiobjetivo, cada indiv um indiv duo. Com a utilizac a a duo deve ser avaliado de acordo com os 2 (Dois) crit erios: Prec o/Lucro e Dividendo. o de domin Para cada uma das caracter sticas citadas a cima, ter a uma relac a ancia, ou seja, cada crit erio citado acima ter a uma forma diferente de otimizar seu valor. Para o atributo Prec o/Lucro, o seu valor ser a otimizado a medida que diminui, em contrapartida, para o atributo Dividendo, o seu valor ser a otimizado a medida que aumenta. o, utilizamos as Func es Objetivos 1 e 2 para otimizar, prec Para tal avaliac a o o/lucro e dividendo, respectivamente, onde ser a feita a m edia, ou seja, ser a feito o somat orio dos atributos referenciados dentro do conjunto de empresas que pertence a um indiv duo e

dividido pela quantidade de empresas que comp oe esse conjunto. Para cada resultado es, ser dessas duas func o a atribu do ao indiv duo, indicados nos campos Prec o/Lucro Geral e Dividendo Geral. o Penalidade 3.3. Func a o dos indiv Os Algoritmos Gen eticos podem, durante o processo de avaliac a duos, aplicar es de penalidade para indiv es t ecnicas conhecidas como func o duos que violem as restric o es dene o espac es vi impostas. O conjunto de restric o o de soluc o aveis, se por ventura, no es invi processo evolutivo apareceram soluc o aveis, essas s ao penalizadas perdendo opor o. tunidades no processo de selec a es de penalidade existem duas estrat Para o emprego de func o egias, conforme Oliveira (2001): penalidades uniformes ou vari aveis. Penalidades uniformes apresentam pesos xos ao longo do processo evolutivo. J a as penalidades vari aveis alteram gradativamente seu valor, de forma que no inicio do processo os mesmos s ao aplicados a uma gradativamente aumentada no decorrer do processo. press ao menorque e o de penalidade xa para que se o valor do Nesse trabalho foi utilizada a func a Prec o Geral do indiv duo chegue a ultrapassar o investimento do usu ario, esse ser a pena o objetivo, ou seja, o valor da Func o Objetivo 1 ser lizado em cima do valor da func a a a o Objetivo 2 ser acrescido em 8 unidades e a Func a a decrementado em 8 unidades. O valor de 8 unidade foi denido atrav es de uma media do Prec o/Lucro e Dividendo das empresas contidas na base de dados. 3.4. Algoritmos Gen eticos uma t Segundo John Holland (1975), um algoritmo gen etico e ecnica utilizada para achar es aproximadas em um problema de otimizac o, baseada nos conum conjunto de soluc o a o e selec o natural. ceitos da biologia evolutiva como cruzamento, mutac a a inspirado na teoria da O conceito utilizado pelos Algoritmos Gen eticos (AG) e o de Darwin (1959). Segundo essa teoria, as esp evoluc a ecies evoluem para melhor se o se d adaptarem ao ambiente onde vivem. Essa evoluc a a de forma natural, pois ela destaca que: Indiv duos que possuem caracter sticas mais aptas a sobreviver em determinado ambiente tendem a procriar e dar continuidade a sua gen etica, em contrapartida, indiv duos que possuem caracter sticas menos aptas tendem a n ao dar continuidade a suas caracter sticas. es denominado P, ou populac o, aplica-se A partir de um conjunto inicial de soluc o a o Q. os operadores gen eticos para gerar uma nova populac a

imagens/popIniTamDez.jpg

Inicial de 10 Indiv Figura 1. Graco representando uma Populac ao duos

imagens/popIniTamCem.jpg

de 100 Indiv Figura 2. Graco representando uma Populac ao duos

imagens/popIniTamDuzentos.jpg

de 200 Indiv Figura 3. Graco representando uma Populac ao duos

imagens/popIniTamMIL.jpg

de 1000 Indiv Figura 4. Graco representando uma Populac ao duos

imagens/popIniTamCincoMil.jpg

de 5000 Indiv Figura 5. Graco representando uma Populac ao duos

3.4.1. Cruzamento O operador gen etico de cruzamento escolhido dene que cada casal de Indiv duo tem 60% de chance de cruzamento, ou seja, gerar lhos. Utilizamos um m etodo aleat orio de ponto de corte para que os lhos gerados herdem uma determinada quantidade de caracter sticas de seus pais, ou seja, possuam uma porcentagem aleat oria (50%, 30%, 20%, 10%) de chance do lho herdar as caracter sticas do pai ou m ae. O cruzamento e feito em cima do conjunto de empresa dos Indiv duos envolvidos, no qual, pegamos uma parte do Indiv duo1 e uma outra parte do Indiv duo2, de acordo com o ponto de corte supracitado, para gerar um lho, tudo de acordo com a probabilidade descrita acima. es de Func o Objetivo, Dessa forma, os lhos gerados dever ao ser submetidos a Avaliac o a o do Prec o de tanto da f1 como a f2, a Avaliac a o Geral dos lhos, j a que houve uma junc a o de Penalidade, para que partes de Indiv duos que ir a gerar novos valores, e da Avaliac a o supracitada. penalize o indiv duo que desrespeite a restric a o 3.4.2. Mutac a o e de 2%, caso isso ocorra, e Determina-se que a chance de ocorrer ou n ao a mutac a ` posic o de origem de uma gerado dois n umeros aleat orios, distintos, que correspondem a a o de destino de uma empresa, dentro do conjunto de empresas do Indiv duo, e a posic a outra empresa, do mesmo conjunto e do mesmo Indiv duo. Se estiver conforme com o es entre as empresas escolhidas. Dessa determinado, haver a a troca de quantidade de ac o o de uma nova Avaliac o do Prec forma, ser a necess aria a realizac a a o Geral do Indiv duo es entre empresas, logo, isso afetar j a que houve uma troca de ac o a no prec o geral do o de Penalidade, para que penalize indiv Indiv duo e da Avaliac a duo que desrespeite a o supracitada. restric a o 3.4.3. Selec a o desenvolvido emprega um processo de selec o por torO operador gen etico de selec a a neio, ele trabalha da seguinte maneira: escolhe de forma aleat oria, 2 (dois) indiv duos, certicando que sejam diferentes, verica qual deles que mais se adequa ao objetivo pro es n posto, nesse caso, verica o Front (Fronteira F1 cont em soluc o ao-dominadas dentro es n um conjunto M, Fronteira F2 possui soluc o ao-dominadas dentro de um conjunto M F1 e assim sucessivamente) de cada um, quem estiver no Front1 ser a escolhido para incor o Q. No entanto, se por ventura ambos indiv porar a nova populac a duos escolhidos sejam iguais, a forma de desempate ser a feita vericando o Crowding Distance ou simplesmente c alculo da dist ancia de multid ao, onde ser a selecionado o indiv duo que possuir um maior valor para essa caracter stica. Nesse operador n ao h a a necessidade de submeter os in` avaliac es de func o objetivo e nem a avaliac o de c div duos a o a a alculo de prec o geral, j a o no indiv que n ao houve nenhuma alterac a duo. 3.5. Algoritmo Gen etico Multiobjetivo poss o E vel visualizar a capacidade do Algoritmo Gen etico para problemas de otimizac a de busca, essa capacidade pode se tornar ainda maior ao se juntar com o conceito de o multiobjetivo. otimizac a

` ideia de relacionar esses dois conceitos, e, dessa forma, foram desenSurgiu a volvidos diferentes vers oes de Algoritmos Gen eticos Multiobjetivos. Podemos destacar: o do MOGA, NSGA-2 e o SPEA-2. Nesse projeto foi utilizado o NSGA-II para a soluc a problema em foco. 3.6. NSGA-II o em fronts (Fronteiras) de indiv Em linhas gerais, o NSGA-II divide a populac a duos de acordo com o grau de domin ancia. No primeiro Front car ao os melhores indiv duos o, ou seja, os indiv da populac a duos que n ao s ao dominados por nenhum outro, tais in` linha do Pareto. Pareto e onde se encontram as melhores div duos, est ao pr oximos a es que se adaptam ao problema proposto. No problema em quest minimizar o soluc o ao e Prec o/Lucro e maximizar o Dividendo. 3.6.1. Domin ancia o por domin o no conParte onde ocorre a ordenac a ancia, ou seja, acontece uma ordenac a o vericando os valores das 2 (Duas) func es objetivos de cada injunto da populac a o div duo pertencente a esse conjunto. Um individuo P domina um individuo Q se o valores es objetivos de P superar, ou melhor, se maior se adequam ao problema prodas func o posto. Dessa forma, individuo Q estar a contido na lista de dominados por P, e o atributo acrescido no individuo Q que corresponde a Quantidade de Indiv duos que o domina e em 1. Caso contr ario, P estar a contido na lista de Dominados de Q e seu atributo Quantidade de Indiv duos que o domina ser a acrescido em 1. Se por ventura venha acontecer um empata entre indiv duos citados acima, ser a feita um desempate vericando o atributo o abaixo. Distancia de Multid ao que ser a explicado na sec a 3.6.2. Dist ancia de Multid ao o Crowding Distance, ou simplesmente Dist Outro conceito muito importante e ancia de es se apresentem Multid ao, esse conceito faz parte do NSGA-II para garantir que as soluc o de forma espalhada ao longo da linha de Pareto ao inv es de apresentarem concentradas em pontos pr oximos entre si. o dentro de um mesmo Front, quanto maior o Serve como crit erio de ordenac a calculado a o do individuo dentro do Front. E valor da distancia, melhor a classicac a dist ancia m edia entre um indiv duo central i e dois indiv duos pr oximos (i+1 e i-1), todos dentro de um mesmo Front. 3.7. Empresas Selecionadas Para crit erios de testes da ferramenta, foi feita uma uni ao de dados reais como dados es s ct cios. Utilizamos uma base de dados reais de empresas cuja ac o ao negociadas na Bolsa de Valores de S ao Paulo e que possuem uma grande import ancia em seus setores o, tais informac es s de atuac a o ao referentes ao dia 29 de abril de 2009. Foram escolhidas 20 empresas para a nalidade acima descrita, como por exemplo: Petrobr as, Cia Vale do Rio Doce, Cia Sider urgica Nacional, Usiminas, Gerdau,

Ambev, Eletrobr as, Marcopolo, Souza Cruz, Brasil Telecom, al em das empresas com es ct informac o cias. o 3.8. Script de Execuc a Parte que ir a descrever quais passos ser ao dados pelo aplocativo para chegar a uma res o e os m posta nal, ou seja, quais ser ao ordem de execuc a etodos utilizados para chegar a uma soluc ao, indiv duos que n ao s ao dominados por nenhum outro, que comp oem o Pareto. es sobre as 1. Inicialmente, carregamos a nossa base de dados que cont em informac o empresas; o P; 2. Geramos, de forma aleat oria, uma Populac a es denidas pelo 3. Dentro de uma recurs ao, que ser a a quantidade de Interac o usu ario, acontecer a os seguintes passos: o P em uma Populac o Auxiliar; (a) Clonamos a Populac a a o Auxiliar nos Operadores Gen (b) Jogamos a Populac a eticos; i. Cruzamento o ii. Mutac a o Auxiliar no Operador Ordenac o Por Domin (c) Jogamos a Populac a a ancia, o ao front, al processo que ir a ordenar os indiv duos com relac a em disso, o dessa lista, estar teremos uma Lista de Frontes, onde em cada posic a a o 0 (Zero) outra lista contendo os indiv duos separados por frontes. Posic a o 1, encontrar dessa lista conter a Indiv duos com Fonte 1, na Posic a a os indiv duos com Fronte 2 e assim sucessivamente; (d) Jogamos a Lista de Frontes no Operador Calculo de Dist ancia, o atributo distancia de multid ao de cada indiv duo ser a trocado; o Auxiliar, indiv (e) Jogamos a Populac a duos j a com valores nos atributos fronte e distancia de multid ao, no Operador Gen etico. Dessa forma, o Q; ser a criado a Populac a o i. Selec a es P e Q em uma Populac o R; (f) Juntamos as Populac o a o R no Operador Ordenac o por Domin (g) Jogamos a Populac a a ancia, obtendo uma nova lista de Frontes; (h) Entramos em uma nova recurs ao, com a nalidade de encontrarmos me es que se adequam ao problema; lhores soluc o (i) Por m, ordenamos o resultado da recurs ao acima para ltrarmos os melhores valores. Fim da recurs ao. o Auxiliar 4. Juntamos os resultados obtidos acima em uma Populac a o Auxiliar no Operador Ordenac o por Domin 5. Jogamos essa Populac a a ancia, teremos por m, uma nova lista de frontes; o zero da lista de frontes os melhores valores que se 6. Por m, teremos na posic a adequam ao problema, teremos indiv duos que n ao s ao dominados por nenhum outro. Dessa forma, teremos indiv duos que comp oem o Pareto.

4. An alise dos Resultados


es nas quais n A ferramenta elaborada oferece um conjunto de soluc o ao podem ser or es. Neste mesmo denadas e nem avaliadas se s ao melhores ou piores que outras soluc o

es Pareto, que n sentido, temos as Soluc o ao s ao dominadas por nenhuma outra, onde o minimizar a Func o Objetivo 1 e maximizar Func o Objetivo 2. foco e a a es retornadas pelo aplicativo. Para tais As guras abaixo s ao exemplos de soluc o exemplos foram considerados dois objetivos: Prec o/Lucro e Dividendo, e com uma quantidade variada de Indiv duos. o entre os Paretos retornaVale ressaltar que n ao pode ser feita uma comparac a dos variando somente a quantidade de Indiv duo e n ao mantendo um valor xo para a o de Avaliac o. Tal comparac o n quantidade de chamada de Func a a a ao seria justa, pois es com menor quantidade de indiv es de populac o duos teria menos chamadas de func o es e com isso, a sua evoluc o n o de uma populac o que avaliac o a ao seria igual a evoluc a a apresenta uma quantidade maior de indiv duos.

imagens/popCem.jpg

Figura 6. div duos

de 100 inGraco representando um pareto para uma populac ao

imagens/popDuzentos.jpg

de 200 indiv Figura 7. Graco representando pareto para uma populac ao duos

imagens/popMil.jpg

de 1000 indiv Figura 8. Graco representando pareto para uma populac ao duos

imagens/popCincoMil.jpg

de 5000 indiv Figura 9. Graco representando pareto para uma populac ao duos

o dos gr es est A vizualizac a acos permite compreender que as melhores soluc o ao mais pr oximas da regi ao direita e na parte inferior do gr aco, pois o eixo das ordenadas o Objetivo 1, na qual dever representa a Func a a ser minimizada, por outro lado, o eixo das o Objetivo 2 na intenc o de maximixar os Dividendos. abscissas caracteriza a Func a a 4.0.1. Conclus ao Este trabalho apresentou uma an alise de intelig encia computacional para o problema cotidiano da Bolsa de Valores, onde foi aplicado o algoritmo NSGA-II para buscar uma o entre as dispon melhor soluc a veis. Atrav es dos resultados obtidos pela ferramenta, pode-se ver claramente a utilidade desse software no suporte a tomada de decis ao para investimentos na bolsa, onde objetivo foi apresentar uma carteira, ou conjunto de empresas que seja mais rent avel para o investidor, dessa forma, essa ferramenta servir a de apoio tanto para investidores leigos quanto para investidores experientes no que diz respeito ao mercado nanceiro. o do Pareto permitiu compreender e vericar as empresas mais A avaliac a rent aveis, dessa forma, pode-se eliminar o trabalho desnecess ario de um analista nan o de uma carteira de empresas, limitando tamb ceiro para a elaborac a em a um grupo me o dos par nor de empresas. O algoritmo descrito permite a variac a ametros dos m etodos gen eticos, assim sendo, para avaliar melhor os resultados, esses valores poderiam ser variados para obter um grupo maior de resultados distintos. Com um conjunto maior de es poderia-se compar soluc o a-las e descobrir qual dos operadores gen eticos variam e melhoram os resultado. Por m, o NSGA-II atendeu as expectativas e solucionou de modo eciente o pro rea de estudo pode crescer blema apresentado. Vendo desta forma, entende-se que essa a ainda mais e ser usado em outros projetos.

Refer encias
o Escalar e Vetorial. Notas de Aula - Volume 2. Takahashi. R. H. C. Otimizac a Universidade Federal de Minas Gerais. Belo Horizonte. Janeiro, 2007. o multiobjetivos din Ara ujo L. F. J. C. Otimizac a amica para investimentos em bolsa de valores. Monograa. Escola Polit ecnica de Pernambuco. Pernambuco. Janeiro, 2009. Dispon vel em: http://tcc.ecomp.poli.br/20091/ TCC_LUIZ_JANSEN_OTIMIZACOES_MULTIOBJETIVOS_BOLSA.pdf Bovespa. O que a Bolsa faz. Bolsa de Mercados e Futuros Bovespa. S ao Paulo. 2013 Dispon vel em: http://www.bmfbovespa.com.br/ o de TimeTabling Utilizando Algoritmos Gen Borges S. K. Resoluc a eticos o Cooperativa. Dissertac o de Mestrado. Universidade Fee Evoluc a a deral do Paran a. Curitiba. Dezembro, 2003. Dispon vel em: http: //dspace.c3sl.ufpr.br/dspace/bitstream/handle/1884/ 25068/D%20-%20BORGES,%20SUZAN%20KELLY.pdf?sequence=1

Anda mungkin juga menyukai