Upload
dodung
View
215
Download
0
Embed Size (px)
Citation preview
CRESCIMENTO- Estratégia de investimento baseada em
ações de forte crescimento
Fábio Rúben Rodrigues Sendim
Dissertação para obtenção do Grau de Mestre em
Engenharia Eletrotécnica e dos Computadores
Orientadores: Prof. Doutor Rui Fuentecilla Maia Ferreira Neves
Prof. Doutor Nuno Cavaco Gomes Horta
Júri
Presidente: Prof. Doutor Horácio Cláudio de Campos Neto
Orientador: Prof. Doutor Rui Fuentecilla Maia Ferreira Neves
Vogal: Prof. Doutor Pedro Filipe Zeferino Tomás
Maio de 2016
ii
Resumo
Neste trabalho foi desenvolvido um modelo de seleção de ações baseado em algoritmos genéticos
e análise fundamental, utilizando rácios financeiros obtidos através de uma vasta análise de relatórios
financeiros de empresas norte americanas. A eficácia do algoritmo é avaliada nos principais índices
dos EUA: NASDAQ 100, S&P 500 e NASDAQ, com três estratégias diferentes, num período de teste
que compreende os anos de 2014 e 2015 e com dados de treino entre os anos 2011 e 2013. As
estratégias utilizadas envolveram o uso de rácios de crescimento, rentabilidade e dívida. Os genes que
constituem os cromossomas utilizados no algoritmo genético correspondem a pesos que são aplicados
à matriz dos dados financeiros, que previamente foi transformada por um processo de rank. Este
processo transforma os dados reais de cada rácio num ranking por empresa, onde o valor obtido
representa a posição relativa dessa mesma empresa no índice em análise.Os resultados obtidos nos
testes mostraram que as estratégias baseadas em algoritmos genéticos e análise financeira podem
conseguir retornos superiores aos investimentos baseados apenas no índice, com valores que podem
rondar os 56% e 36%, para o NASDAQ 100 e S&P 500 respetivamente.
Palavras-Chave:
Análise Fundamental, Relatórios Financeiros, Rácios Financeiros, Algoritmos Genéticos, Seleção de
Ações, Computação
iii
Abstract
In this work was developed a stock selection model based on genetic algorithms and
fundamental analysis using financial ratios obtained through an extensive analysis of financial reports
of American companies. The effectiveness of the algorithm is evaluated in the major indices US:
NASDAQ 100, S&P 500 and NASDAQ, with three different strategies in a test period comprising the
years 2014 and 2015 and with training data between the years 2011 and 2013. The used strategies
involved the use of growth ratios, profitability and debt. Genes that are used in the chromosomes of
genetic algorithm corresponds to weights that are applied to a financial data matrix that was previously
transformed by a process rank. This process transforms the actual data of each ratio in a ranking
company, where the value obtained is the relative position of that company in the index. The obtained
results in the tests showed that strategies based on genetic algorithms and financial analysis can
generate greater returns than investments based only on the index, with values that can be around 56%
and 36% for the NASDAQ 100 and S&P 500 respectively.
Keywords:
Fundamental Analysis, Financial Statements, Financial Ratios, Genetic Algorithms, Stock Picking,
Computing
iv
Índice
Resumo ............................................................................................................................................... ii
Palavras-Chave: .................................................................................................................................. ii
Abstract .............................................................................................................................................. iii
Keywords: ........................................................................................................................................... iii
Índice .................................................................................................................................................. iv
Lista de Figuras .................................................................................................................................. vi
Lista de Tabelas ............................................................................................................................... viii
Lista de Abreviaturas ........................................................................................................................... x
1 Introdução ................................................................................................................................... 1
1.1 Motivação ........................................................................................................................... 1
1.2 Objetivos ............................................................................................................................. 2
1.3 Estrutura do Trabalho ......................................................................................................... 2
2 Trabalho Relacionado ................................................................................................................. 3
2.1 Mercados Financeiros ........................................................................................................ 3
2.1.1 Mercado Monetário ......................................................................................................... 3
2.1.2 Mercado de Derivados ................................................................................................... 3
2.1.3 Mercado de Capitais ....................................................................................................... 4
2.2 Análise Financeira .............................................................................................................. 6
2.2.1 Demonstrações Financeiras ........................................................................................... 6
2.2.2 Rácios Financeiros ......................................................................................................... 7
2.2.3 SEC e o caso dos E.U.A. ............................................................................................. 12
2.3 Valorização de Ações e Computação .............................................................................. 14
2.3.1 Stock Picking ................................................................................................................ 14
2.3.2 Algoritmos de Machine Learning aplicados ao Mercado de Ações ............................. 14
2.4 Algoritmos Genéticos ....................................................................................................... 17
2.4.1 Estrutura do cromossoma ............................................................................................ 18
2.4.2 Avaliação ...................................................................................................................... 18
2.4.3 Seleção ......................................................................................................................... 19
v
2.4.4 Cruzamento .................................................................................................................. 20
2.4.5 Mutação ........................................................................................................................ 22
2.4.6 Aplicação na Seleção de Ações - Stock Picking .......................................................... 23
3 Arquitetura do Programa ........................................................................................................... 24
3.1 Extração e Tratamentos de Dados ................................................................................... 25
3.2 Transformação de Dados ................................................................................................. 32
3.3 Modelação do Algoritmo Genético ................................................................................... 33
4 Casos de Estudo e Resultados ................................................................................................. 39
4.1 Rácios de Crescimento .................................................................................................... 40
4.2 ROE e Earnings Yield ...................................................................................................... 46
4.3 Rácios de Crescimento e de Dívida ................................................................................. 51
4.4 Resumo ............................................................................................................................ 56
5 Conclusões e Trabalho Futuro .................................................................................................. 59
6 Bibliografia................................................................................................................................. 60
7 Apêndice ................................................................................................................................... 62
7.1 Apêndice 1 – Teste 1 para o índice NASDAQ ................................................................. 62
7.2 Apêndice 2 – Teste 3 para o índice NASDAQ ................................................................. 65
7.3 Apêndice 3 – Instalação do Programa de Seleção de Ações .......................................... 70
vi
Lista de Figuras
Figura 1 – Constituintes principais de uma demonstração de resultados ......................................... 6
Figura 2 - Representação de um neurónio artificial ......................................................................... 15
Figura 3 – Representação das SVMs Lineares e Não-Lineares (baseado em [22][21]) ................. 16
Figura 4 - Modelo do Algoritmo Genético ........................................................................................ 17
Figura 5 – Estrutura de um cromossoma ......................................................................................... 18
Figura 6 – Exemplo de cruzamento usando um ponto .................................................................... 21
Figura 7 - Exemplo de cruzamento usando dois pontos .................................................................. 22
Figura 8 – Exemplo de mutação de um gene de um cromossoma ................................................. 22
Figura 9 – Arquitetura resumida do programa ................................................................................. 24
Figura 10 – Modelo desenvolvido para a extração e tratamento de dados ..................................... 26
Figura 11 – Exemplo da seleção da rúbrica “Total Revenue” de uma demonstração de resultados
.......................................................................................................................................................... 27
Figura 12 - Cálculo da matriz com os dados da população inicial para o algoritmo genético ......... 32
Figura 13 – Rank da matriz de rácios (Genes) – Um bom valor de rácio gera um alto valor de rank
.......................................................................................................................................................... 33
Figura 14 - Esquema do funcionamento de uma geração do algoritmo genético ........................... 34
Figura 15 – Estrutura do cromossoma utilizado no modelo desenvolvido....................................... 34
Figura 16 – Cálculo do valor de rank de cada empresas – Quando maior o valor obtido melhor ... 36
Figura 17 – Ranking das empresas – Quando maior o valor de rank final obtido melhor ............... 37
Figura 18 – Esquema do funcionamento da construção do Portfolio .............................................. 38
Figura 19 - Evolução do retorno do Portfolio vs NASDAQ 100 entre as datas de Jan-14 a Dez-15 –
Teste 1 .............................................................................................................................................. 41
Figura 20 - Evolução do retorno do Portfolio vs S&P 500 entre as datas de Jan-14 a Dez-15 – Teste
1 ........................................................................................................................................................ 43
Figura 21 - Evolução do retorno do Portfolio vs NASDAQ entre as datas de Jan-14 a Dez-15 – Teste
1 ........................................................................................................................................................ 45
Figura 22 - Evolução do retorno do Portfolio vs NASDAQ 100 entre as datas de Jan-14 a Dez-15 –
Teste 2 .............................................................................................................................................. 47
Figura 23 - Evolução do retorno do Portfolio vs S&P 500 entre as datas de Jan-14 a Dez-15 – Teste
2 ........................................................................................................................................................ 49
Figura 24 - Evolução do retorno do Portfolio vs NASDAQ entre as datas de Jan-14 a Dez-15 – Teste
2 ........................................................................................................................................................ 50
Figura 25 - Evolução do retorno do Portfolio vs NASDAQ 100 entre as datas de Jan-14 a Dez-15 –
Teste 3 .............................................................................................................................................. 52
Figura 26 - Evolução do retorno do Portfolio vs S&P 500 entre as datas de Jan-14 a Dez-15 – Teste
3 ........................................................................................................................................................ 54
Figura 27 - Evolução do retorno do Portfolio vs NASDAQ entre as datas de Jan-14 a Dez-15 – Teste
3 ........................................................................................................................................................ 56
vii
Figura 28 – Pasta do Programa ....................................................................................................... 70
Figura 29 – Definição da variavel de ambiente com a localização do programa ............................ 70
Figura 30 – Configuração da instalação Java .................................................................................. 71
viii
Lista de Tabelas
Tabela 1 - Principais constituintes do mercado financeiro ................................................................. 3
Tabela 2 – Principais tipos de formulários que se podem consultar e extraír no website do SEC . 13
Tabela 3 – Alguns dos estudos analisados e respetivos métodos de otimização ........................... 23
Tabela 4 – Exemplo de um balanço obtido através do portal do SEC ............................................ 28
Tabela 5 - Exemplo de uma demonstração de resultados obtida através do portal do SEC .......... 29
Tabela 6 – Dados financeiros após todo o processo de extração e tratamento dos dados (Excerto
da tabela) .......................................................................................................................................... 30
Tabela 7 – Excerto da matriz com os rácios financeiros ................................................................. 31
Tabela 8 – Genes disponíveis no programa desenvolvido .............................................................. 35
Tabela 9 – Coeficientes de Retorno/Risco por Índice bolsista ........................................................ 39
Tabela 10 – Cromossoma resultante do algoritmo genético – NASDAQ 100 – Teste 1 ................. 40
Tabela 11 – Retorno NASDAQ 100 – Teste 1 ................................................................................. 40
Tabela 12 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ 100 – Teste 1 ... 41
Tabela 13 - Cromossoma resultante do algoritmo genético – S&P 500 – Teste 1 .......................... 42
Tabela 14 - Retorno S&P 500 – Teste 1 .......................................................................................... 42
Tabela 15 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –S&P 500 – Teste 1 ............ 43
Tabela 16 - Cromossoma resultante do algoritmo genético – NASDAQ – Teste 1 ......................... 44
Tabela 17 - Retorno NASDAQ – Teste 1 ......................................................................................... 44
Tabela 18 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ – Teste 1 - Excerto
.......................................................................................................................................................... 45
Tabela 19 - Cromossoma resultante do algoritmo genético – Teste 2 ............................................ 46
Tabela 20 - Retorno NASDAQ 100 – Teste 2 .................................................................................. 46
Tabela 21 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ 100 – Teste 2 ... 47
Tabela 22 - Retorno S&P 500 – Teste 2 .......................................................................................... 48
Tabela 23 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –S&P 500 – Teste 2 ............ 48
Tabela 24 - Retorno NASDAQ – Teste 2 ......................................................................................... 49
Tabela 25 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ – Teste 2 .......... 50
Tabela 26 - Cromossoma resultante do algoritmo genético – NASDAQ 100 – Teste 3 .................. 51
Tabela 27 – NASDAQ 100 – Teste 3 ............................................................................................... 51
Tabela 28 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ 100 – Teste 3 .... 52
Tabela 29 - Cromossoma resultante do algoritmo genético – S&P 500 – Teste 3 .......................... 53
Tabela 30 – S&P 500 – Teste 3 ....................................................................................................... 53
Tabela 31 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – S&P 500 – Teste 3 ........... 53
Tabela 32 - Cromossoma resultante do algoritmo genético – NASDAQ – Teste 3 ......................... 54
Tabela 33 - Retorno NASDAQ – Teste 3 ......................................................................................... 55
Tabela 34 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ – Teste 3 .......... 55
Tabela 35 – Tabela resumo dos resultados obtidos ........................................................................ 57
ix
Tabela 36 – Percentagem de empresas com retornos positivos e negativos, por índice bolsista e
teste efetuado ................................................................................................................................... 57
Tabela 37 - Percentagem de empresas vendidas por atingirem limites de ganhos ou perdas, por
índice bolsista e teste efetuado ........................................................................................................ 58
Tabela 38 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ – Teste 1 - Completa
.......................................................................................................................................................... 62
Tabela 39 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ – Teste 3 - Completa
.......................................................................................................................................................... 65
x
Lista de Abreviaturas
A - Ativo
AC - Ativo Corrente
ANN - Artificial Neural Networks (Redes Neuronais)
CP - Capital Próprio
DJ - Dow Jones Industrial Average
EBITDA - Lucro antes de juros, impostos, depreciação e amortização
EDGAR - Electronic Data Gathering, Analysis and Retrieval
GA - Genetic Algorithm (Algoritmo Genético)
LB - Lucro Bruto
MB - Market to Book
NASDAQ - National Association of Securities Dealer Automated Quotation
System
NYSE - New York Stock Exchange
P - Passivo
PC - Passivo Corrente
PCA - Principal Components Analysis
PEG - Price-Earnings to Growth
PER - Price-Earnings Ratio
RL - Resultado Liquido
ROA - Return on Asset (Retorno do Ativo )
ROE - Return on Equity (Retorno dos Capitais Próprios)
SEC - U.S. Securities and Exchange Commission
SVM - Suport Vector Machines (Máquinas de Vetores de Suporte)
1
1 Introdução
Há muitos anos que o mercado de capitais, e em particular o mercado acionista, é de enorme
interesse no meio financeiro, nomeadamente por parte dos investidores. Sendo o principal objetivo de
um investidor obter o máximo de lucro com o mínimo de risco possível, este sempre tentou melhorar
as ferramentas para a seleção das melhores ações. No entanto, uma análise aos índices bolsistas
americanos pode se tornar facilmente numa tarefa complicadissima devido à dimensão desses mesmos
mercados. O principal indice bolsista norte-americano, o National Association of Securities Dealer
Automated Quotation System ou simplesmente NASDAQ, é constituido por mais de 3000 empresas [1].
Se o investidor pretender analisar os dados financeiros destas mesmas empresas ao longo dos ultimos
5 anos, teria que analisar cerca de 60000 relatórios financeiros reportados à entidade reguladora. Assim
sendo, desde cedo a investigação de sistemas inteligentes de apoio à decisão começou a ter
importância e a ser amplamente investigado.
O uso de sistemas inteligentes, nomeadamente de algoritmos de machine learning para a análise
dos mercados, tornou possível a análise de toda esta imensidão de dados num intervalo de tempo útil
para a tomada de decisão em termos de investimento. Métodos como as redes neuronais, máquinas
de vetores de suporte e algoritmos genéticos têm sido utilizados e desenvolvidos para responder a este
tipo de problemas.
1.1 Motivação
Existem variadíssimos estudos em que são aplicados algoritmos de inteligência artificial para a
criação de portfolios de investimento, nomeadamente no mercado de capitais através de ações. A
maioria dos mesmos utiliza como fontes de dados a informação do mercado de ações: preço e volume.
A aplicação de algoritmos genéticos não foge à regra, sendo maioritariamente aplicados com estas
fontes. A informação dos relatórios financeiros das empresas é sem dúvida mais difícil de obter, e
posteriormente de analisar, principalmente se pretendermos vários anos de histórico. É assim
importante que se desenvolva uma forma acessível de obtenção, análise e tratamento da informação
financeira e que seja aplicável como input de algoritmos genéticos. Será assim possível analisar a
situação financeira (sustentabilidade, rentabilidades, taxas de crescimentos e dívida) de cada empresa
em bolsa, com o simples objetivo de encontrar empresas de grande crescimento e que se construa um
portfolio com rentabilidades superiores ao mercado.
2
1.2 Objetivos
O principal objetivo deste trabalho é o desenvolvimento de um sistema inteligente de apoio à
seleção de ações de crescimento que proporcionem bons retornos ao investidor. Neste trabalho será
analisada a aplicabilidade de algoritmos genéticos para esta função. Posteriormente será efetuada a
análise do programa desenvolvido com o intuito de aferir se o mesmo consegue ter melhor resultados
que um investimento no índice bolsista. O algoritmo genético estará assente em análise fundamental e
dando primazia a rácios de crescimento e de rentabilidade numa primeira abordagem, e a rácios de
dívida numa abordagem comparativa.
1.3 Estrutura do Trabalho
No capítulo 2 é dado um amplo contexto de todo o trabalho desenvolvido. É referida a
constituição dos mercados financeiros e os seus principais instrumentos, onde será dado um enfase
ao mercado de capitais e por consequente às ações. De seguida serão abordados aspetos da análise
fundamental, descrita a constituição dos reportes financeiros, como poderão se obter os rácios
financeiros e uma breve referência à entidade reguladora americana dos valores mobiliários, SEC (U.S.
Securities and Exchange Commission), que foi utilizada como fonte de dados financeiros do trabalho.
Por último são apresentados diversos algoritmos de machine learning aplicados à seleção de ações,
com um especial foco nos algoritmos genéticos.
No capítulo 3 é detalhada toda a arquitetura do programa desenvolvido, as suas funcionalidades
e constituintes, que incorpora a aquisição e tratamento de dados do SEC, a modelação do algoritmo
genético e a escolha dos parâmetros.
No capítulo 4 são apresentados os resultados dos testes efetuados bem como todas as
parametrizações utilizadas para os mesmos.
No capítulo 5 serão descritas as conclusões obtidas dos testes efetuados no capítulo anterior,
bem como a indicação do que pode ser feito futuramente para melhorar o modelo desenvolvido.
3
2 Trabalho Relacionado
2.1 Mercados Financeiros
Os mercados financeiros permitem a vendedores e compradores negociarem entre si produtos
financeiros através de contratos legais, que concedem aos compradores direitos futuros de proveitos
[2].
Dependendo da análise pretendida, os mercados financeiros podem ser agrupados de acordo
com a Tabela 1, onde a distribuição é efetuada pela maturidade dos produtos financeiros
transacionados.
Tabela 1 - Principais constituintes do mercado financeiro
Mercado Produtos Financeiros
Mercado Financeiro
Monetário Certificados de Aforro
Bilhetes de Tesouro Papel Comercial
Capitais Obrigações
Ações
Derivados
Opções Futuros Swaps
Forwards
2.1.1 Mercado Monetário
No mercado monetário são emitidos e transacionados instrumentos financeiros de curto prazo,
como exemplo o papel comercial, os bilhetes de tesouro e os certificados de aforro, emitidos sobretudo
pelo governo, mas também podendo ser emitidos por empresas privadas.
2.1.2 Mercado de Derivados
No mercado de derivados, os produtos transacionados têm um valor que depende do valor de
um ou mais títulos, sendo casos destes instrumentos os futuros, opções, swaps, entre outros [2]. Estes
instrumentos são principalmente utlizados como cobertura de risco, arbitragem e especulação [3].
4
2.1.3 Mercado de Capitais
O mercado de capitais é o mercado de longo prazo onde são transacionadas ações e
obrigações. Assim sendo este mercado é dividido em duas partes:
Mercado Acionista: no mercado acionista são transacionadas ações representantes do
capital próprio da empresa. O valor que uma ação possui está dependente de fatores de
desempenho da empresa e evolução dos mercados;
Mercado Obrigacionista: neste mercado são transacionadas obrigações, correspondentes
a títulos de divida, em que o emitente se compromete a pagar ao comprador uma taxa de juro
definida durante o período de empréstimo e o reembolso do capital no final da maturidade. As
mesmas podem ser emitidas por empresas ou por governos [2].
Nesta dissertação é estudado o mercado acionista e como tal apenas são utilizadas ações para a
estratégia de investimento.
Ações
Uma ação simboliza a menor percentagem do capital de uma empresa que um investidor pode
ter em sua posse. Assim sendo, um investidor ao comprar um conjunto de ações tornar-se-á possuidor
de uma percentagem do capital social da empresa em que investiu. O preço que um investidor terá que
pagar por cada ação não é fixo e depende de variadíssimos fatores que influenciam a evolução do seu
preço, desde a performance atual da empresa, às expetativas futuras, ao ambiente económico atual,
evolução da indústria, entre outros mais fatores, sejam eles previsíveis ou não [4].
Tipos de Ações
Ações de Crescimento – estas ações têm uma enorme perspetiva de crescimento,
geralmente acima do mercado. As altas taxas de crescimento nas receitas e de perspetivas de
grandes taxas de retorno aos acionistas tornam estas ações muito apetecíveis por parte dos
investidores;
Ações Cíclicas – ações sujo preço varia consoante as oscilações económicas dos
mercados. São muito suscetíveis aos ciclos económicos, onde temos como principal exemplo o
setor automóvel e o da aviação;
Ações Defensivas - são ações com maiores probabilidades de bons resultados ao longo
de todo o ciclo de negócio, resistindo melhor a épocas de mercado em baixa. Exemplos de
empresas do setor das utilities e empresas alimentares encaixam bem neste perfil [4];
Ações Especulativas – são por norma ações de muito baixo custo e com alto risco devido
à especulação de altos retornos, devido por exemplo à expectativa futura de uma tecnologia
disruptiva e inovadora;
5
Ações de Valor – ações de empresas com uma boa estrutura financeira, mas cujo preço
está abaixo do esperado mediante dos seus resultados;
Ações de Rendimento - são ações pertencentes, em norma, a empresas de maior
maturidade e com uma taxa anual de crescimento muito mais lenta, mas que no entanto
proporcionam aos seus acionistas uma percentagem muito maior de distribuição de dividendos,
tornando-as ações de menor risco para o investidor.
Principais Mercados de Ações nos EUA
O New York Stock Exchange, NYSE, foi criado em 1792 em Nova Iorque, EUA. É o maior mercado
de valores do mundo e é constituído por todas as ações registadas cujo valor é a ponderação efetuado
de acordo com o seu valor de capitalização de mercado [5]. Possui perto de 3000 cotadas, sendo mais
de 300 estrangeiras.
O National Association of Securities Dealer Automated Quotation System, NASDAQ, foi fundado em
1971 e é atualmente a principal rival do NYSE. Embora em termos de capitalização este último seja
claramente superior, o NASDAQ tem crescido em termos de volume de ações transacionadas e já
supera em número de cotadas (atualmente mais de 3000). Para uma empresa ser listada no NASDAQ
tem que estar simultaneamente registada na entidade reguladora americana, SEC1, e preencher uma
série de requisitos mínimos, em termos de capital, ativos, acionistas entre outros [6].
Entre os principais índices americanos destacam-se o Dow Jones Industrial Average, DJ, o Standard
& Poor’s 500, S&P 500, e o NASDAQ 100. O primeiro é constituído pela 30 maiores empresas norte-
americanas, sendo este o mais antigo e possivelmente o mais famoso índice norte-americano. O S&P
500 aglomera as 500 maiores empresas em termos de capitalização de mercado, com um valor mínimo
de 5.3 biliões de dólares [7] e pertencentes ao NYSE ou ao NASDAQ. Por último, o NASDAQ 100 é
constituído pelas 100 maiores empresas não financeiras que fazem parte do NASDAQ. Nesta
dissertação serão analisados os índices NASDAQ 100, S&P 500 e NASDAQ.
1 Ver mais no ponto 2.2.3
6
2.2 Análise Financeira
A análise financeira é uma das principais ferramentas de avaliação e análise de uma empresa,
visto que esta devolve a condição financeira num certo instante de tempo. Para além do seu aspeto
mais analítico permite também aferir acerca do desempenho futuro da empresa analisada, prevendo
possíveis ganhos ou perdas, providenciando dados aos investidores acerca do grau de risco que
determinada empresa apresenta [8].
A análise financeira está assente no tratamento de informação obtida das Demonstrações
Financeiras que as empresas apresentam periodicamente aos seus investidores e reguladores. Estas
demostrações são obrigatórias e ocorrem trimestralmente, sendo uma delas de caracter anual que
coincide com o encerramento do ano fiscal da empresa.
2.2.1 Demonstrações Financeiras
As demonstrações financeiras são as principais fontes de dados para a avaliação da saúde
financeira de determinada empresa. Estas demostrações são constituídas por várias partes, onde se
destacam os balanços, as demonstrações de resultados, os fluxos de caixa e a variação do capital
próprio, como representado na Figura 1[9].
Figura 1 – Constituintes principais de uma demonstração de resultados
Estes constituintes têm objetivos diferentes e pretendem dar uma visão da empresa de variados perfis
[10]:
Dem
on
stra
ções
Fin
an
ceir
as
Visão Financeira
- Balanço
Visão Económica
-Demonstração de Resultados
Visão Tesouraria
- Cash Flows
Capital Próprio - Variação no Capital Próprio
7
Balanço: à data de reporte mostra a saúde financeira atual da empresa. No balanço é
apresentado todo o património atual da empresa e é constituído por três elementos essenciais:
ativo, passivo e capital próprio. Alguns exemplos de rácios financeiros que podem ser obtidos
através do balanço são o rácio de alavancagem financeira (estrutura de capitais por exemplo) e
o rácio de liquidez geral;
Demonstração de Resultados: pretende demonstrar o desempenho financeiro que a
empresa apresentou num determinado período de tempo (normalmente trimestralmente). São
alguns dos constituintes deste relatório o volume de vendas e de receitas, os ganhos e custos
das mesmas, o lucro que a empresa gerou da sua atividade e também o resultado líquido do
período em análise. Juntamente com alguns valores do balanço, nomeadamente o valor de
capital próprio e do ativo, torna-se possível calcular os rácios de funcionamento e rentabilidade,
tais como margem bruta e líquida, ROA (retorno do ativo) e ROE (retorno dos capitais próprios);
Cash Flows: apresenta todos os movimentos monetários acumulados presentes na
empresa até um determinado período de tempo (data de reporte e refente ao ano fiscal em vigor);
Variação no Capital Próprio: apresenta todas as variações que ocorreram até determinado
momento ao nível dos capitais próprios da empresa.
2.2.2 Rácios Financeiros
A utilização de rácios financeiros será possivelmente o método mais utilizado para a análise
financeira de uma empresa. Um dos principais fatores para a sua larga utilização é a sua fácil obtenção
a partir das demostrações financeiras das empresas, dados estes que estão disponíveis aos
investidores. Ao que o negócio diz respeito, estes rácios permitem aos gestores a criação de objetivos
e targets financeiros e de performance, permitindo assim a monitorização do desempenho das suas
atividades e resultados. Para o investidor, a análise temporal dos rácios permite um acompanhamento
da empresa em que investiu ao nível financeiro, permitindo assim avaliar de uma forma quantitativa se
o seu investimento poderá retornar lucros [10], [11].
Estes rácios podem ser agrupados em categorias, sendo as principais as seguintes:
Rácios de Alavancagem Financeira;
Rácios de Liquidez;
Rácios de Funcionamento;
Rácios de Rentabilidade;
Rácios Baseados no Mercado;
Rácios de Produtividade.
Neste trabalho são utilizados rácios acerca das primeiras 5 categorias, cujos significados e
definições são descritas de seguida.
8
Rácios de Alavancagem Financeira
Os rácios de alavancagem financeira (ou rácios de estrutura de capitais) permitem aferir acerca das
origens dos financiamentos externos da empresa, medindo o financiamento através do capital próprio
e de dívida [8]. Exemplos destes rácios são a estrutura de capitais (Debt to Equity Debt – D/E) e o
endividamento (Debt Ratio):
/P
D ECP
(1)
PDR
A (2)
onde P é o passivo, A o ativo e CP o capital próprio. Quanto maior for o valor destes rácios em maior
dificuldade financeira se encontrará a empresa.
Rácios de Liquidez
A liquidez pode ser definida como a capacidade de uma empresa pagar as suas dívidas de curto
prazo [12]. Assim sendo, os rácios de liquidez permitem avaliar esta situação com base no valor dos
seus ativos correntes. Os principais rácios são os de Liquidez Geral (Current Ratio - CR), Liquidez
Reduzida (Quick Ratio - QR) e Liquidez Imediata (Cash Ratio – CashR). As fórmulas de cálculo podem
ser obtidas através das seguintes expressões:
ACCR
PC (3)
AC InventárioQR
PC
(4)
Caixa+Investimentos curto prazo
PCCashR (5)
onde AC é o ativo corrente e PC o passivo corrente. É desejável que os valores destes rácios sejam
superiores a 1, indicando assim que a empresa tem possibilidades de pagar a sua divida de curto prazo.
A diferença entre os três rácios baseie-se no tipo de ativo que é contabilizado e distinguem-se pela
rapidez com que são convertíveis em liquidez [13].
Rácios de Funcionamento
Os rácios de funcionamento, também denominados de rácios de eficiência, têm como finalidade
avaliar a eficiência com que os ativos de uma empresa são utlizados. O rácio de rotação do ativo (Asset
9
Turnover - AT) mede esta eficiência onde quanto maior o valor maior será a eficiência com que a
empresa realiza vendas. É muitas vezes utilizado em comparação com empresas do mesmo setor. Se
o valor de AT for superior à mádia do setor pode indicar que trabalha perto da sua capacidade
possivelmente devido aos poucos ativos. Se o valor for inferior pode indicar que a empresa não tem
vendas suficientes que justifiquem a quantidade de ativos (excesso de capital). O rácio AT é dado por:
VendasAT
A (6) ,
onde A é o ativo médio.
Rácios de Rentabilidade
Os rácios de rentabilidade têm como principal objetivo analisar o desempenho dos capitais que
foram investidos numa empresa, não tendo em conta a sua proveniência [13]. Em suma, estes rácios
aferem o quão eficiente é a utilização do capital investido na geração de resultados. Os principais rácios
de rentabilidade são os seguintes:
Margem Bruta (Gross Margin - GM):
o Re
Re Re
LB ceitas CustosGM
ceitas ceitas
(7),
onde LB é o lucro bruto;
o Este indicador mede a rentabilidade obtida com as vendas, já que são deduzidos os custos.
Margem Liquida (Net Profit Margin - NPM):
o Re
LLNPM
ceitas (8),
onde LL é o lucro líquido (após custos, despesas e impostos);
o A margem líquida expressa o montante receitas que realmente corresponde a ganhos
financeiros.
Rentabilidade do Ativo (Return on Assets - ROA):
o EBITDA
ROAA
(9),
onde o EBITDA é o lucro antes de juros, impostos, depreciação e amortização; é o lucro antes
de juros, impostos, depreciação e amortização, e A é o ativo médio;
o O rácio ROA dá a indicação da rentabilidade dos investimentos efetuados (ativo).
Rentabilidade dos Capitais Próprios (Return on Equity - ROE):
o RL
CPROE (10),
10
onde RL é o resultado líquido e CP é o capital próprio; é o capital próprio;
o A par do ROA, o ROE transmite a relação entre os ganhos provenientes da atividade e o
capital próprio da empresa. Este rácio dá a indicação aos investidores do retorno obtido dos
seus investimentos, ou seja, a capacidade que uma empresa tem de gerar mais-valias através
dos investimentos dos acionistas.
Rentabilidade das Vendas (Return on Sales - ROS):
o EBITDA
ROSVendas
(11);
o Dá a indicação da percentagem de rentabilidade relativamente ao montante de vendas.
Valores elevados para estes indicadores definem uma maior rentabilidade da atividade de uma
dada empresa. Para uma análise completa os mesmos resultados devem ser comparados com os
valores de empresas do mesmo setor de atividade.
Rácios Baseados no Mercado
Os rácios baseados no mercado permitem realizar uma análise da valorização de uma empresa no
mercado de ações e a sua comparação com o valor das restantes empresas (normalmente do setor de
atividade). Os rácios baseados no mercado são os seguintes:
Price-Earnings Ratio – PER:
o Preço ação
Lucro por açãoPER (12);
o Este rácio relaciona o preço de mercado da ação e o lucro por ação obtido, o EPS. Sendo
o EPS uma indicação do ganho obtido por cada ação da empresa, o PER terá como função
de indicar se o valor da ação é o adequado, ou se está sobreavaliada ou subavaliada. Por
outro lado o PER pode dar também uma perspetiva do lado do investidor, já que o rácio
indicará o montante de ganhos que esperam obter do seu investimento.
Earnings Yield:
o Lucro por ação
Preço açãoYields (13);
o Sendo o valor de lucro obtido por cada ação em relação ao seu valor, por norma, quanto
maior o valor de Yields melhor;
11
Payout :
o Dividendos por ação
Lucro por açãoPayout (14);
o Valor de lucro que é distribuído como dividendos. Por norma, quanto maior este valor melhor;
Price-Earnings to Growth – PEG:
o Taxa de crescimentos dos lucros por ação
PERPEG (15);
o Relaciona o valor do PER com os ganhos da empresa. Quanto menor o seu valor melhor,
aconselhando-se valor inferiores a 2;
Market to Book – MB:
o
Valor contabilistico/
Valor de mercado empresa
M B (16);
o Quanto menor este valor melhor. Caso o valor seja inferior a 1, significa que a empresa se
encontra subavaliada, pelo contrário, um valor superior a 1 indica que a empresa está
sobreavaliada.
Taxas de Crescimento
No caso do estudo de ações de crescimento é importante uma análise das taxas de crescimento de
cada empresa. Para além de indicadores como o PER, PEG e margens liquida e bruta é também
necessário avaliar certos indicadores financeiros ao longo do tempo. Serão utilizadas taxas de
crescimento de Earnings per Share, de receitas e de EBITDA neste trabalho. Estas taxas de
crescimento são dadas pelas seguintes expressões:
Taxa de crescimento EPS (EPS Growth):
o 1
1
t tGrowth
t
EPS EPSEPS
EPS
(17);
Taxa de crescimento das receitas (Income Growth Ratio):
o t t-1
t-1
Receita -Receita
ReceitaGrowthIncome (18);
12
Taxa de crescimento de EBITDA (EBITDA Growth Rate):
o t t-1
t-1
-Growth
EBITDA EBITDAEBITDA
EBITDA (19);
Taxa de crescimento da divida de longo prazo (Debt Growth):
o t t-1
t-1
Divida LP -Divida LP
Divida LPGrowthDebt (20);
Taxa de crescimento do passivo (Liabilities Growth):
o t t-1
t-1
Passivo -Passivo
PassivoGrowthLiabilities (21);
Taxa de crescimento do passivo corrente (Current Liabilities Growth):
o t t-1
t-1
Passivo Corrente -Passivo CorrenteCurrent Liabilities
Passivo CorrenteGrowth (22);
Taxa de crescimento da caixa e depósitos bancários (Cash Growth):
o t t-1
t-1
Caixa e Depósitos -Caixa e DepósitosCash
Caixa e DepósitosGrowth (23).
2.2.3 SEC e o caso dos E.U.A.
Após o crash financeiro americano no ano de 1929 surgiu a necessidade da criação de uma
entidade que tivesse a responsabilidade da definição de nomas e de regulamentação sobre as
atividades financeiras das empresas norte americanos ou envolvidas no seu mercado. O SEC (U.S.
Securities and Exchange Commission) tem esta função e é responsável pela criação dos regulamentos
afetos às empresas em mercado. Um dos regulamentos obriga as empresas à apresentação periódica
do seu estado financeiro atual, através das demonstrações financeiras [14]. Esta informação financeira
é entrega ao SEC, obedecendo a certas normas impostas, e colocadas no sistema EDGAR (Electronic
Data Gathering, Analysis and Retrieval), podendo ser posteriormente consultada pelo público,
tornando-se assim na principal fonte de dados financeiros dos analistas [15].
Os principais formulários de dados são os quadrimestrais e anuais, que podem ser encontrados
no website do SEC com os acrónimos descritos na Tabela 2.
13
Tabela 2 – Principais tipos de formulários que se podem consultar e extraír no website do SEC
Período Acrónimo Empresas
Quadrimestral 10-Q Norte Americanas
6-K Restantes
Anual
10-K Norte Americanas
20-F Canadianas
40-F Restantes
14
2.3 Valorização de Ações e Computação
Sendo o mercado de ações uma dos mais populares entre os investidores, estes sempre
tentaram encontrar novas formas de aumentar as rentabilidades dos seus portfolios de ações. Métodos
preditivos e algoritmos de Machine Learning têm sido desde há muito tempo desenvolvidos e utilizados
para este objetivo: redes neuronais, máquinas de suporte de vetores e métodos preditivos estão
amplamente documentados em diversos estudos sobre previsão de retorno em investimentos mercado
de ações.
2.3.1 Stock Picking
A seleção de ações, stock picking, é o processo de selecionar sistematicamente ações com
potencial de retorno por parte de um investidor para constituir os seus portfolios de investimento. No
entanto, este processo é muitíssimo complexo pelas mais diversas razões, como a imensidão de dados
disponíveis para análise de um índice bolsista como o NASDAQ (com cerca de 3000 empresas) e a
dificuldade de prever o comportamento futuro do preço de uma ação. A utilização de computação para
efetuar esta tarefa torna-se assim essencial para o investidor analisar em tempo útil todo um índice
bolsista e assim escolher boas ações consoante os critérios escolhidos. Vários são os algoritmos de
machine learning que se tem aplicado na resolução deste problema de otimização, desde as redes
neuronais, máquinas de suporte de vetores e algoritmos genéticos.
2.3.2 Algoritmos de Machine Learning aplicados ao Mercado de Ações
Redes Neuronais
As redes neuronais têm sido estudadas e utilizadas em problemas de previsão de retorno de
portfolios de ações visto que estes têm uma boa adaptabilidade à não linearidade existente nos
mercados financeiros [16][17][18].
O conceito inerente às redes neuronais tem como principal motivação o funcionamento e
estrutura do sistema nervoso humano, tentando modelar a sua forma de captação de conhecimento de
um conjunto de dados. É este facto que tornou as redes neuronais muito aclamadas e com um foque
de estudo muito grande. No entanto, os modelos são simplificados e adaptados ao hardware e software
existentes, com o objetivo de solucionar problemas de classificação e de regressão. A arquitetura de
uma rede neuronal é constituída por um conjunto de neurónios que se interligam constituindo um
sistema distribuído.
15
A Figura 2 ilustra a representação de um neurónio artificial, onde é realizada a soma ponderada
das entradas 𝑥𝑖 pelos pesos 𝑤𝑖 e utilizada como entrada numa função de ativação, com o objetivo de
obter um output para o neurónio. Este output pode ou não ser utilizado como entrada de um novo
neurónio para posterior processamento .
Figura 2 - Representação de um neurónio artificial
Em suma, uma rede neuronal pode ser caracterizada pela sua arquitetura constituída por uma
interligação de neurónios artificiais e a definição dos pesos iw associados a cada uma das entradas
ix de cada neurónio, pesos estes que são calibrados com o uso de dados de treino em processos de
aprendizagem.
Máquina de vetores de suporte
Outra técnica utilizada em problemas de previsão de retorno de portfolios de ações são as máquinas
de vetores de suporte [20] [21] inicialmente desenvolvidas no trabalho de Vladimir Vapnik. Esta técnica
tem ganho relevância entre os algoritmos de machine learning devido aos seus muito bons resultados
e ser baseada na teoria da aprendizagem estatística. O principal objetivo é a obtenção de uma função
de saída com uma boa capacidade de generalização dado um conjunto de dados de treino [21].
As máquinas de vetores de suporte (SVMs) podem ser utilizadas na resolução de dois tipos de
problemas:
Classificação;
Regressão.
Dependendo do tipo de dados de treino utlizados, as SVMs podem ser lineares ou não lineares [22]:
𝑥
𝑥
𝑥
𝑥
𝑥𝑖
𝑖
𝑤𝑖
𝑖
𝑤
𝑤
𝑤
𝑤
16
SVMs Lineares – a separação dos dados de treino é feita linearmente num hiperplano;
SVMs Não-Lineares – os dados de input são analisados no espaço de características de
grandes dimensões devido à não linearidade dos dados de treino.
Hiperplano – SVM LinearEspaço de Caracteristicas a
duas dimensões – SVM Não-Linear
Classes de Dados
Separador
Fronteira
Figura 3 – Representação das SVMs Lineares e Não-Lineares (baseado em [22][21])
Na Figura 3 é representada como se efetua a separação dos dados dependendo da sua
caraterística de linearidade: à esquerda é representada a separação dos dados presentes em SVMs
lineares representados num hiperplano; à direita é exemplificado um caso de não linearidade (SVMs
não-lineares), em que a separação é efetuada através de uma circunferência representada no espaço
de características.
Algoritmos Genéticos
O algoritmo genético é uma técnica de otimização, por exemplo na procura de uma solução para
um determinado problema, inspirada nos processos evolutivos. Um conjunto de possíveis soluções
(cromossomas) que forma a população inicial passa por processos de seleção (mediante de uma
função de avaliação), mutação e cruzamento. Este conjunto de operações são executadas durante um
certo número de gerações até à obtenção da população final, constituída por descendentes ou
sobreviventes da população inicial, que conterá as melhores soluções encontradas para o problema.
O algoritmo genético e os seus elementos serão explicados com maior detalhe no ponto 2.4.
17
2.4 Algoritmos Genéticos
Concebido por John Holland, os algoritmos genéticos são umas das principais metodologias de
computação evolutiva atualmente utilizadas. Este algoritmo é um método de otimização e de procura,
tendo como objetivo o cálculo da melhor solução aproximado para um determinado problema. O nome
deste algoritmo advém da sua inspiração em processos biológicos e evolutivos e usa processos
semelhantes, como a mutação, cruzamento e seleção [23][24].
O algoritmo genético realiza uma procura num determinado conjunto de indivíduos, a população,
dada uma uma função de avaliação onde o objetivo é a sua maximização.
Figura 4 - Modelo do Algoritmo Genético
Como se observa na Figura 4, o algoritmo tem como base um conjunto de operadores que
representam os processos biológicos evolutivos [25][24]. As quatro fases do algoritmo são as seguintes:
Avaliação: nesta fase os indivíduos da população passam por um processo de avaliação,
recorrendo a uma função de avaliação (fitness function), onde o valor obtido definirá as hipóteses
que esse indivíduo tem de ser selecionado. Medidas de retorno e de risco são normalmente
utilizadas para esta função;
Seleção: nesta fase será efetuada uma seleção dos melhores indivíduos tendo em conta o
resultado obtido no processo de avaliação, sendo estes utilizados para a definição da nova
população e para reproduzir a nova geração de indivíduos. Os principais métodos de seleção
são o Roulette-Wheel, Truncation e Ranking;
18
Cruzamento: serão gerados os novos indivíduos da população, através do cruzamento de
pares de cromossomas da população sobrevivente ao processo de seleção, havendo troca de
informação genética;
Mutação: após o processo de cruzamento, uma percentagem de cromossomas é
selecionado para sofrer alterações num dos seus genes selecionado aleatoriamente, alterando
assim essa mesma informação genética.
A avaliação de cada uma das soluções candidatas (individuo da população) num conjunto inicial
de soluções (população) é realizada com o apoio de uma função de avaliação, que tem como principal
função, e possivelmente a mais crucial no algoritmo, indicar qual o valor ou parâmetro que o algoritmo
pretende otimizar e define todo o ambiente de evolução do problema [26].
2.4.1 Estrutura do cromossoma
Cada um dos indivíduos da população, ou cromossoma, representa uma possível solução do
problema em estudo. Um cromossoma é representado por um conjunto de genes que representam os
atributos escolhidos para o algoritmo, como representado na Figura 5.
Figura 5 – Estrutura de um cromossoma
O valor de cada um destes genes em conjunto com a função de avaliação serão utilizados para a
análise da adequação de cada cromossoma na população, do que dependerá a sua sobrevivência ao
longo das gerações.
2.4.2 Avaliação
A função de avaliação tem como objetivo a cada geração do algoritmo avaliar cada um dos
cromossomas dentro da população em relação à sua contribuição para a função de avaliação. Um valor
elevado na avaliação de um cromossoma aumentará a sua probabilidade de ser selecionado para as
próximas gerações. No âmbito deste trabalho serão usadas as seguintes funções de avaliação:
Retorno anualizado: a cada geração e para cada um dos cromossomas é avaliado o
retorno médio anualizado das ações do portfolio gerado por este mesmo cromossoma. O objetivo
é maximizar o valor de retorno do portfolio obtido. Se o retorno esperado de cada ação for dado
pela expressão:
19
iStock iR (24),
o retorno de um dado portfolio é obtido por [27]:
1j
N
Portolio i i
i
R W
(25) ,
onde N é o número de empresas que constituem o porfolio e iW o peso que da ação i no portfolio
j.
Risco do portfolio: neste caso é avaliada a relação entre o retorno do portfolio e a sua
variância. A medida de risco utilizado foi o Sharpe Ratio e é calculado pela fórmula [28]:
j
Portfolio j
j
Portolio free
R
Portfolio
R RS
(26),
onde freeR é o retorno sem risco e representa o retorno que um ativo com risco nulo oferece,
onde normalmente são considerados títulos de tesouro de um país (atualmente serão
considerados países cujos títulos têm um rating de AAA, como por exemplo a Alemanha), e
Portfolio representa o desvio padrão dos retornos dos ativos que constituem o portfolio em
avaliação. Um valor elevado de SR constitui um porfolio mais desejável.
Misto das funções anteriores: podem ser combinadas as soluções anteriores com vista a
obter o máximo de retorno com o menor risco possível. A expressão que representa este
problema é dada por [29]:
min( 1 )Portfolio jj
R PortolioS R (27),
onde é o coeficiente de retorno/risco e varia no intervalo 0,1 , onde o valor 0 significa que se
abdica do retorno em favor do menor risco e o valor 1 em que apenas é considerado o valor de
retorno do portfolio. Neste trabalho será utilizada esta abordagem no processo de avaliação no
algoritmo desenvolvido.
2.4.3 Seleção
O processo de seleção no algoritmo genético tem como função de a cada geração selecionar um
conjunto de indivíduos de acordo com o seu valor de fitness, excluindo os restantes.
20
Truncation – uma percentagem pré-definida da população (ρ) é selecionada com a mesma
probabilidade de seleção. A população é ordenada pelo seu valor de fitness e a porção ρ dos
melhores indivíduos é escolhida para reprodução. Os restantes indivíduos são descartados da
população [30][31].
Ranking – neste processo de seleção é utilizado o ranking dos indivíduos e não o seu valor
de fitness direto. Após o cálculo do valor de fitness de todos os indivíduos da população é
calculado o rank desse valor onde o melhor indivíduo da população terá o valor máximo de
ranking. A probabilidade de seleção é dada pela expressão [31]:
𝑝(𝑖) =𝑟𝑎𝑛𝑘𝑖𝑛𝑔 𝑑𝑜 𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑜 𝑖
𝑛 × (𝑛 − 1)
onde 𝑛 é a dimensão da população.
Roulette-Wheel – neste caso a probabilidade de seleção é proporcional ao seu valor de
fitness. Os passos para a seleção dos indivíduos é a seguinte [32]:
o Obter o valor de fitness para cada indivíduo da população;
o Calcular a soma do valor de fitness da população:
𝑆𝑢𝑚(𝑓𝑖𝑡𝑛𝑒𝑠𝑠) = 𝑓𝑖𝑡𝑛𝑒𝑠𝑠(𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑜 𝑖)
𝑖
o Calcular a mádia do valor de fitness da população:
𝑀𝑒𝑑(𝑓𝑖𝑡𝑛𝑒𝑠𝑠) =∑ 𝑓𝑖𝑡𝑛𝑒𝑠𝑠(𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑜 𝑖) 𝑖
𝑛
o Obter o valor expectável de fitness para cada indivíduo da população:
𝐸𝑥𝑝. 𝐹𝑖𝑡𝑛𝑒𝑠𝑠(𝑖) =𝑓𝑖𝑡𝑛𝑒𝑠𝑠 𝑖𝑛𝑑𝑖𝑣𝑖𝑑𝑢𝑜 𝑖
𝑀𝑒𝑑(𝑓𝑖𝑡𝑛𝑒𝑠𝑠)
o Calcular a soma do valor de fitness expectável da população:
𝑆𝑢𝑚𝐸𝑥𝑝. (𝑓𝑖𝑡𝑛𝑒𝑠𝑠) = 𝐸𝑥𝑝. 𝐹𝑖𝑡𝑛𝑒𝑠𝑠(𝑖)
𝑖
o Gerar um número aleatório no intervalo 𝑅𝑛𝑑 = [0, 𝑆𝑢𝑚𝐸𝑥𝑝. (𝑓𝑖𝑡𝑛𝑒𝑠𝑠)];
o Será selecionado o cromossoma cujo valor de fitness somado com o valor dos seus
precedentes for superior ao valor de 𝑅𝑛𝑑.
o Repetir o procedimento para cada um dos indivíduos da população de tamanho 𝑛.
2.4.4 Cruzamento
No fim do processo de seleção, os indivíduos que sobreviveram ao processo são cruzados entre si
para formarem novos indivíduos (descendentes) e formarem a próxima geração. Da população
sobrevivente do processo de seleção são utilizados pares desses cromossomas e cruzados entre si,
de forma a serem gerados dois novos indivíduos (offsprings). Este processo fará com que a dimensão
21
da população se mantenha constante. De seguida são descritas as duas operações de crossover que
estão disponível neste trabalho.
One-Point Crossover
Da população atual (após o processo de seleção) são escolhidos dos cromossomas
aleatoriamente para serem cruzados e gerarem dois novos indivíduos, os descendentes. Com o método
one-point crossover é selecionado um gene aleatoriamente dos cromossomas pais, separando cada
cromossomas em duas partes, que serão cruzadas entre si. A Figura 6 representa o método de
cruzamento através de um ponto selecionado aleatoriamente neste passo do algoritmo genético.
Figura 6 – Exemplo de cruzamento usando um ponto
Two-Point Crossover
Este processo de cruzamento é em todo semelhante ao anterior, onde apenas difere no número de
pontos utilizados para o cruzamento, que neste caso são dois, cujo funcionamento está representado
na Figura 7.
22
Figura 7 - Exemplo de cruzamento usando dois pontos
2.4.5 Mutação
Após o processo de cruzamento ter gerado 2
Nnovos cromossomas, onde N é o tamanho da
população inicial, estes sofrem um processo de mutação de alguns dos seus genes. Dada a taxa de
mutação MT , uma percentagem de indivíduos é selecionado e um dos seus genes é alterado, de forma
aleatória, como se pode verificar na Figura 8. O número total de cromossomas a sofrerem mutação é
dado pela expressão [33]:
Nr. Mutações = Nr. Genes (Dimensão Pop. - 1)MT (28)
Figura 8 – Exemplo de mutação de um gene de um cromossoma
É importante salientar que este processo tem que manter garantidas as condições iniciais do
problema, como por exemplo a dimensão da população constante e o valor máximo de cada gene e a
soma dos mesmos.
23
2.4.6 Aplicação na Seleção de Ações - Stock Picking
A Tabela 3 apresenta algumas dos estudos analisados neste trabalho acerca da aplicação de
algoritmos de machine learning na solução de problemas de construção de portfolios de ações com
boa rentabilidade. Pode se verificar que uma boa utilização dos algoritmos genéticos, redes neuronais
e máquinas de vetores de suporte pode levar a retornos muitas vezes superiores ao índice bolsista em
análise.
Tabela 3 – Alguns dos estudos analisados e respetivos métodos de otimização
Autores Data de Treino
Método Dados Índices Resultados
C.-F. Huang [19] 1998-2010 GA + SVR Análise
Fundamental
200 Maiores empresas do Taiwan Stock
Exchange
Maioria das vezes com retornos
superiores ao índice
H. Yu, R. Chen e G. Zhang [20]
2009-2010 PCA + SVM Análise
Fundamental Shanghai Stock
Exchange Retorno superior ao
índice
T. Quah e B. Srinivasan [34]
1993-1996 ANN
Análise Fundamental (Baseado no EPS e PER)
Disponíveis no Credit Lyonnais Securities Asia
Retorno superior ao índice
P.Fernández-Blanco, D.Bodas-Sagi, F.Soltero e J. Hidalgo [35]
2000-2005 GA Análise Técnica
(Baseado no MACD)
Dow Jones Industrial Average
Retorno superior à estratégia de 'Buy
and Hold'
C. Zhou, L. Yu, T. Huang, S. Wang
e K. Lai [36] 2002-2004 GA
Análise Fundamental
100 Empresas do Shanghai Stock
Exchange
Retorno superior ao índice
A. Gorgulho, R. Neves e N. Horta [33]
2003-2009 GA Análise Técnica Dow Jones
Industrial Average
Retorno superior à estratégia de 'Buy
and Hold'
C. Hargreaves e Y. Hao [37]
Regressão Logística,
Árvores de Decisão e
ANN
Análise Fundamental,
Opinião de Analistas e
Preço da Ação
Setor Industrial do Australian Stock
Market
Retorno superior ao índice
F. Allen e R. Karjalainen [26]
1929-1995 Programação
Genética
Análise Técnica e Análise
Fundamental S&P 500
Melhor seleção que a obtida através de modelos lineares
C.-F. Huang, C.-H. Chang, B. R. Chang e T.-N. Hsieh [38]
2009-2010 GA
Análise Técnica, Análise Fundamental e Indicadores Sentimentais
Taiwan Stock Exchange
Retorno superior ao índice
24
3 Arquitetura do Programa
O programa de seleção de ações apresentado neste trabalho foi totalmente desenvolvido em
linguagem R [39] com recurso ao interface Rstudio [40]. A escolha da linguagem R para o
desenvolvimento deste trabalho baseou-se nos seguintes aspetos:
Ferramenta Open-Source;
Linguagen adequada para a manipulação de dados;
Linguagem com um forte crescimento na área de Data Science.
O programa está repartido em dois grandes blocos, como se pode verificar na Figura 9:
Figura 9 – Arquitetura resumida do programa
Extração, limpeza e tratamento de dados: é extraída toda a informação financeira
necessária da página do SEC [15] bem como da informação de preço e volume de ações da
página do YAHOO Finance [41]. Neste bloco toda a informação financeira obtida é extraída dos
25
ficheiros e uniformizada numa tabela comum, passando por um processo exaustivo de limpeza
de dados. No final são disponibilizadas duas tabelas gerais (por cada índice bolsista), uma com
a informação financeira e outra com rácios financeiros e de mercado.
Algoritmo genético e seleção de ações: após serem disponibilizadas as matrizes gerais
de informação é executado o processo do algoritmo genético onde serão selecionadas as ações
a investir.
Durante o desenvolvimento do programa de seleção de ações foi tida em conta a sua
automatização. Todos os processos que constituem o programa são automáticos e integrados,
com a possibilidade do utilização alterar todas as parametrizações de todos os elementos:
Alteração do índice em análise;
Alterar a dimensão de histórico armazenado;
Alterar os parâmetros do algoritmo genético, incluindo as datas referentes à fase de treino
e de teste.
De seguida são detalhadas as funcionalidades de cada parte do programa.
3.1 Extração e Tratamentos de Dados
As principais fontes de dados deste trabalho são o website do SEC e do YAHOO Finance. Do
SEC são retirados todos os relatórios trimestrais e anuais das empresas dos índices em análise
(NASDAQ 100, S&P 500 e NASDAQ) e do YAHOO Finance as cotações bolsistas para o cálculo dos
indicadores de mercado e mais tarde para a realização dos testes.
O processo de extração e tratamento de dados tem como funcionalidades a extração dos
dados dos ficheiros retirados do SEC e agrupa-los numa tabela única de grandes dimensões,
constituída por todas as empresas do índice e as rubricas dos seus relatórios selecionados e por último
a construção de uma tabela de rácios e indicadores que servirão de fonte de dados ao algoritmo
genético. O esquema de todo o processo é representado na Figura 10.
26
Figura 10 – Modelo desenvolvido para a extração e tratamento de dados
Download de Informação do SEC
Para um determinado índice bolsista são extraídos do SEC todos os relatórios financeiros trimestrais
(10-Q) e anuais (10-K) em formato Microsoft Excel (.xls). O processo de extração é completamente
automático sendo apenas necessário iniciar o executável onde devem ser preenchidas as seguintes
variáveis:
Índice Bolsista;
Fonte de Dados: SEC ou Yahoo;
Número de anos de informação a extrair.
Após o processo de extração concluído, estes ficheiros sofrem um processo de conversão para o
formato .xlsx e assim ser possível a sua análise em código R.
Leitura dos Ficheiros
Todos os ficheiros são processados por um algoritmo de leitura que permite obter a informação
desejada dos ficheiros. O algoritmo possui um conjunto de regras definidas de seleção da informação
e são as seguintes:
Quais os relatórios constituintes do ficheiro que devem ser lidos (neste trabalho são a
demonstração de resultados, balanço e cash flows);
27
Dentro de cada relatório quais as rúbricas2 que devem ser lidas e guardada a informação;
Para cada rúbrica selecionada existe um dicionário de palavras-chave que permite o
algoritmo encontrar a rúbrica no relatório. Este dicionário de palavras está repartido em duas
partes: palavras que se devem encontrar e palavras que não podem fazer parte da rúbrica. Como
se pode verificar na Figura 11, ao procurar inicialmente uma palavra no relatório pode existir mais
que uma correspondência, ao que o algoritmo terá que escolher apropriadamente, onde neste
caso a seleção seria a rúbrica a) visto que a b) contem uma das palavras excluídas.
Figura 11 – Exemplo da seleção da rúbrica “Total Revenue” de uma demonstração de resultados
É necessário salientar que a existência do dicionário de palavras-chave para a leitura das
rúbricas é essencial devido à enorme variedade de termos utilizados para uma mesma rúbrica, em que
os mesmos variam consoante a empresa a reportar.
A Tabela 4 e a Tabela 5 mostram extratos dos relatórios financeiros de uma empresa,
nomeadamente o balanço e a demonstração de resultados, respetivamente.
2 É dado o nome de rúbrica a cada linha constituinte da demonstração de resultados, balanço e cash flows
28
Tabela 4 – Exemplo de um balanço obtido através do portal do SEC
Consolidated Balance Sheet - USD ($) $ in Millions Sep. 30, 2015
Current assets
Cash and cash equivalents $ 1 605
Marketable securities - current 153
Accounts receivable - net 4 610
Inventories
Finished goods 1 745
Work in process 1 061
Raw materials and supplies 903
Total inventories 3 709
Other current assets 1 531
Total current assets 11 608
Marketable securities - non-current 13
Investments 112
Property, plant and equipment 22 940
Less: Accumulated depreciation -14 470
Property, plant and equipment - net 8 470
Goodwill 9 354
Intangible assets - net 2 632
Prepaid pension benefits 60
Other assets 1 009
Total assets 33 258
Current liabilities
Short-term borrowings and current portion of long-term debt 2 279
Accounts payable 1 600
Accrued payroll 684
Accrued income taxes 105
Other current liabilities 2 364
Total current liabilities 7 032
Long-term debt 8 974
Pension and postretirement benefits 3 462
Other liabilities 1 566
Total liabilities $ 21 034
Commitments and contingencies (Note 11)
3M Company shareholders' equity:
Common stock par value, $.01 par value, 944,033,056 shared issued $ 9
Additional paid-in capital 4 731
Retained earnings 36 235
Treasury stock, at cost: 328,320,119 shares at September 30, 2015;
308,898,462 shares at December 31, 2014
-22 322
Accumulated other comprehensive income (loss) -6 467
Total 3M Company shareholders' equity 12 186
Noncontrolling interest 38
Total equity 12 224
Total liabilities and equity $ 33 258
29
Tabela 5 - Exemplo de uma demonstração de resultados obtida através do portal do SEC
Limpeza e tratamento de Dados – Data Quality
Após toda a aquisição de dados do passo anterior é necessário proceder a uma limpeza e
tratamento dos mesmos. Um algoritmo de limpeza (algoritmo de data quality) percorre toda a matriz de
dados financeiros anteriormente construída e procede a um conjunto de validações e transformações
para a obtenção dos dados finais. Alguns exemplos de tarefas deste algoritmo são:
Verificação e preenchimento de datas de reporte em falta;
Remoção de símbolos não numéricos (p.ex.: ‘$’);
Uniformização da ordem de grandeza dos valores por empresa (p. ex.: todos os dados em
milhões de dólares);
Cálculo de algumas rúbricas através de outras, caso estejam em falta (p. ex.: Total Revenue
= Cost of Revenue + Gross Profit);
Cálculo do trimestre que está incorporado no ficheiro anual (10-K);
Remoção de datas duplicadas e ordenação.
3 Months
Sep. 30, 2015
Consolidated Statement of Income
Net sales $ 7 712
Operating expenses
Cost of sales 3 877
Selling, general and administrative expenses 1 530
Research, development and related expenses 429
Total operating expenses 5 836
Operating income 1 876
Interest expense and income
Interest expense 38
Interest income -7
Total interest expense - net 31
Income before income taxes 1 845
Provision for income taxes 547
Net income including noncontrolling interest 1 298
Less: Net income attributable to noncontrolling interest 2
Net income attributable to 3M $ 1 296
Weighted average 3M common shares outstanding - basic (in shares) 620.6
Earnings per share attributable to 3M common shareholders - basic (in dollars per
share)
$ 2.09
Weighted average 3M common shares outstanding - diluted (in shares) 631.2
Earnings per share attributable to 3M common shareholders - diluted (in dollars per
share)
$ 2.05
Cash dividends paid per 3M common share (in dollars per share) $ 1.025
Consolidated Statement of Income - USD ($) shares in Millions, $ in Millions
30
Deste processo de transformação resulta a matriz final com os dados financeiros de todas as
empresas e que servirá para o cálculo de todos os rácios e indicadores que alimentarão o algoritmo
genético. A Tabela 6 mostra um excerto dessa mesma tabela.
Tabela 6 – Dados financeiros após todo o processo de extração e tratamento dos dados (Excerto da tabela)
Cálculo dos Rácios Financeiros
Após a construção da matriz dos dados financeiros podem ser calculados todos os rácios e
indicadores financeiros disponíveis no programa desenvolvido3. Alguns dos rácios, nomeadamente os
relacionados com o mercado bolsista, necessitam das cotações das empresas, cuja informação é
3 Ver no ponto 3.3
31
obtida através do YAHOO Finance. A matriz final resultante tem o aspeto que se pode verificar na
Tabela 7.
Tabela 7 – Excerto da matriz com os rácios financeiros
32
3.2 Transformação de Dados
Antes de se proceder à execução do algoritmo genético é necessário transformar os dados de
forma a torna-los adequados ao processo.
A Figura 12 esquematiza o processo de transformação da matriz dos rácios nos dados finais a
incorporar posteriormente.
Figura 12 - Cálculo da matriz com os dados da população inicial para o algoritmo genético
Este processo criará uma matriz de dados com as empresas e os respetivos rácios e indicadores,
tendo em conta as datas de treino e os genes escolhidos para a execução do algoritmo genético.
Neste trabalho a matriz de rácios sofre uma transformação antes de ser utlizada no algoritmo
genético. Cada um dos rácios/indicadores na matriz sofre uma transformação de rank relativamente à
empresa. A Figura 13 exemplifica como esse processo é efetuado. Os passos realizados nesta
transformação são os seguintes:
1) Seleciona-se uma coluna na matriz de rácios, que corresponde ao valor real do rácio para
todas as empresas em análise;
2) É efetuada a função de rank a esses valores onde:
a. O maior valor de rank corresponderá a um melhor valor de rácio;
b. O menor valor de rank corresponderá a um pior valor de rácio;
33
Figura 13 – Rank da matriz de rácios (Genes) – Um bom valor de rácio gera um alto valor de rank
No exemplo da Figura 13 o rácio ‘Debt Ratio’ apresenta um valor elevado para a empresa com o
símbolo ‘AAL’ (Debt Ratio = 1.3) que corresponderá a um valor muito baixo de rank, neste caso com o
valor de 1 (valor mais baixo possível). Por outro lado, a empresa com o símbolo ‘ADI’ tem um ótimo
valor de ‘Debt Ratio’, sendo assim classificada com um alto valor de rank, 83. Assim sendo, cada valor
de rácio de cada empresa é substituido pelo valor de rank obtido da transformação anterior e relativo
ao universo de empresas em análise. Com esta transformação pretende-se incorporar no seu valor a
sua posição financeira relativa a esse rácio no global das empresas: um grande valor de aumento de
vendas pode não significar um respetivo elevado valor de rank, já que depende também do
desempenho das restantes empresas.
Com este processo é obtida a matriz final de rácios transformados, com o seu valor de rank, que
será utilizada no processo de avaliação do algoritmo genético.
3.3 Modelação do Algoritmo Genético
Após a construção da matriz final de rácios, que passou por um processo de rank das suas
colunas, estão garantidas todas as condições para se iniciar a execução do algoritmo genético e
proceder à seleção de ações para investir.
A Figura 14 esquematiza sucintamente a modelação do algoritmo genético, onde o mesmo é
constituído por:
Variáveis de entrada ao algoritmo:
o Matriz dos rácios que foi transformada anteriormente;
o A população inicial aleatória de cromossomas;
o O retorno anualizado de cada uma das empresas analisadas (a utilizar no processo de
avaliação).
34
Execução do algoritmo genético;
Seleção do melhor cromossoma resultante da execução do modelo que será utlizado para
a seleção das empresas a investir.
Figura 14 - Esquema do funcionamento de uma geração do algoritmo genético
Definição dos cromossomas
O cromossoma é constituído por um conjunto de genes selecionados para a execução do algoritmo,
que correspondem a pesos a serem aplicados no processo de avaliação do algoritmo genético, e um
gene adicional que corresponde ao número de empresas a selecionar para o porfolio. Com exceção
deste último gene, os restantes correspondem a pesos, Wi, que serão atribuídos a cada um dos rácios
a que corresponde cada gene. A Figura 15 representa a constituição de um cromossoma.
Figura 15 – Estrutura do cromossoma utilizado no modelo desenvolvido
Os pesos que constituem cada um dos genes e o número de empresas a selecionar segue as
seguintes regras:
0 1iW (29),
onde o peso de cada gene (exceto o 1iGene ) tem que estar contido no intervalo 0,1 ,
10 1
i
iW (30),
35
onde a soma dos pesos de todos os genes (com exceção para o gene 1iGene ) tem que estar contido
no intervalo 0,1 e
_ min _ maxstocks stocks stocksN N N (31)
onde o valor do 1iGene deve estar contido no intervalo _ min _ max,stocks stocksN N , sendo estes valores
selecionados pelo utilizador.
Neste trabalho foram desenvolvidos e disponibilizados os rácios e indicadores apresentados na
Tabela 8.
Tabela 8 – Genes disponíveis no programa desenvolvido
Processo de avaliação dos cromossomas – Função de avaliação
Nesta etapa do algoritmo genético cada uma das potenciais soluções do problema, cromossomas,
é avaliada e analisada a sua adequação à resolução do problema de otimização.
Para cada um dos cromossomas, o processo de avaliação segue um conjunto de etapas em que
cada uma é definida pelos seguintes princípios:
1) Os genes dos cromossomas são multiplicados pelo respetivo rank de rácio da matriz de
rácios, para cada uma das empresas. Na Figura 16 é exemplificado, para uma linha da matriz de
rácios, que corresponde a uma empresa, como se efetua o cálculo e como se obtém a respetiva
Rácio/Indicador Descrição Resumo Rank
Margem Bruta Receita após deduzidos os custos Maior valor = Maior Rank
Margem Líquida Ganhos gerados pelas receitas Maior valor = Maior Rank
Estrutura de Capitais Dívida utilizada para financiamento ativos Menor valor = Maior Rank
Rentabilidade dos Capitais
PrópriosGanhos obtidos pelo investimento acionista Maior valor = Maior Rank
EPS Rentabilidade da Empresa Maior valor = Maior Rank
PERValorização da Empresa relativamente aos
seus ganhos por ação (EPS)Menor valor = Maior Rank
PEGValor da ação relativamente ao crescimento
dos ganhosMenor valor = Maior Rank
Earnings YieldGanhos por ação relativos ao preço de
mercadoMaior valor = Maior Rank
Receitas Crescimento das receitas Maior valor = Maior Rank
Ganhos Líquidos Crescimento dos ganhos Maior valor = Maior Rank
EBITDA Crescimento do EBITDA Maior valor = Maior Rank
EPS Crescimento do EPS Maior valor = Maior Rank
Dívida Longo Prazo Crescimento da dívida longo prazo Menor valor = Maior Rank
Passivo Crescimento do Passivo Menor valor = Maior Rank
Passivo Corrente Crescimento do Passivo Corrente Menor valor = Maior Rank
Caixa e Depósitos
Bancários
Crescimento do Valor em Caixa e
Depositos BancáriosMaior valor = Maior Rank
Rácios
Indicadores de
Crescimento
36
soma dos ranks. Neste exemplo, para empresa American Airlines Group, símbolo ‘AAL’, a soma
a realizar é a seguinte:
cromossoma j
i iW Gene (32),
em que para o cromossoma 1, 1j , traduz-se em termos práticos nos seguintes cálculos:
𝑅𝑎𝑛𝑘𝐴𝐴𝐿 = 𝑊 × 𝑅𝑂𝐸 +𝑊 × 𝐸𝑃𝑆 𝐺𝑟𝑜𝑤𝑡ℎ +𝑊 × 𝐼𝑛𝑐𝑜𝑚𝑒 𝐺𝑜𝑤𝑡ℎ +𝑊 × 𝑃𝐸𝑅 +𝑊5
× 𝐺𝑟𝑜𝑠𝑠 𝑀𝑎𝑟𝑔𝑖𝑛 +𝑊6 × 𝑃𝑟𝑜𝑓𝑖𝑡 𝑀𝑎𝑟𝑔𝑖𝑛 +𝑊7 × 𝑇𝑜𝑡𝑎𝑙 𝐷𝑒𝑏𝑡 𝑅𝑎𝑡𝑖𝑜
= 0.0427 × 18 + 0.3013 × 6 + 0.1919 × 84 + 0.1161 × 86 + 0.1290 × 83
+ 0.0852 × 18 + 0.1182 × 1 = 42.66
Figura 16 – Cálculo do valor de rank de cada empresas – Quando maior o valor obtido melhor
2) Ao resultado da operação anterior, aplicado a todas as empresas, é efetuado um ranking e
ordenado, com o valor de ranking superior a corresponder a um resultado melhor da multiplicação
e soma anterior. Na Figura 17 pode se verificar que a empresa American Airlines Group tem o
valor mais elevado de rank (relativamente ao excerto presente na figura), que advém do seu
melhor resultado em termos da soma efetuada em 1).
37
Figura 17 – Ranking das empresas – Quando maior o valor de rank final obtido melhor
3) Com o ranking de todas as empresas efetuado são selecionas as Nr_Stocks com melhor
rank. O valor de Nr_Stocks corresponde ao último gene do cromossoma (Figura 15) e representa
o número de empresas a selecionar.
4) Com as empresas selecionadas em 3) são calculados os valores das funções de avaliação:
média do retorno anualizado e valor de Sharpe Ratio. Aos valores obtidos é aplicada a equação
(27).
Execução do Modelo
O primeiro passo a ser efetuado é a construção de uma população inicial, constituída por um
número pré-definido de cromossomas, cujos pesos são atribuídos de forma aleatória com as restrições
definidas nas expressões (29), (30) e (31).
Após a definição da população inicial é executado o algoritmo genético, cujo funcionamente é o
seguinte:
Pseudo-Código
Do {
.Avaliação da População e Cálculo da Fitness Function
.Selecionar Pselect cromossomas mediante do resultado da avaliação e da função de seleção utilizada
.Cruzamento – os novos cromossomas serão anexados aos sobreviventes do processo de seleção (mantendo a
dimensão da população constante)
.Mutação – à taxa de Mrate é modificado o valor do gene do cromossoma
.Gen = Gen + 1
} While Gen < Gen_Max
Return (Best Cromossome)
38
O objetivo principal é obter no fim da execução do algoritmo genético o cromossoma que melhor se
adaptou e que obteve melhores resultados no processo de avaliação. Com os valores dos pesos dos
genes deste cromossoma é efetuado o procedimento explicado anteriormente acerca da avaliação de
cromossomas. Com este último passo teremos a lista de empresas com as quais se constituirá o
portfolio de investimento (Figura 18).
Figura 18 – Esquema do funcionamento da construção do Portfolio
39
4 Casos de Estudo e Resultados
Os seguintes testes têm como objetivo verificar a eficiência da utilização de analise fundamental
e algoritmos genéticos na seleção de ações e na possibilidade de obtenção de melhores resultados
que o mercado.
Nos casos de estudo seguintes serão analisados os seguintes índices bolsistas:
NASDAQ 100: constituído aproximadamente pelas 100 maiores empresas dos E.U.A. não
financeiras;
S&P 500: índice composto por 500 empresas escolhidas pela Standard & Poor's;
NASDAQ: constituída por quase 2800 empresas.
Em termos genéricos, durante os testes são utilizados dados de treino entre Janeiro de 2011 e
Dezembro de 2013, sendo os dados de teste definidos entre as datas de 01/Jan/2014 e 31/Dez/2015.
O programa tem que selecionar entre 5 a 20% das empresas do índice utilizado e os ganhos limitados
a 100% e as perdas a 25%. Para os testes deste trabalho são excluídas empresas do setor financeiro.
Em termos do algoritmo genético, a população é constituída por 100 cromossomas que são
processados durante 100 gerações, com uma taxa de seleção de 50% e de mutação 5%. Os métodos
de seleção e cruzamento utilizados foram o Truncation, com a percentagem de seleção de 50%, e o
one-point crossover, respetivamente. O coeficiente de retorno/risco relativamente à função de avaliação
dependerá do mercado em análise e são os indicados na Tabela 9. A escolha dos parâmetros anteriores
(método de seleção e cruzamento e taxa de mutação) para a realização dos testes foi efectuada após
a realização de diversos testes de adequação dos mesmos. Assim sendo, cada parâmetro foi obtido
após uma série de execuções, sob condições idênticas, com diferentes valores até se aferir qual o mais
indicado e que apresentava melhores resultados.
Tabela 9 – Coeficientes de Retorno/Risco por Índice bolsista
NASDAQ 100 0.8
S&P 500 0.6
NASDAQ 0.5
Serão usados três conjuntos de rácios/indicadores nos testes:
o Teste 1 - Predominância em rácios/indicadores de crescimento;
o Teste 2 – Baseado no livro de Joel Greenblatt - The Little Book That Beats the Market [42],
são utilizados os rácios Earnings Yield e ROE;
o Teste 3 – Utilizados os rácios/indicadores do teste 1 acompanhados de rácios de
crescimento de dívida.
Para os resultados dos testes anteriormente definidos foram efetuadas 10 execuções do
algoritmo genético para cada um dos índices. No teste 2 é apenas efetuada uma execução, devido ao
40
fato de se estar a forçar os pesos dos dois genes utilizados a terem o mesmo valor (0.5 cada). Em
todos os testes as empresas escolhidas terão a mesma representatividade no total do portfolio e são
adquiridas no inicio da data de testes e mantidos no portfolio até ao fim da data de teste ou serem
vendidas por atingirem os limites de ganho/perdas.
4.1 Rácios de Crescimento
Neste teste os genes utilizados são ROE, EPS Growth, Income Growth, Total Debt Ratio, PER,
Gross Margin, Profit Margin e o número de empresas a selecionar.
NASDAQ 100
A Tabela 10 apresenta o cromossoma e os respetivos genes, relativos à melhor execução do
algoritmo genético, com melhor resultado no processo de avaliação na última geração do algoritmo
genético. De salientar que se verifica que o gene com maior importância, que corresponde a um maior
peso, é o crescimento do EPS e o de menor importância o ROE.
Tabela 10 – Cromossoma resultante do algoritmo genético – NASDAQ 100 – Teste 1
Genes ROE EPS
Growth Income Growth
Total Debt Ratio
PER Gross Margin
Profit Margin
Nr. Stocks
Wi 4.97e-7 0.5809 0.0009 0.0525 0.0013 0.0393 0.0130 5
Os resultados das execuções do programa estão apresentados na Tabela 11 onde são
mencionados o retorno máximo obtido, o mínimo e a média de todas as execuções. Pode se verificar
que o retorno médio das execuções do programa apresenta valores superiores ao obtido pelo índice,
com rentabilidades na ordem dos 40%, 11% a mais caso o investimento fosse realizado sobre o próprio
índice. A melhor execução consegui duplicar o retorno do mercado, com rentabilidades de 55%. No
entanto, a pior execução do modelo apresenta valores muito inferiores ao índice, com o valor de 10.71%.
Tabela 11 – Retorno NASDAQ 100 – Teste 1
Melhor Exec. GA 55.02%
Médio 39.40%
Pior Exec. GA 10.71%
Mercado 28.9%
41
O gene ‘Nr. Stocks’ é o responsável pela constituição do portfolio constituído por 5 empresas
descritas na Tabela 12. Como se pode verificar todas as empresas atingiram os limites máximos de
ganhos e perdas, em que duas delas foi pelo limite de perdas de 25%.
Tabela 12 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ 100 – Teste 1
A Figura 19 representa a evolução dos retornos dos portfolios constituídos pelas empresas definidas
na melhor e pior execução do programa, o retorno médio dos portfolios de todas as execuções e a
evolução do mercado.
Figura 19 - Evolução do retorno do Portfolio vs NASDAQ 100 entre as datas de Jan-14 a Dez-15 – Teste 1
De salientar a quebra existente a partir dos meses de Julho e Agosto de 2015 se deve ao fato de
que as empresas com alto retorno já atingiram o limite máximo de ganhos nesta altura do ano, estando
o portfolio na segunda metade do ano 2015 basicamente por empresas cuja rentabilidade foi negativa.
42
S&P 500
No caso do S&P 500 o gene de maior relevância é o crescimento das receitas. A Tabela 13
apresenta os pesos obtidos neste teste para o cromossoma que gerou melhores retornos no portfolio.
Tabela 13 - Cromossoma resultante do algoritmo genético – S&P 500 – Teste 1
Genes ROE EPS
Growth Income Growth
Total Debt Ratio
PER Gross Margin
Profit Margin
Nr. Stocks
Wi 0.0051 0.0021 0.1161 0.0242 0.0004 0.0232 0.0499 21
Ao contrário do que se verificou para o NASDAQ 100, neste teste todas as execuções
resultaram em retornos superiores ao mercado. A Tabela 14 apresenta os resultados obtidos das
execuções, onde se verifica que mesmo a execução com piores resultados, na ordem dos 14%, é
superior ao retorno obtido no mercado. Em termos médios conseguiram-se obter retornos que rondam
os 20%, aproximadamente o dobro que o S&P 500 durante o mesmo período de tempo. A execução
com os melhores resultados obteve um retorno de 24.09%.
Tabela 14 - Retorno S&P 500 – Teste 1
Melhor Exec. GA 24.09%
Médio 19.55%
Pior Exec. GA 14.07%
Mercado 11.57%
A Tabela 15 apresenta as 21 empresas que foram selecionadas pelo algoritmo para a constituição
do portfolio. Cerca de 9 empresas que constituem o portfolio tiveram a sua posição fechada por venda
devido a atingirem os valores de limites de ganhos e perdas. Tabela 18
43
Tabela 15 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –S&P 500 – Teste 1
A Figura 20 mostra a evolução do S&P 500 e das execuções efetuadas entre as datas de
Jan/2014 e Dez/2015.
Figura 20 - Evolução do retorno do Portfolio vs S&P 500 entre as datas de Jan-14 a Dez-15 – Teste 1
44
De salientar que todas as execuções do modelo desenvolvido seguem as tendência
ascendente do mercado, incluindo as oscilações nele presente, com a diferença do grande retorno
inicial obtido nos portfolios contruídos pelo modelo, devido às escolhas acertadas efetuadas pelo
algoritmo genético.
NASDAQ
No teste efetuado para o índice NASDAQ, o cromossoma utilizado para a seleção das ações
apresenta como genes mais importantes o PER e o Total Debt Ratio e anulando praticamente o gene
do peso aplicado ao ROE. A Tabela 16 apresenta os pesos associados ao cromossoma com melhor
resultado de avaliação na última geração do algoritmo genético.
Tabela 16 - Cromossoma resultante do algoritmo genético – NASDAQ – Teste 1
Genes ROE EPS
Growth Income Growth
Total Debt Ratio
PER Gross Margin
Profit Margin
Nr. Stocks
Wi ≅0 0.0003 0.0793 0.3161 0.3365 0.2209 0.0469 72
Na Tabela 17 são apresentados os valores obtidos nas execuções do programa, onde são obtidos
retornos médios na ordem dos 16%, um pouco abaixo do retorno apresentado pelo índice NASDAQ.
Mesmo a melhor execução do modelo obteve retornos inferiores ao índice, atingindo os 17.85%. A pior
execução do algoritmo obteve retornos na ordem dos 14.25%.
Tabela 17 - Retorno NASDAQ – Teste 1
Melhor Exec. GA 17.85%
Médio 15.79%
Pior Exec. GA 14.25%
Mercado 20.86%
A Tabela 18 apresenta um excerto das empresas selecionadas pelo modelo (a lista completa
está disponível no Apêndice 1 – Teste 1 para o índice NASDAQ). Nessa tabela será possível verificar
que a maioria das empresas vendidas antes da data final de treino por atingirem os limites máximos
definidos de ganhos/perdas ocorreu maioritariamente por perdas máximas (69% das vendas).
45
Tabela 18 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ – Teste 1 - Excerto
A Figura 21 apresenta a evolução temporal do índice NASDAQ e das soluções obtidas para
este teste, onde os portoflios constituidos pelo modelo apresentam valores superiores de retorno
durante o ano de 2014, mas perdem o seu sentido ascendente durante o ano de 2015, sendo
ultrapassadas pelo índice.
Figura 21 - Evolução do retorno do Portfolio vs NASDAQ entre as datas de Jan-14 a Dez-15 – Teste 1
46
Com estes resultados verificou-se que a estratégia desenvolvida para este teste não se adequa ao
índice bolsista NASDAQ e às suas grandes dimensões, sendo necessário possivelmente uma pré-
seleção de empresas para análise ou alteração da abordagem para este índice.
4.2 ROE e Earnings Yield
O autor Joel Greenblatt refere no seu livro “The Little Book That Beats the Market” que a utilização
dos rácios Earnings Yield e ROE é suficiente para obter retornos acima do mercado. Neste teste é
analisado a sua aplicabilidade e comparados os resultados com os anteriores testes.
Este teste tem algumas condições específicas e são as seguintes:
Os rácios têm o mesmo peso, ou seja, 0.5 cada um;
O mínimo de capitalização bolsista das empresas é de 100 milhões de dólares;
O porfolio será constituído por um total de 20 empresas.
De acordo com as regras anteriores, o cromossoma a utilizar neste teste tem a estrutura
apresentada na Tabela 19.
Tabela 19 - Cromossoma resultante do algoritmo genético – Teste 2
Genes Earnings
Yield ROE Nr. Stocks
Wi 0.5 0.5 20
NASDAQ 100
A Tabela 20 apresenta o resultado obtido para este teste. Ao contrário dos bons resultados obtidos
no primeiro teste, neste o retorno do portfolio contruido foi um bastante abaixo dos retornos oferecidos
pelo mercado, com um retorno na ordem dos 21% (quase 8% abaixo do retorno do índice).
Tabela 20 - Retorno NASDAQ 100 – Teste 2
Retorno Portfolio 21.06%
Mercado 28.9%
As empresas selecionadas pelo seu valor nos rácios de ROE e Earnings Yield foram as listadas
na Tabela 21. Embora a maioria das empresas apresentem ganhos positivos, os valores de retorno são
baixos, e a maioria das empresas vendidas por atingir os limites de retorno se deve a atingirem o limite
máximo de perdas.
47
Tabela 21 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ 100 – Teste 2
Pelo que se pode verificar na análise do gráfico da Figura 22, o portfolio selecionado acompanhava
o andamento dos retornos do índice até meados do ano de 2015
Figura 22 - Evolução do retorno do Portfolio vs NASDAQ 100 entre as datas de Jan-14 a Dez-15 – Teste 2
48
Para o NASDAQ 100 o uso desta estratégia não mostrou um grande efeito prático, visto que os
retornos foram abaixo do mercado, e o portfolio é constituído por cerca de 1/5 das empresas totais
disponíveis, o que explica de certa forma a curva do portfolio apresentada na Figura 22.
S&P 500
No caso do S&P 500, a estratégia utilizada conseguiu atingir valores semelhantes ao retorno do
índice, superando-o em 0.1%, como se verifica na Tabela 22. No entanto estes resultados ainda se
mantêm muito abaixo dos obtidos pela estratégia principal deste trabalho, com o uso dos rácios de
crescimento e rentabilidade.
Tabela 22 - Retorno S&P 500 – Teste 2
Retorno Portfolio 11.66%
Mercado 11.57%
Na Tabela 23 apresenta as 20 empresas selecionadas para constituir o portfolio de teste. Como
ocorreu na execução do NASDAQ 100, das 5 empresas vendidas antes do fim da data de teste foi por
limites de perdas.
Tabela 23 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –S&P 500 – Teste 2
49
A Figura 23 apresenta a evolução temporal dos retornos obtidos pelo portfolio gerado e pelo
índice S&P 500.
Figura 23 - Evolução do retorno do Portfolio vs S&P 500 entre as datas de Jan-14 a Dez-15 – Teste 2
NASDAQ
O Teste 2 para o caso do NASDAQ apresentou resultantes muito abaixo dos obtidos pelo índice. O
retorno do portfolio constituído apenas alcançou os 7.2% de retorno, como indicado na Tabela 24
Tabela 24 - Retorno NASDAQ – Teste 2
Retorno Portfolio 7.20%
Mercado 20.86%
Na Tabela 25 são apresentadas as empresas selecionadas neste teste, onde de pode verificar
que cerca de metade foram vendidas antes do final do ano de 2015. No entanto 82% destas empresas
tiveram a sua posição no portfolio fechado porque atingiram o limite máximo de perdas. Este facto
aliado a que a maioria das empresas apresentou retornos negativos ajudam a explicar o baixo valor de
retorno obtido neste teste.
50
Tabela 25 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ – Teste 2
Na Figura 24 é apresentada a evolução dos retornos obtidos por parte do portfolio e do índice,
onde se verifica que esta estratégia não foi adequada principalmente durante o segundo ano de treino.
Figura 24 - Evolução do retorno do Portfolio vs NASDAQ entre as datas de Jan-14 a Dez-15 – Teste 2
51
4.3 Rácios de Crescimento e de Dívida
Neste teste são usados como base os rácios e indicadores usados no Teste 1 com a inclusão
de informação de dívida e de cash. Os rácios adicionados foram sobretudo de crescimento: crescimento
da dívida de longo prazo (Debt Growth), crescimento do passivo (Liabilities Growth), crescimento de
passivo corrente (Current Liabilities Growth) e crescimento do valor em caixa (Cash Growth). Um dos
objetivos será analisar o impacto do acrescimo destes genes nos resultados obtidos no Teste 1.
NASDAQ 100
Na Tabela 26 pode se verificar o cromossoma e os respetivos genes resultante da melhor execução
para este teste. Como se verificou no teste 1, o rácio ROE continua a ser o de menor importância (neste
caso praticamente nula), no entanto, os rácios com pesos superior passou a ser o Income Growth.
Tabela 26 - Cromossoma resultante do algoritmo genético – NASDAQ 100 – Teste 3
Genes ROE EPS
Growth Income Growth
PER Gross Margin
Profit Margin
Debt Ratio
Debt Growth
Liab. Growth
Current Liab.
Growth
Cash Growth
Nr. Stocks
Wi ≅0 0.065 0.333 0.01 0.001 0.142 0.182 0.097 0.037 0.124 0.001 5
No que diz respeito aos retornos obtidos nas execuções do programa, a Tabela 27 mostra que os
resultados foram superiores aos obtidos no teste 1, principalmente ao que diz respeito à pior execução,
onde o resultado foi mais do dobro anteriormente obtido. Como no teste 1, o retorno médio das
execuções do programa é bastante superior ao valor de retorno do índice.
Tabela 27 – NASDAQ 100 – Teste 3
Melhor Exec. GA 56.26%
Médio 40.44%
Pior Exec. GA 23.42%
Mercado 28.90%
A Tabela 28 explica em certa parte os bons resultados obtidos neste teste, onde nenhuma das
empresas selecionadas obteve retornos negativos e onde 2 delas atingiram o máximo valor de retorno
permitido.
52
Tabela 28 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ 100 – Teste 3
Na Figura 25 é apresentada a evolução das execuções efetuadas, onde embora acompanhem
as oscilações e tendência do índice, a boa escolha de empresas para constituir os portfolios gera um
offset positivo que leva a retornos bastantes superiores.
Figura 25 - Evolução do retorno do Portfolio vs NASDAQ 100 entre as datas de Jan-14 a Dez-15 – Teste 3
S&P 500
A Tabela 29 apresenta os valores dos pesos do cromossoma que serve de solução a este teste.
Neste teste os rácios com maior peso associado (valor de Wi do gene ) são o crescimento de receitas
e o crescimento do valor em caixa e depósitos bancários.
53
Tabela 29 - Cromossoma resultante do algoritmo genético – S&P 500 – Teste 3
Genes ROE EPS
Growth Income Growth
PER Gross Margin
Profit Margin
Debt Ratio
Debt Growth
Liab. Growth
Current Liab.
Growth
Cash Growth
Nr. Stocks
Wi 0 0.0945 0.1804 0.07 0.0003 0.0009 0.0402 2.30E-
06 2.10E-
05 0.0421 0.224 20
A Tabela 30 apresenta os resultados obtidos para este teste, que como se pode verificar em
comparação com a Tabela 14, os resultados foram muito superiores. A melhor execução do algoritmo
gerou retornos de 36.65%, enquanto o valor médio ficou pelos 32.71%, que representa uma enorme
melhoria face aos 19.55% de valor médio no Teste 1.
Tabela 30 – S&P 500 – Teste 3
Melhor Exec. GA 36.65%
Médio 32.71%
Pior Exec. GA 28.32%
Mercado 11.57%
Na Tabela 31 são listadas as empresas selecionadas pelo modelo desenvolvido e estratégia definida.
Analisando esta tabela verifica-se o elevado número de empresas com retornos positivos, na ordem
dos 70%, muito acima dos 52% obtidos para o Teste 1.
Tabela 31 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – S&P 500 – Teste 3
54
A Figura 26 apresenta a evolução dos retornos obtidos com esta estratégia, onde se verifica a
diferença significativa entre as execuções do algoritmo e o retorno do índice.
Figura 26 - Evolução do retorno do Portfolio vs S&P 500 entre as datas de Jan-14 a Dez-15 – Teste 3
NASDAQ
A Tabela 32 apresenta o cromossoma da melhor solução obtida para a execução do NASDAQ. Os
genes Income Growth e Cash Growth tiveram o maior valor no seu gene. De salientar que este resultado
vai de encontro com os obtidos para os restantes índices anteriormente analisados, em que estes dois
genes também tiveram a maior representatividade, o que não ocorreu no Teste 1, em que os genes
mais importantes variaram muito com o índice em análise.
Tabela 32 - Cromossoma resultante do algoritmo genético – NASDAQ – Teste 3
Genes ROE EPS
Growth Income Growth
PER Gross Margin
Profit Margin
Debt Ratio
Debt Growth
Liab. Growth
Current Liab.
Growth
Cash Growth
Nr. Stocks
Wi 9.00E-
17 0.2 0.131 0.05 0.003 0.068 0.054 0.176 0.15 0.019 0.141 68
A Tabela 33 apresenta os valores de retorno obtidos neste teste para o índice NASDAQ. O
valor médio obtido de 15% mantem-se abaixo do índice, como acorreu no Teste 1. Apenas o valor de
retorno na melhor execução foi superior, atingindo os 20.38%
55
Tabela 33 - Retorno NASDAQ – Teste 3
Melhor Exec. GA 20.38%
Médio 15.00%
Pior Exec. GA 11.43%
Mercado 20.86%
A apresenta um excerto das empresas selecionadas pelo modelo (a lista completa está disponível
no Apêndice 2 – Teste 3 para o índice NASDAQ). apresenta um excerto das empresas selecionadas
pelo modelo (a lista completa está disponível no Apêndice 2 – Teste 3 para o índice NASDAQ). Da lista
completa de empresas, cerca de metades apresentam valores de retorno negativos, onde a maioria
das empresas que atingiram os limites de ganho/perdas foi por atingirem o máximo de perdas de 25%
(em 58% dos casos).
Tabela 34 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 – NASDAQ – Teste 3
Na Figura 27 está apresentada a evolução do retorno para as execuções com o índice NASDAQ,
onde se verifica que apenas a melhor execução consegue acompanhar a evolução dos retornos no
índice.
56
Figura 27 - Evolução do retorno do Portfolio vs NASDAQ entre as datas de Jan-14 a Dez-15 – Teste 3
4.4 Resumo
Neste trabalho foram efetuados 3 testes com características diferentes para aferir acerca da
aplicabilidade do algoritmo desenvolvido e escolha de genes envolvida.
No Teste 1 foram utilizados como genes o ROE, EPS Growth, Income Growth, Total Debt Ratio,
PER, Gross Margin e Profit Margin. Tanto nas execuções para o NASDAQ 100 como para o S&P 500,
os resultados foram bastante satisfatórios, com valores de retorno que superaram os que se poderiam
obter caso se o investimento fosse efetuado simplesmente no índice. No entanto, para o índice
NASDAQ os resultados não alcançaram o pretendido, que embora com retornos positivos, estes foram
abaixo do retorno do índice.
No Teste 2 foram seguidas algumas das regras indicadas no livro de Joel Greenblatt: uso de
apenas dois rácios para decidir acerca da compra de uma empresa – ROE e Earnings Yield. Ambos os
rácios tinham o mesmo peso na escolha da empresa e seriam constituídos portfolios de cerca de 20
empresas. Neste teste os valores de retorno foram muito abaixo do obtido no Teste 1, onde apenas a
execução no índice S&P 500 se conseguiram retornos aproximadamente iguais ao mercado.
Por último, no Teste 3 foi seguida a estratégia do Teste 1 mas incorporando agora genes relativos
a rácios de dívida e a taxa de crescimento do valor de caixa e de depósitos. O objetivo principal seria
perceber se a estrutura da divida de uma empresa e a forma como esta evolui temporalmente pode
57
afetar retornos futuros. Como aconteceu no Teste 1, NASDAQ 100 e S&P 500 obtiveram resultados
muito interessantes, com retornos médios muito acima do mercado, e mesmo superiores aos obtidos
no Teste 1. Conclui-se também que com a inclusão destes indicadores os valores obtidos nas piores
execuções do algoritmo aumentaram significativamente. No entanto, e como ocorrido anteriormente,
os resultados com o NASDAQ foram abaixo do previsto, na ordem dos obtidos no Teste 1.
A Tabela 35 resume os retornos obtidos para cada um dos índices estudados já referidos
anteriormente ao longo do Capítulo 4.
Tabela 35 – Tabela resumo dos resultados obtidos
A Tabela 36 e a Tabela 37 ajudam a perceber os resultados obtidos para os testes efetuados.
Facilmente se verifica que existe uma relação entre os valores de retorno nas execuções efetuadas e
a percentagem de empresas que foram vendidas antes de 31/12/2015.
Tabela 36 – Percentagem de empresas com retornos positivos e negativos, por índice bolsista e teste efetuado
Usando o exemplo do S&P 500, os retornos obtidos no Teste 3 são significativamente
superiores aos obtidos no Teste 1. Isto pode ser explicado pelo fato de que no primeiro teste 52% das
empresas selecionadas apresentavam retornos e no Teste 3 o valor aumentou para 70%. O mesmo
ocorre para as empresas que atingem os limites de ganhos/perdas. No primeiro teste 67% das
empresas vendidas antes da data final de teste deveu-se a limites de perdas, enquanto no Teste 3 esse
valor desce significativamente, para os 25%. De realçar que este aspeto explicado anteriormente se
verifica para todos os índices analisados
NASDAQ 100 S&P 500 NASDAQ NASDAQ 100 S&P 500 NASDAQ NASDAQ 100 S&P 500 NASDAQ
Melhor Exec. GA 55.02% 24.09% 17.85% 56.26% 36.65% 20.38%
Médio 39.40% 19.55% 15.79% 21.06% 11.66% 7.20% 40.44% 32.71% 15.00%
Pior Exec. GA 10.71% 14.07% 14.25% 23.42% 28.32% 11.43%
Mercado 28.90% 11.57% 20.86% 28.90% 11.57% 20.86% 28.90% 11.57% 20.86%
Teste 1 Teste 2 Teste 3
NASDAQ 100 S&P 500 NASDAQ NASDAQ 100 S&P 500 NASDAQ NASDAQ 100 S&P 500 NASDAQ
Positivo 60% 52% 51% 70% 55% 45% 100% 70% 54%
Negativo 40% 48% 49% 30% 45% 55% 0% 30% 46%
Teste 1 Teste 2 Teste 3
58
Tabela 37 - Percentagem de empresas vendidas por atingirem limites de ganhos ou perdas, por índice bolsista e teste efetuado
NASDAQ 100 S&P 500 NASDAQ NASDAQ 100 S&P 500 NASDAQ NASDAQ 100 S&P 500 NASDAQ
Ganhos 60% 33% 31% 33% 25% 18% 100% 75% 42%
Perdas 40% 67% 69% 67% 75% 82% 0% 25% 58%
Teste 1 Teste 2 Teste 3
59
5 Conclusões e Trabalho Futuro
Ao longo deste trabalho foi apresentado a metodologia desenvolvida para a seleção automática
de ações e constituição de portfolios cujas rentabilidades pudessem ser superiores às obtidas caso o
investimento fosse efetuado no índice. Foi assim desenvolvido todo um programa de seleção
automática baseado em algoritmos genéticos com a utilização de informação financeira. O programa
tem também a capacidade de obter toda a informação necessária dos relatórios financeiros reportados
pelas empresas americanas. O download dos relatórios, a sua leitura e respetivo tratamento de dados
é assegurado pelo programa.
Os cromossomas utilizados no algoritmo genético correspondem a pesos que são aplicados à
matriz dos dados financeiros, que previamente foi transformada por um processo de rank. Este
processo transforma os dados reais de cada rácio num ranking por empresa, onde o valor obtido
representa a posição relativa dessa mesma empresa no índice em análise.
Apesar de os resultados para o NASDAQ estarem um pouco abaixo do esperado, os obtidos para
o NASDAQ 100 e para o S&P 500 foram muito satisfatórios e consistentes (mantiveram-se os bons
resultados entre o Teste 1 e o Teste3), com valores de retorno quase duas vezes superior ao índice,
onde se concluiu que a melhor estratégia a seguir seria adicionar os rácios de crescimento de dívida
aos rácios de rentabilidade e crescimento. Assim sendo pode-se concluir que a utilização de algoritmos
genéticos baseados em análise fundamental podem ser de enorme utilidade ao apoio à decisão na
escolha de boas ações que possam gerar bons retornos aos investidores.
Todo o trabalho desenvolvido e todas as abordagens efetuadas fizeram com que surgissem
algumas ideias de evolução futura ao programa desenvolvido. Algumas das modificações e melhorias
que se poderiam realizar a este trabalho são as seguintes:
A função de rank aplicada à matriz de rácios ser aplicado ao nível do setor de atividade em
que a empresa está inserido, devido às diferenças existentes ao nível de negócio existente entre
setores;
Para o índice NASDAQ seria interessante analisar a viabilidade de uma seleção previa de
ações baseadas em algumas regras, para assim diminuir o universo de ações a analisar no
algoritmo genético;
Adicionar a funcionalidade de seleção das piores ações, com expetativa de retornos
negativos, para aplicação de short-selling;
Em termos do programa desenvolvido seria uma mais-valia o desenvolvimento de uma
camada de front-end, para uma mais fácil manipulação por parte do utilizador e maior liberdade
de testes.
60
6 Bibliografia
[1] “NASDAQ,” 2016. [Online]. Available: http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NASDAQ. [Accessed: 10-Apr-2016].
[2] C. Pires, Mercados e Investimentos Financeiros, 3a ed. Lisboa: Escolar Editora, 2011.
[3] M. Gomes da Silva, Bolsa - Investir nos mercados financeiros, 2a ed. 2013.
[4] K. P. Finance, “The Basics for Investing in Stocks,” Kiplinger’s Pers. Financ. Mag., p. 18, 2005.
[5] M. Burton, R. Nesiba, and B. Brown, An Introduction to Financial Markets and Institutions, 2nd ed. M. E. Sharpe, 2010.
[6] Nasdaq, “Initial Listing Guide,” The NASDAQ OMX Group, Inc, p. 17, 2015.
[7] S. and Poor’s, “Equity S&P 500,” McGraw Hill Financ., 2015.
[8] S. Baresa, S. Bogdan, and Z. Ivanovic, “Strategy of Stock Evaluation by Fundamental Analysis,” UTMS J. Econ., vol. 4, no. 1, pp. 45–51, 2013.
[9] A. Schönbohm, “Performance Measurement and Management with Financial Ratios – the BASF SE Case,” IMB Inst. Manag. Berlin, no. 72, 2013.
[10] J. V. da Silva and P. J. S. Ferreira, Prícipios de Gestão Financeira, 1a ed. Lisboa: Livros, Rei dos, 2014.
[11] C. Walsh, Key Management Ratios, 3th ed. Hall, Prentice, 2002.
[12] R. A. Brealey, S. C. Myers, and A. J. Marcus, Fundamentals of Corporate Finance, 3th ed. 201AD.
[13] J. C. Neves, Análise e Relato Financeiro - Uma visão Integrada de Gestão, 7a ed. Lisboa: Leya, 2014.
[14] T. Robinson, H. van Greuning, E. Henry, and M. Broihahn, International Financial Statement Analysis. CFA Institute Investment Series, 2009.
[15] SEC, “U.S. Securities and Exchange Commission,” 2016. [Online]. Available: http://www.sec.gov/edgar/searchedgar/companysearch.html. [Accessed: 28-Mar-2016].
[16] M. Qiu, Y. Song, and F. Akagi, “Application of artificial neural network for the prediction of stock market returns: The case of the Japanese stock market,” Chaos, Solitons & Fractals, vol. 85, pp. 1–7, 2016.
[17] A. Adam, Z. Ibrahim, M. I. Shapiai, L. C. Chew, L. W. Jau, M. Khalid, and J. Watada, “A two-step supervised learning artificial neural network for imbalanced dataset problems,” Int. J. Innov. Comput. Inf. Control, vol. 8, no. 5 A, pp. 3163–3172, 2012.
[18] D. Enke and S. Thawornwong, “The use of data mining and neural networks for forecasting stock market returns,” Expert Syst. Appl., vol. 29, no. 4, pp. 927–940, 2005.
[19] C.-F. Huang, “A hybrid stock selection model using genetic algorithms and support vector regression,” Appl. Soft Comput., vol. 12, no. 2, pp. 807–818, Feb. 2012.
[20] H. Yu, R. Chen, and G. Zhang, “A SVM stock selection model within PCA,” Procedia Comput. Sci., vol. 31, pp. 406–412, 2014.
[21] J. Gama, A. Carvalho, A. C. Lorena, and M. Oliveira, Extração de Conhecimento de Dados - Data Mining. Lisboa, 2012.
[22] K. Bennett and C. Campbell, “Support Vector Machines: Hype or Hallelujah?,” SIGKDD Explor., vol. 2, no. 2, pp. 1–13, 2000.
[23] A. E. Eiben and J. E. Smith, Introduction to Evolutionary Computing. 2003.
[24] L. M. Schmitt, “Theory of genetic algorithms,” Theor. Comput. Sci., vol. 259, no. 1–2, pp. 1–61, 2001.
[25] M. Melanie, An Introduction to Genetic Algorithms, Fifth. Cambridge, Massachusetts, 1999.
[26] F. Allen and R. Karjalainen, “Using genetic algorithms to find technical trading rules,” J. financ. econ., vol. 51, pp. 245–271, 1999.
[27] F. Roudier, “Portfolio Optimization and Genetic Algorithms,” Swiss Federal Institute of
61
Technology (ETH) Zurich, Ecole Nationale des Ponts et Chaussées (ENPC) Paris, 2007.
[28] C. C. Aranha and H. Iba, “A tree-based GA representation for the portfolio optimization problem,” Proc. 10th Annu. Conf. Genet. Evol. Comput. - GECCO ’08, pp. 873–880, 2008.
[29] S. Arnone, A. Loraschi, and A. Tettamanzi, “A genetic Approach to Portfolio Selection,” IDG - VSP Int. Sci. Publ., pp. 597–604, 1993.
[30] T. Blickle and L. Thiele, “A Comparison of Selection Schemes used in Genetic Algorithms,” Zurich, Switzerland, 1995.
[31] K. Jebari and M. Madiafi, “Selection Methods for Genetic Algorithms,” Int. J. Emerg. Sci, vol. 3, no. 4. pp. 333–344, 2013.
[32] F. Alabsi and R. Naoum, “Comparison of Selection Methods and Crossover Operations using Steady State Genetic Based Intrusion Detection System,” J. Emerg. Trends Comput. Inf. Sci., vol. 3, no. 7, pp. 1053–1058, 2012.
[33] A. Gorgulho, R. Neves, and N. Horta, “Applying a GA kernel on optimizing technical analysis rules for stock picking and portfolio composition,” Expert Syst. Appl., vol. 38, pp. 14072–14085, 2011.
[34] T.-S. Quah and B. Srinivasan, “Improving returns on stock investment through neural network selection,” Expert Syst. Appl., vol. 17, no. 4, pp. 295–301, Nov. 1999.
[35] P. Fernández-Blanco, D. Bodas-Sagi, F. Soltero, and J. I. Hidalgo, “Technical Market Indicators Optimization using Evolutionary Algorithms,” pp. 1851–1857.
[36] C. Zhou, L. Yu, T. Huang, S. Wang, and K. K. Lai, “Selecting Valuable Stock Using Genetic Algorithm,” Springer-Verlag Berlin Heidelb., pp. 688–694, 2006.
[37] C. Hargreaves and Y. Hao, “Prediction of stock performance using analytical techniques,” J. Emerg. Technol. Web Intell., vol. 5, no. 2, pp. 136–142, 2013.
[38] C.-F. Huang, C.-H. Chang, B. R. Chang, and T.-N. Hsieh, “A genetic-based stock selection model using investor sentiment indicators,” 2011 IEEE Int. Conf. Granul. Comput., pp. 262–267, 2011.
[39] The R Foundation., “The R Project for Statistical Computing,” 2016. [Online]. Available: https://www.r-project.org/. [Accessed: 28-Mar-2016].
[40] RStudio, “RStudio,” 2016. [Online]. Available: https://www.rstudio.com/. [Accessed: 28-Mar-2016].
[41] Yahoo!, “Yahoo! Finance,” 2016. [Online]. Available: http://finance.yahoo.com/. [Accessed: 28-Mar-2016].
[42] J. Greenblatt, The Little Book That Beats the Market. New Jersey, USA, 2006.
62
7 Apêndice
7.1 Apêndice 1 – Teste 1 para o índice NASDAQ
Tabela 38 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ – Teste 1 - Completa
Company Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
Ticker
CPRX Catalyst Pharmaceuticals, Inc.
02/01/2014 16/03/2015 2.15 NA 4.44 106.51
ECTE Echo Therapeutics, Inc.
02/01/2014 09/05/2014 3.51 NA 2.16 -38.46
GURE Gulf Resources, Inc. 02/01/2014 09/05/2014 2.42 NA 1.78 -26.45
PSTI Pluristem Therapeutics, Inc.
02/01/2014 01/08/2014 3.77 NA 2.75 -27.06
IMMY Imprimis Pharmaceuticals, Inc.
02/01/2014 24/01/2014 3.61 NA 7.25 100.83
CXDC China XD Plastics Company Limited
02/01/2014 27/05/2014 5.16 NA 11.07 114.53
ENZN Enzon Pharmaceuticals, Inc.
02/01/2014 10/04/2014 0.48 NA 0.34 -28.95
SNTA Synta Pharmaceuticals Corp.
02/01/2014 01/08/2014 5.26 NA 3.85 -26.81
INFI Infinity Pharmaceuticals, Inc.
02/01/2014 14/04/2014 13.44 NA 9.82 -26.93
IMNP Immune Pharmaceuticals Inc.
02/01/2014 26/02/2014 2.3 NA 4.62 100.87
ALIM Alimera Sciences, Inc.
02/01/2014 20/08/2015 4.61 NA 3.28 -28.85
VCEL Vericel Corporation 02/01/2014 28/09/2015 3.39 NA 2.4 -29.2
MNKD MannKind Corporation
02/01/2014 09/06/2014 5.31 NA 10.7 101.51
ANAC Anacor Pharmaceuticals, Inc.
02/01/2014 25/11/2014 16.53 NA 33.1 100.24
CUR Neuralstem, Inc. 02/01/2014 16/12/2014 3.16 NA 2.37 -25
OMER Omeros Corporation
02/01/2014 31/12/2014 12.06 NA 24.78 105.47
PCO Pendrell Corporation
02/01/2014 29/01/2014 1.89 NA 1.41 -25.4
PRGS Progress Software Corporation
02/01/2014 NA 25.54 24 NA -6.03
ARII American Railcar Industries, Inc.
02/01/2014 NA 42.54 45.81 NA 7.7
MDCA MDC Partners Inc. 02/01/2014 10/10/2014 23.07 NA 17.17 -25.56
KGJI Kingold Jewelry Inc. 02/01/2014 08/04/2014 1.61 NA 1.1 -31.98
CGNX Cognex Corporation 02/01/2014 NA 37.57 33.71 NA -10.28
DYSL Dynasil Corporation of America
02/01/2014 NA 1.1 1.83 NA 66.36
WRES Warren Resources, Inc.
02/01/2014 30/06/2014 3.08 NA 6.2 101.3
63
Company Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
Ticker
STMP Stamps.com Inc. 02/01/2014 01/05/2014 41.78 NA 29.12 -30.3
FOX Twenty-First Century Fox, Inc.
02/01/2014 28/09/2015 34.25 NA 25.27 -26.21
IRDM Iridium Communications Inc
02/01/2014 NA 6.32 8.41 NA 33.07
GT The Goodyear Tire & Rubber Company
02/01/2014 NA 23.06 32.59 NA 41.33
FOXA Twenty-First Century Fox, Inc.
02/01/2014 24/09/2015 34.84 NA 25.81 -25.91
PHII PHI, Inc. 02/01/2014 18/03/2015 39.53 NA 29.24 -26.03
SPOK Spok Holdings, Inc. 02/01/2014 NA 13.09 18.18 NA 38.91
OLED Universal Display Corporation
02/01/2014 05/05/2014 33.81 NA 23.67 -29.99
EXPO Exponent, Inc. 02/01/2014 NA 37.06 49.76 NA 34.27
CTCM CTC Media, Inc. 02/01/2014 03/03/2014 11.95 NA 8.53 -28.68
MSON MISONIX, Inc. 02/01/2014 22/09/2014 5.8 NA 11.99 106.72
NHTC Natural Health Trends Corp.
02/01/2014 06/05/2014 3.17 NA 6.35 100.2
PHIIK PHI, Inc. 02/01/2014 05/03/2015 42.52 NA 31.78 -25.26
SINO Sino-Global Shipping America, Ltd.
02/01/2014 01/07/2014 2.56 NA 1.92 -25
SYMC Symantec Corporation
02/01/2014 NA 17.77 16.78 NA -5.58
EBAY eBay Inc. 02/01/2014 NA 22.7 27.48 NA 21.05
SCHL Scholastic Corporation
02/01/2014 NA 32.07 38.39 NA 19.72
DMLP Dorchester Minerals, L.P.
02/01/2014 24/07/2015 21.95 NA 16.44 -25.1
OCRX Ocera Therapeutics, Inc.
02/01/2014 04/04/2014 13.29 NA 9.63 -27.54
EML Eastern Company (The)
02/01/2014 NA 15.26 18.67 NA 22.39
EZPW EZCORP, Inc. 02/01/2014 01/05/2015 11.5 NA 8.41 -26.87
APPY Venaxis, Inc. 02/01/2014 12/08/2014 18.56 NA 13.76 -25.86
CRUS Cirrus Logic, Inc. 02/01/2014 NA 20.14 29.53 NA 46.62
AAPL Apple Inc. 02/01/2014 NA 75.68 104.69 NA 38.33
ALSK Alaska Communications Systems Group, Inc.
02/01/2014 19/09/2014 2.18 NA 1.62 -25.69
SYNT Syntel, Inc. 02/01/2014 NA 45.06 45.25 NA 0.41
VRML Vermillion, Inc. 02/01/2014 17/09/2014 2.55 NA 1.9 -25.49
NVEC NVE Corporation 02/01/2014 NA 51.94 55.04 NA 5.96
CLRO ClearOne, Inc. 02/01/2014 NA 8.71 12.88 NA 47.76
TTEK Tetra Tech, Inc. 02/01/2014 NA 26.89 25.94 NA -3.54
MYGN Myriad Genetics, Inc.
02/01/2014 04/11/2015 21.72 NA 46.16 112.52
CSCO Cisco Systems, Inc. 02/01/2014 NA 20.5 26.71 NA 30.29
EDGW Edgewater Technology, Inc.
02/01/2014 04/02/2014 6.81 NA 5.02 -26.28
MSFT Microsoft Corporation
02/01/2014 NA 34.96 55.08 NA 57.56
64
Company Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
Ticker
RGEN Repligen Corporation
02/01/2014 30/10/2014 12.63 NA 25.49 101.82
NAUH National American University Holdings, Inc.
02/01/2014 07/10/2015 3.01 NA 2.22 -26.1
RNET RigNet, Inc. 02/01/2014 28/01/2015 44.23 NA 32.16 -27.29
KERX Keryx Biopharmaceuticals, Inc.
02/01/2014 08/05/2015 12.63 NA 9.32 -26.21
CBPO China Biologic Products, Inc.
02/01/2014 26/08/2014 27.23 NA 55.57 104.08
ZIXI Zix Corporation 02/01/2014 28/04/2014 4.57 NA 3.38 -26.04
SLP Simulations Plus, Inc.
02/01/2014 01/10/2015 4.77 NA 9.72 103.8
NCMI National CineMedia, Inc.
02/01/2014 03/11/2014 16.62 NA 11.39 -31.46
QLGC QLogic Corporation 02/01/2014 NA 11.63 12.2 NA 4.9
INTC Intel Corporation 02/01/2014 NA 24.06 34.15 NA 41.96
CBIO Catalyst Biosciences, Inc.
02/01/2014 29/07/2014 4.16 NA 2.8 -32.69
ISRG Intuitive Surgical, Inc.
02/01/2014 NA 380.01 546.16 NA 43.72
AMGN Amgen Inc. 02/01/2014 NA 110.59 161.21 NA 45.77
BDSI BioDelivery Sciences International, Inc.
02/01/2014 12/06/2014 5.78 NA 12.29 112.63
65
7.2 Apêndice 2 – Teste 3 para o índice NASDAQ
Tabela 39 - Retorno do Portfolio entre as datas de Jan-14 a Dez-15 –NASDAQ – Teste 3 - Completa
CompanyTicker Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
LAKE Lakeland Industries, Inc.
02/01/2014 09/10/2014 5.82 NA 17.72 204.47
IMMY Imprimis Pharmaceuticals, Inc.
02/01/2014 24/01/2014 3.61 NA 7.25 100.83
ENZN Enzon Pharmaceuticals, Inc.
02/01/2014 10/04/2014 0.48 NA 0.34 -28.95
VRA Vera Bradley, Inc.
02/01/2014 11/03/2015 24.01 NA 15.14 -36.94
ANIK Anika Therapeutics Inc.
02/01/2014 NA 34.99 38.16 NA 9.06
ECTE Echo Therapeutics, Inc.
02/01/2014 09/05/2014 3.51 NA 2.16 -38.46
UTMD Utah Medical Products, Inc.
02/01/2014 NA 49.66 58.29 NA 17.37
FONR Fonar Corporation
02/01/2014 15/04/2014 20.17 NA 14.95 -25.88
PDFS PDF Solutions, Inc.
02/01/2014 25/03/2014 25.05 NA 18.14 -27.58
GT The Goodyear Tire & Rubber Company
02/01/2014 NA 23.06 32.59 NA 41.33
PGTI PGT, Inc. 02/01/2014 25/07/2014 10.23 NA 7.6 -25.71
MCRI Monarch Casino & Resort, Inc.
02/01/2014 14/07/2014 19.53 NA 14.51 -25.7
APOL Apollo Education Group, Inc.
02/01/2014 25/03/2015 26.89 NA 20.04 -25.47
KLIC Kulicke and Soffa Industries, Inc.
02/01/2014 10/09/2015 13.05 NA 9.36 -28.28
MFRI MFRI, Inc. 02/01/2014 15/04/2014 14.52 NA 9.79 -32.58
66
CompanyTicker Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
PEIX Pacific Ethanol, Inc.
02/01/2014 27/02/2014 5.23 NA 14.94 185.66
FLWS 1-800 FLOWERS.COM, Inc.
02/01/2014 17/02/2015 5.29 NA 10.75 103.21
RNET RigNet, Inc. 02/01/2014 28/01/2015 44.23 NA 32.16 -27.29
DYSL Dynasil Corporation of America
02/01/2014 NA 1.1 1.83 NA 66.36
PRGS Progress Software Corporation
02/01/2014 NA 25.54 24 NA -6.03
ECOL US Ecology, Inc. 02/01/2014 NA 35.82 36.24 NA 1.16
CLNT
Cleantech Solutions International, Inc.
02/01/2014 22/09/2014 5.73 NA 4.1 -28.45
ARQL ArQule, Inc. 02/01/2014 25/04/2014 2.18 NA 1.61 -26.15
PCH Potlatch Corporation
02/01/2014 28/09/2015 37.75 NA 28.05 -25.7
SGMA SigmaTron International, Inc.
02/01/2014 10/10/2014 8.88 NA 6.64 -25.23
MVIS Microvision, Inc. 02/01/2014 16/03/2015 1.45 NA 3.14 116.55
CRWS Crown Crafts, Inc.
02/01/2014 NA 7.04 8.18 NA 16.2
GPIC Gaming Partners International Corporation
02/01/2014 NA 8.01 8.96 NA 11.86
BABY Natus Medical Incorporated
02/01/2014 22/07/2015 22.17 NA 46.33 108.98
SWKS Skyworks Solutions, Inc.
02/01/2014 19/08/2014 26.84 NA 54.52 103.08
EDGW Edgewater Technology, Inc.
02/01/2014 04/02/2014 6.81 NA 5.02 -26.28
NTCT NetScout Systems, Inc.
02/01/2014 NA 28.84 30.7 NA 6.45
67
CompanyTicker Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
VCEL Vericel Corporation
02/01/2014 28/09/2015 3.39 NA 2.4 -29.2
STXS Stereotaxis, Inc. 02/01/2014 08/08/2014 3.76 NA 2.75 -26.86
OTTR Otter Tail Corporation
02/01/2014 NA 26.14 26.33 NA 0.75
SANM Sanmina Corporation
02/01/2014 NA 16.44 20.58 NA 25.18
USAK USA Truck, Inc. 02/01/2014 23/12/2014 12.59 NA 25.42 101.91
GK G&K Services, Inc.
02/01/2014 NA 53.24 62.55 NA 17.48
ICFI ICF International, Inc.
02/01/2014 NA 34.45 35.56 NA 3.22
OBCI Ocean Bio-Chem, Inc.
02/01/2014 09/10/2014 2.44 NA 5.1 108.95
DGAS Delta Natural Gas Company, Inc.
02/01/2014 NA 20.4 20.8 NA 1.98
FIZZ National Beverage Corp.
02/01/2014 30/11/2015 20.04 NA 43.45 116.82
TAYD Taylor Devices, Inc.
02/01/2014 29/10/2015 8.13 NA 16.33 100.86
ADMP Adamis Pharmaceuticals Corporation
02/01/2014 01/07/2014 6.34 NA 4.75 -25.08
APOG Apogee Enterprises, Inc.
02/01/2014 NA 34.12 43.37 NA 27.1
FSTR L.B. Foster Company
02/01/2014 02/07/2015 45.71 NA 33.63 -26.43
WLFC Willis Lease Finance Corporation
02/01/2014 NA 16.91 20.1 NA 18.86
CENT Central Garden & Pet Company
02/01/2014 03/09/2015 6.78 NA 14.17 109
CENTA Central Garden & Pet Company
02/01/2014 02/09/2015 6.6 NA 13.62 106.36
68
CompanyTicker Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
AETI
American Electric Technologies, Inc.
02/01/2014 05/03/2014 9.74 NA 6.91 -29.06
TESS TESSCO Technologies Incorporated
02/01/2014 30/09/2014 36.99 NA 27.45 -25.78
SONC Sonic Corp. 02/01/2014 NA 19.44 32.18 NA 65.55
INTU Intuit Inc. 02/01/2014 NA 73.88 95.92 NA 29.84
ZIXI Zix Corporation 02/01/2014 28/04/2014 4.57 NA 3.38 -26.04
AOSL
Alpha and Omega Semiconductor Limited
02/01/2014 NA 7.58 9.19 NA 21.24
BGFV Big 5 Sporting Goods Corporation
02/01/2014 26/03/2014 18.35 NA 13.41 -26.91
INTG The Intergroup Corporation
02/01/2014 NA 18.92 25.49 NA 34.73
CALM Cal-Maine Foods, Inc.
02/01/2014 18/05/2015 26.48 NA 57.64 117.68
CBPO China Biologic Products, Inc.
02/01/2014 26/08/2014 27.23 NA 55.57 104.08
RJET Republic Airways Holdings, Inc.
02/01/2014 11/04/2014 10.92 NA 8.1 -25.82
STX Seagate Technology PLC
02/01/2014 19/10/2015 50.69 NA 37.4 -26.22
RMTI Rockwell Medical, Inc.
02/01/2014 28/09/2015 10.43 NA 7.32 -29.82
ALCO Alico, Inc. 02/01/2014 NA 37.2 38.61 NA 3.77
ABTL Autobytel Inc. 02/01/2014 08/05/2014 14.45 NA 10.67 -26.16
FWRD Forward Air Corporation
02/01/2014 NA 42.22 42.89 NA 1.58
69
CompanyTicker Company_Name Buy_Date Sell_Date Buy_Price Atual_Price Sell_Price Return
IIIN Insteel Industries, Inc.
02/01/2014 30/07/2015 20.77 NA 15.5 -25.36
JAZZ Jazz Pharmaceuticals plc
02/01/2014 NA 126.78 140.56 NA 10.87
CMLS Cumulus Media Inc.
02/01/2014 17/07/2014 7.99 NA 5.99 -25.03
70
7.3 Apêndice 3 – Instalação do Programa de Seleção de Ações
Para a instalação do programa desenvolvido e possivel execução do mesmo é necessário
proceder aos seguintes passos:
1) Unzip ao ficheiro SPProject.zip. A pasta descomprimida deve ter o seguinte aspeto:
Figura 28 – Pasta do Programa
Executar o SP_Download_Report_Files.exe para fazer o download dos reports financeiros
do website do SEC;
Executar o SP_Financial_Data.exe para realizar a leitura e tratamento dos reportes
financeiros e criação das matraizes de dados.
2) Configuração da diretoria da pasta (em ambiente Windows):
‘Editar as variaveis de ambiente do sistema’ → ‘Variaveis de Ambiente’ → em Variaveis de
Sistema clicar em ‘Novo’ e adicionar a varaiavel ‘SPP_Dir’ com o caminho da pasta do programa:
Figura 29 – Definição da variavel de ambiente com a localização do programa
3) Configuração da localização da instalação Java:
Nas variaveis de ambiente deve constar a seguinte configuração:
71
Figura 30 – Configuração da instalação Java
Alterar a diretoria no campo ‘valor’ para a diretoria da instalação Java (recomenda-se a
instalação da versão de Java mais recente).