B3-FEED: FEED DE NOTÍCIAS
DA BOLSA DE VALORES
BASEADO EM SENTIMENTO
Aluno: Marcelo Wippel Orientador: Marcel Hugo
Roteiro
• Introdução • Objetivos • Fundamentação Teórica • Trabalhos Correlatos • Requisitos • Especificação • Implementação • Operacionalidade • Avaliação do aplicativo • Conclusões • DemonstraçãoIntrodução
• Crescimento de pessoas físicas na Bolsa de Valores
• Democratização da informação
• Influência das notícias no mercado
Objetivos
• Geral: desenvolver um aplicativo contendo um feed de notícias da Bolsa de Valores classificado por sentimento.
• Específicos:
– Extrair notícias sobre o mercado acionário da Suno Notícias, Exame.com e InfoMoney;
– Buscar os ativos citados na notícia; – Classificar o sentimento das notícias;
– Disponibilizar um aplicativo contendo um feed de notícias classificadas por seu sentimento.
Educação financeira no Brasil
• Distribuição de renda desigual; • Ascensão econômica;
• Aumento do leque de possibilidades de investimentos.
Web Scrapers
• Diferença do Web Crawler; • Formas de extração;
Análise de Sentimentos
• Subárea do PNL;
• Extração do sentimento em sentenças;
• Crescimento do interesse nessa área de estudo;
Trabalhos Correlatos
• Modelo para predição de Bolsa de Valores baseado em mineração de opinião (2016); • Brand Feeling (2017);
• Uso de técnicas de computação social para tomada de decisão de compra e venda de ações no mercado brasileiro de Bolsa de Valores (2015).
Modelo para predição de Bolsa de Valores baseado em mineração de opinião (2016)
• Mineração de opinião do Twitter
• Sentiment140 para análise de sentimentos • Support Vector Machine (SVM)
Brand Feeling (2017)
• Mineração de opinião do Twitter
• Sentimento de usuários em relação a uma marca
• SentiWordNet para análise de
Uso de técnicas de computação social para tomada de decisão de compra e venda de ações no mercado brasileiro de Bolsa de Valores (2015)
• Mineração de opinião do Twitter
• Tweets com citação do nome de 9 empresas pré-selecionadas
• LingPipe para análise de sentimentos
• Treinamento através da polarização de sentenças
• Saída das informações através de gráficos e planilhas
Requisitos Funcionais
• O Web Scraper deve: – Varrer as últimas
notícias dos portais
InfoMoney, Exame.com e Suno Notícias;
– Dividir o conteúdo da notícia em parágrafos; – Limpar o conteúdo dos
parágrafos;
– Salvar as notícias no banco de dados;
– Salvar os parágrafos no banco de dados.
• A API deve permitir: – Manter notícias; – Manter parágrafos; – Analisar o sentimento dos parágrafos; – Buscar os ativos relacionados à notícia; – Manter os ativos relacionados à notícia.
Requisitos Funcionais
• O aplicativo deve permitir: – Realizar log in;
– Realizar cadastro; – Filtrar notícias;
– Visualizar gráfico de sentimentos; – Visualizar os ativos relacionados; – Visualizar a cotação do ativo;
Requisitos Não Funcionais
• O Web Scraper deve:
– Ser implementado em Python;
– Extrair o conteúdo das notícias utilizando a
biblioteca BeautifulSoup; – Utilizar SQL Server como
banco de dados;
– Executar a varredura a cada 15 minutos;
– Ser executado em uma imagem Docker;
– Ser implantado no serviço de Aplicativos Web para Contêineres da Azure.
• A API deve:
– Utilizar a linguagem Java; – Utilizar o framework
Spring Boot;
– Utilizar o Amazon
Comprehend para efetuar a análise de sentimentos; – Executar a varredura a
cada 15 minutos;
– Ser executado em uma imagem Docker;
– Ser implantado no serviço de Aplicativos Web para Contêineres da Azure.
Requisitos Não Funcionais
• O aplicativo deve:
– Utilizar o framework Flutter;
– Utilizar o Firebase Authentication para autenticação;
– Estar disponível nas plataformas Android e iOS; – Apresentar a cotação do ativo através do site
TradingView;
Técnicas e Ferramentas
• Python (Web Scraper)
• Java e Spring Boot (API)
• Flutter (Aplicativo B3-Feed) • Amazon Comprehend
• Docker • Azure
Operacionalidade
• Visualização das últimas notícias
• Sentimento médio da notícia
• Filtro de notícias por: título, portal de notícia, ativos relacionados e data de postagem
Resultados e Discussões
• Comparação entre os trabalhos correlatos e a aplicação desenvolvida.
• Avaliação através do formulário on-line via Google Forms.
Comparação dos correlatos
com o B3-Feed
Conclusões: Objetivos
• Extrair notícias sobre o mercado acionário da Suno Notícias, Exame.com e InfoMoney;
– Alcançado através da implementação do Web Scraper;
• Buscar os ativos citados na notícia;
– Expressões regulares implementadas na API;
• Classificar o sentimento das notícias;
– Alcançado através do serviço Amazon Comprehend;
• Disponibilizar um aplicativo contendo um feed de notícias classificadas por seu sentimento;
Conclusões: Extensões
• Disponibilização para web;
• Quantidade de portais varridos pelo Web Scraper;
• Modelo de análise de sentimentos específico;
• Prever o viés do ativo pelo seu sentimento utilizando aprendizado de máquina.
B3-FEED: FEED DE NOTÍCIAS
DA BOLSA DE VALORES
BASEADO EM SENTIMENTO
Aluno(a): Marcelo Wippel Orientador: Marcel Hugo