/finance-web-scraping

Trabalho da matéria de IA, criação de web scraping de bolsa de valores e analise de sentimento de suas noticias

Primary LanguageJupyter Notebook

Analise de Sentimento

Objetivo

O objetivo deste trabalho foi de aplicar o conhecimento adquirido na disciplina de Aprendizado de Máquina, mais especificamente, na área de PLN (Processamento de Linguagem Natural). Para isso, foi utilizado notícias de três empresas na bolsa de valores pelo site Yahoo Fincance para realizar a análise de sentimento, e então, comparar os valores da bolsa antes e depois das suas respectivas notícias, buscando uma correlação entre o impacto do sentimento trazido na notícia e as negociações daquela mesma empresa.

As empresas escolhidas foram:

Metodologia

Para extração de dados foi utilizado o método de Web Scraping com a biblioteca Beautiful Soup e a utilização da biblioteca Selenium, para o scraping de dados renderizados por JavaScript. Os dados foram armazenados em um arquivo .csv, utilizando a biblioteca Pandas, o que facilitou tanto o armazenamento, quanto a utilização e leitura desses dados. A tabela contém as seguintes colunas:

Link Title Content Date Polarity Subjectivity

Para a análise de sentimento foi utilizado o método de Análise de Sentimento com a biblioteca TextBlob, que tem a propriedade sentiment retornando Sentiment(polarity, subjectivity). Onde polarity é um valor entre [-1, 1] indicando a positividade ou negatividade do texto, e subjectivity é um valor entre [0, 1] indicando o quão objetivo ou subjetivo é o texto.

Setup

No terminal

pip install -r requirements.txt

para instalar as dependências do projeto.

Execução

python main.py codigo_da_empresa

para extrair os dados do site do Yahoo Finance.

Exemplo

python main.py VALE3.SA

Resultados

Utilizando a biblioteca Matplotlib e a yfinance foi possível gerar o seguinte gráfico de cada empresa, em período de tempo referente ao das notícias publicadas e pesquisadas anteriormente:

Gráfico da empresa em periodo de tempo

E também foi possível gerar o gráfico da polaridade e subjetividade das notícias em período de tempo:

Grafico da polaridade e subjetividade das noticias em periodo de tempo

Com ambos os gráficos, foi possível observar que a polaridade e subjetividade das notícias, podendo assim formular uma hipótese de que a polaridade e subjetividade das notícias influenciam no valor da bolsa de valores.