Resumindo o dia na Bovespa em 30 segundos com o R

Uma boa maneira de melhorar suas habilidades em R é desenvolvendo projetos práticos, mesmo que não seja algo que envolva aplicar técnicas avançadas estatísticas. Suponha por exemplo que você gostaria que existisse um site que mostrasse no final do dia as principais movimentações na Bovespa, destacando às ações que tiveram uma maior variação em seu preço, em comparação com o preço de fechamento anterior.

Uma boa maneira de trabalhar com dados de ações seria com o pacote quantmod. Contudo, para cumprir o desafio proposto neste post, seria necessário baixar manualmente as ações de cada uma das empresas listadas na Bovespa (lista essa que você teria de criar manualmente), agrupar os dados em uma estrutura única (como um data frame) e aplicar as funções de data wrangling necessárias.

Outra, que será a abordada aqui, é pelo web scraping, que consiste em extrair dados de páginas na Internet de forma automatizada. Para isso, esta página no site da Exame nos ajuda. Ela (e as páginas subsequentes) traz uma tabela com o nome da empresa, o preço da ação em R$ e a variação em relação ao fechamento anterior, entre outras. Nós precisamos, então, extrair a tabela da página, fazer a limpeza necessária e trabalhar com os dados. Isso é muito mais fácil do que parece.

Para este tutorial, usaremos estes pacotes:

Obtenção dos dados

Primeiramente, vamos construir um vetor com todas as páginas das ações.No momento deste post, eram 17:

Sobre cada página criada no comando acima, será executada a função criada abaixo para extrair a tabela que precisamos:

 

Limpeza dos dados

Como visto, os dados precisam passar por uma certa limpeza:
A coluna acao precisa ser quebrada em duas: uma com o código da ação (Ex.: ABEV3) e outra com o nome da empresa. Ambas são separadas pelo string \n;
As duas outras colunas precisam ser convertidas para numéricas.

Essas tarefas também não são difíceis graças aos pacotes tidyr e stringr:

1) Separar a primeira coluna em duas diferentes pelo separador “\n”

2) Converter colunas de preco e de variacao para numerico

 

Análise e apresentação dos dados

Agora já estamos prontos para partir para a análise.

Primeiramente, qual a distribuição da variação dos preços das ações?

No geral, as ações variaram em torno de 0%, com a mediana estando ligeiramente para a esquerda do zero. O histograma mostra que existem alguns outliers, tanto para cima como para baixo.

Vamos analisar quais foram as ações que mais variaram no dia de hoje:

 

Uma boa maneira de resumir o dia de hoje seria em um gráfico que correlaciona o preço da ação com sua variação, destacando o TOP 10 acima:

No código acima, o pacote ggrepel foi usado para plotar os nomes das ações de destaque, garantindo que eles não se cruzassem. Um outlier prejudicou a visualização:

 

O código completo deste post está presente neste gist.

Este modelo de aplicação do R é uma das possibilidades que a programação te oferece, aproveite e venha aprender muito mais sobre essa programação e linguagem nas novas turmas do curso de Ciência de Dados com R. O curso presencial acontecerá em Brasilia e em São Paulo e você já pode se inscrever! Te aguardamos para trocar experiências e praticar os aprendizados.

postrelacionados

Comentários

comments

Deixe um comentário