Escolar Documentos
Profissional Documentos
Cultura Documentos
C ENTRO DE T ECNOLOGIA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
D EPARTAMENTO DE E NGENHARIA DE C OMPUTAÇÃO E AUTOMAÇÃO
A Deus por tudo que tem proporcionado na minha vida e pelo Seu amor incondicional.
Ao meu orientador Ivanovitch Medeiros Dantas da Silva por todo tempo disposto e em-
penho para auxiliar em todos os momentos que precisei. Seus referenciais e textos foram
de extrema importância para a realização deste trabalho.
À minha família, por todo o amor, e força que me deram durante todo o decorrer do curso,
e pela compreensão nos momentos de ausência.
Ao meu amor Vanessa, além de namorada, companheira e amiga é com quem posso contar
nos momentos onde mais preciso. Obrigado por acreditar e confiar em mim.
Aos meus amigos Alexandre, Gabriel, Samuel, Laís e Felipe, pelo carinho e amizade
durante toda essa jornada. Aos colegas de curso, cujo empenho e solidariedade foram de
suma importância para alcançar minhas metas.
E aos professores do DCA pelo empenho e dedicação durante todo o curso em especial
ao Prof. Dr. Luiz Affonso H. Guedes, pelos ensinamentos de grande importância para
minha carreira.
Resumo
The purpose of this paper is to apply data science techniques and methodologies to
facilitate the analysis of Stock Exchange. The paper describes the process of data col-
lection, cleaning and formulate to have the results obtained through financial indicators
linked to data science. Finally this work made the search for the best shares most dy-
namic. Python was to the chosen language for this work, along with it is manipulation
and visualization libraries. In conjunction with the basic libraries, financial analysis and
statistical analysis techniques were used. Finally the results were satisfactory.
Keywords: Data Science, Python, Analysis, Stock Exchange.
Lista de Figuras
i
Lista de Quadros e Tabelas
3.1 Setores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Indicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
ii
Lista de Símbolos e Abreviaturas
DY Dividend Yield
iii
Sumário
1 Introdução 13
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Fundamentação Teórica 16
2.1 Mercado Financeiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.1 Sistema financeiro Nacional . . . . . . . . . . . . . . . . . . . . 16
2.1.2 Ações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3 Análise Técnica e Fundamentalista . . . . . . . . . . . . . . . . 17
2.2 Tecnologias Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Pacotes e Bibliotecas . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2.1 Pandas . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2.2 Numpy . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2.3 Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2.4 Colab . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Ciência de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.1 Análise Exploratória . . . . . . . . . . . . . . . . . . . . . . . . 20
3 Metodologia 21
3.1 Obtenção do Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 Web Scraping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Análise exploratória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.1 Limpeza dos Dados . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.2 Divisão das Categorias . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.3 Análise e Escolha dos Indicadores . . . . . . . . . . . . . . . . . 25
3.3 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4 Resultados 34
4.1 Petróleo, Gás e Biocombustíveis . . . . . . . . . . . . . . . . . . . . . . 34
4.2 Bens Industriais e Materiais Básicos . . . . . . . . . . . . . . . . . . . . 35
4.3 Consumo Cíclico e Consumo Não Cíclico . . . . . . . . . . . . . . . . . 35
4.4 Utilidade Pública e Telecomunicação . . . . . . . . . . . . . . . . . . . . 36
4.5 Financeiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6 Tecnologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.7 Saúde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
iv
4.8 Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 Conclusão 39
Capítulo 1
Introdução
1.1 Motivação
Desde a antiguidade, o homem realiza transações de compra e venda, e com o pas-
sar dos anos essas operações foram mudando de plataformas, entretanto, a base teórica
permanece a mesma (Assaf Neto,2014), por esse motivo, é plausível a utilização da tec-
nologia para auxiliar aqueles com menor conhecimento a negociarem como as grandes
empresas e grandes investidores financeiros (HILPISCH, 2015).
A extração de dados não é uma tarefa fácil para esse caso, já que se utiliza de APIs
(Application programming interface) para coletar as informações sobre o mercado finan-
ceiro e assim gerando custo financeiro maior.
O objetivo deste trabalho, é entregar ao final um conjunto de ações que podem ser boas
opções de investimentos para os investidores. Utilizando dados obtidos diariamente no
período de um mês, a fim de gerar um modelo simplista para que seja fácil o entendimento,
ou seja, recomendar uma carteira de ações, separadas por segmento, auxiliando na escolha
CAPÍTULO 1. INTRODUÇÃO 15
do investidor.
Fundamentação Teórica
2.1.2 Ações
Segundo a (BM&FBOVESPA, 2016), ações são valores mobiliários emitidos por soci-
edades anônimas representativos de uma parcela do seu capital social. Em outras palavras,
são títulos de propriedade que conferem a seus detentores (investidores) a participação na
sociedade da empresa.
As ações são emitidas com o objetivo de obter recursos para o desenvolvimento de
projetos que viabilizam o crescimento da empresa. Existem dois principais tipos de ações,
CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 17
as ordinárias que dão direito ao voto nas assembleias e as preferenciais que permitem o
recebimento preferencial de dividendos. Dividendo, é uma parte do lucro da empresa que
é distribuído entre os acionistas (portadores da ação). Cada empresa é representada por
uma sigla onde o número no final desta, simboliza se a ação é ordinária ou preferencial.
Por exemplo a Petrobras, representada pelas siglas PETR, é ordinária quando terminada
em 3 (PETR3) e preferencial quando terminada em 4 (PETR4) (Assaf Neto,2014).
A B3 (Brasil Bolsa Balcão), é o órgão responsável pela negociação de ações e foi
criado a partir da fusão da BM&FBOVESPA (Bolsa de Valores, Mercadorias e Futuros
de São Paulo) com a CETIP (Central de Custódia e de Liquidação Financeira de Títulos),
aprovada pela CVM (Comissão de Valores Mobiliários) e pelo Conselho Administrativo
de Defesa Econômica (CADE) em 22 de março de 2017.
2.2.2.1 Pandas
A biblioteca do Pandas, de acordo com a documentação (PANDASTEAM, 2011),
proporciona estruturas de dados e ferramentas de análise de dados de alta performance.
As estruturas básicas desse pacote são os objetos chamados de DataFrames. Esses objetos
CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 19
são estruturas que podem ser visualizadas como tabelas e possuem diferentes maneiras de
serem acessadas e posteriormente modificadas.
2.2.2.2 Numpy
O NumPy, fornece um objeto de matriz multidimensional para armazenar dados ho-
mogêneos ou dados heterogêneos; também fornece métodos otimizados para operar neste
objeto de matriz (HILPISCH, 2015).
2.2.2.3 Matplotlib
Esta é a biblioteca de visualização e gráfica mais popular para o Python, fornecendo
tanto Recursos de visualização 2D como 3D (HILPISCH, 2015).
2.2.2.4 Colab
O Colab, é uma ferramenta de pesquisa para machine learning criado pelo google.
Ele é executado no próprio navegador e pode ser usado tanto no google chrome, firefox
quanto no safari. Sua utilização é gratuita e além de fornecer um ambiente simples e fácil
de usar, permite a utilização de placa de vídeo para projetos mais complexos (COLAB,
2014).
Metodologia
Nesse capítulo, será abordada a metodologia para a realização desse trabalho. Apre-
sentando a captura dos dados, a limpeza e organização, os indicadores financeiros, assim
como os setores escolhidos e a fórmula que define o valor da ação. O diagrama na figura
3.1 defini como o trabalho está disposto:
ainda APIs. Além dos especificados, existem sites como o Kaggle que fornece uma grande
quantidade de banco de dados que podem ser utilizados para determinadas pesquisas e
estudos, sendo que, sua principal funcionalidade é de realizar competições para a ciência
de dados. E por fim, existe a técnica de web scraping que será a utilizada para esse
trabalho.
Por fim, basta colocar a lista em um DataFrame, uma estrutura de dados tabular, e
salvar como CSV. Perceba que essa coleta é de apenas um dia, mais especificamente de
uma determinada coleta. A figura 3.6 representa essa etapa.
CAPÍTULO 3. METODOLOGIA 24
O site (FUNDAMENTUS, 2019) faz sua atualização duas vezes ao dia e portanto,
temos os dados na abertura e fechamento do mercado. Para a captura automatizada foi
utilizado um crontab, que é um arquivo de configuração do UNIX (Sistema operacional)
que programa a execução automática do Script a seguir temos na imagem 3.7 a chamada
para alterar o arquivo de configuração e na imagem 3.8 a linha do crontab responsável
pela execução do algoritmo.
Com o objetivo de obter os dados de abertura e fechamento o crontab foi programado
para às 10 horas e às 19 horas todos os dias de segunda a sexta durante o mês inteiro.
Setor
1 Petróleo, Gás e Biocombustíveis
2 Bens Industriais e Materiais Básicos
3 Consumo Cíclico e Consumo Não Cíclico
4 Utilidade Pública e Telecomunicação
5 Financeiro
6 Tecnologia
7 Saúde
8 Outros
Risco :
s
∑N
i=1 (xi − x̄)
2
(3.1)
N −1
Onde N é o número total de amostra por ação durante o período calculado , xi são as
cotações diárias e x̄ é a média das cotações.
Retorno esperado:
∑N
i=0 (xi )
(3.2)
N
Onde N é o número total de amostra por ação durante o período calculado e xi são as
cotações diárias.
Em seguida, foi necessário entender como os dados estavam dispostos e encontrar
quais seriam os parâmetros a serem utilizados para a análise, para assim, encontrar uma
relação de índices que poderiam ser utilizados considerando indicadores eficientes se-
gundo (Assaf Neto,2014). Com base nisso, alguns indicadores foram selecionados:
Índice
1 P/L
2 DY(%)
3 ROE(%)
4 Pat.Liq
5 Liq.2m.
6 Cresc. 5a (%)
Esses foram os 6 indicadores escolhidos para análise, onde P/L é o preço pelo lucro,
um dos mais utilizados no mercado financeiro, informando em quanto tempo a ação se
pagará. Exemplo: Um P/L 4, afirma ao investidor que aquele papel levará 4 anos para os
lucros cobrirem seus investimentos.
A figura 3.9 representa uma análise para o indicador P/L utilizando a função describe
do (Pandas):
Na figura 3.10 temos a visualização mais exata de como estão distribuídos os dados
do indicador P/L, utilizando a função boxplot da biblioteca matplotlib.
CAPÍTULO 3. METODOLOGIA 27
Perceba que a distribuição do P/L está bem homogênea e sua mediana próximo de 10,
percebe-se assim, que os valores mais significantes estão entre 2 e 15.
O Dividend Yield (DY) é o dividendo pago por ação dividido pelo preço da ação. É o
rendimento gerado ao dono da ação pelo pagamento de dividendos.
A figura 3.11 representa uma análise para o indicador DY utilizando a função describe
do (Pandas):
Na figura 3.12 temos a visualização mais exata de como estão distribuídos os dados
do indicador DY, utilizando a função boxplot da biblioteca matplotlib.
CAPÍTULO 3. METODOLOGIA 28
Perceba que a distribuição do DY tende a ficar mais baixo entre 0 e 4 e sua mediana
próximo de 2, sendo assim, os valores mais significantes estão acima da mediana.
O Retorno sobre o Patrimônio Líquido (ROE) é o lucro líquido dividido pelo Patrimô-
nio líquido. É responsável por calcular a rentabilidade de uma empresa a outra desde que
sejam do mesmo setor, um índice muito importante para ver como é o crescimento da
empresa.
A figura 3.13 representa uma análise para o indicador ROE utilizando a função des-
cribe do (Pandas):
CAPÍTULO 3. METODOLOGIA 29
Na figura 3.14 temos a visualização mais exata de como estão distribuídos os dados
do indicador ROE, utilizando a função boxplot da biblioteca matplotlib.
Perceba que a distribuição do ROE é mais homogênea e sua mediana próximo de 10,
sendo assim, os valores mais significantes estão acima da mediana.
O Patrimônio Líquido (Pat.Liq) representa os valores que os sócios ou acionistas têm
na empresa em um determinado momento. No balanço patrimonial, a diferença entre
valor dos ativos e dos passivos e resultado de exercícios futuros representa o Patrimônio
Líquido, que é o valor contábil devido pela pessoa jurídica aos sócios ou acionistas.
A figura 3.15 representa uma análise para o indicador Pat.Liq utilizando a função
describe do (Pandas):
Na figura 3.16 temos a visualização mais exata de como estão distribuídos os dados
do indicador Pat.Liq, utilizando a função boxplot da biblioteca matplotlib.
CAPÍTULO 3. METODOLOGIA 30
Perceba que a distribuição do Liq.2m. tende a ficar mais para baixo e sua mediana
próximo de 4 ∗ 105 , sendo assim, os valores mais significantes estão acima da mediana.
Por último temos o Cresc. 5a que é o crescimento da receita Liquida nos últimos
cinco anos.
A figura 3.19 representa uma análise para o indicador Cresc.5a utilizando a função
describe do (Pandas):
Na figura 3.20, temos a visualização mais exata de como estão distribuídos os dados
do indicador Cresc.5a, utilizando a função boxplot da biblioteca matplotlib.
CAPÍTULO 3. METODOLOGIA 32
3.3 Algoritmo
Após a obtenção dos gráficos e análise anteriores é possível perceber que cada in-
dicador tem sua característica e levando em consideração outros aspectos da teoria do
mercado financeira descrita por (Assaf Neto,2014) alguns indicadores, para serem consi-
derados, precisam possuir uma certa fórmula para encontrar a melhor ação.
O P/L por exemplo, deve estar entre 2 e 15, já o demais indicadores precisam ser maior
CAPÍTULO 3. METODOLOGIA 33
que a metade dos dados, já que quanto maior ele for melhor será a ação. Sendo assim, foi
proposta a seguinte fórmula, descrita na figura 3.22, para a obtenção das melhores ações.
Perceba que, para a criação dessa fórmula alguns conceitos de análise financeira foram
utilizados, e por esse motivo, o P/L se encontra em uma escala entre 2 e 15 como os
melhores e os demais indicadores utilizam a mediana como parâmetro de comparação,
considerando que para encontrar a melhor ação é necessário que a mesma esteja acima
dos 50% melhores daquele setor.
Capítulo 4
Resultados
Observe que temos dentre as selecionas a PETR3 e PETR4, ambas são da Petrobras,
entretanto é importante avaliarmos o value da ação e não somente, mas como o risco e a
sua cotação também pois são esses que definem a escolha segundo a teoria de Markowitz.
Sendo assim, percebemos que BDRT3 é uma excelente opção para investir, possui todos
os indicadores propostos na seção anterior e um risco baixo, juntamente com uma cotação
próxima a da Petrobras. Levando isso mais perto do real, foi verificado que BDRT é a BR
distribuidora Petrobras, possui 37% das ações da Petrobras e é a maior distribuidora de
petróleo do país.
CAPÍTULO 4. RESULTADOS 35
Nessa caso, como o value foi igual para certas ações o segundo critério utilizado é o
Risco(%), justamente pois, quanto menor o risco melhor. Sendo assim, temos a KLBN
representando a empresa Klabin de papel e celulose, grande potência no mercado e exce-
lente opção de investimento. Perceba que, aqui temos KLBN4 e KLBN11, a diferença é
que a com final 4 é apenas preferencial, e a com final 11 é uma Unit (pacote com ações
preferenciais e ordinárias).
Dentre as 5 temos a SLCE (SLC Agrícola) uma das maiores produtoras agrícolas do
Brasil, a empresa possui 460.600 hectares de terras cultiváveis. Foi a primeira empresa
do setor (grãos e algodão) cujas ações foram negociadas em bolsa de valores. Sendo, uma
das melhores opções para se investir.
CAPÍTULO 4. RESULTADOS 36
4.5 Financeiro
Foram avaliadas 86 ações. Onde 5 foram selecionadas como as melhores, segundo a
figura 4.5:
Dentre as cinco melhores, temos a ITSA (Itaúsa) que é uma empresa de holding,
companhia dona de outras empresas. As principais empresas que a Itaúsa controla são
o Itaú Unibanco, Duratex e Alpargatas. Sendo portanto, uma empresa consolidada e
excelente opção de investimento.
CAPÍTULO 4. RESULTADOS 37
4.6 Tecnologia
Nesse, apenas 4 foram definidas e analisadas para o setor tecnologia. Portanto para
esse caso em específico temos todas as ações da amostra. Conforme figura 4.6:
A Linx SA (LINX3) classificada como a melhor nesse caso, é uma empresa brasileira
de software de gerenciamento e a maior casa de software em sistemas de gerenciamento
de varejo da América Latina. Segundo a empresa americana de consultoria em tecnologia
IDC (International Data Corporation), a Linx retém 40,2% do software de gerenciamento
de varejo no Brasil. Em 2007, a Linx foi listada pela terceira vez no relatório anual Valor
1000, que lista as 1000 maiores empresas brasileiras.
4.7 Saúde
Ao total foram analisadas 18 ações, e selecionada as melhores 5 conforme figura 4.7:
Dentre as cinco melhores temos como melhor a FLRY3 (Fleury) é uma das maio-
res e mais tradicionais empresas de medicina diagnostica do País. Em 2019, o Grupo
Fleury conquistou, na categoria Saúde, o prêmio “Melhores Empresas da Bolsa”. Sendo
selecionada, nesse trabalho como a melhor no setor saúde.
CAPÍTULO 4. RESULTADOS 38
4.8 Outros
Para o caso outros apenas 16 entraram nesse quesito e entre essas 5 foram seleciona-
das como as melhores, conforme figura 4.8:
A maioria das ações classificadas como outros são do tipo holding, como explicado
anteriormente são empresas que possuem diversas empresas. Sendo assim, temos como
melhor a ATOM que é classificada como holding, mas sua atuação é no setor financeiro
e sua principal função é justamente a de aquisição de novas empresas. Sendo então, uma
ótima opção de investimento.
Capítulo 5
Conclusão
Assaf Neto, Alexandre. Mercado Financeiro. 4. ed. - São Paulo : Atlas, 2001
LOUKIDES, M. What is Data Science?. 1. ed. United States of America: O’Reilly Media,
2016.
HILPISCH, Y. Python for Finance. 1. ed. United States of America: O’Reilly Media,
2015.
MITCHELL, R. Web Scraping with Python. 2. ed. United States of America: O’Reilly
Media, 2018.