Cotação Bovespa no Excel com Power Query
Por meio do power query conseguimos consultar dados da internet, como da cotação da Bovespa, e de uma forma muito simples.
Você verá neste artigo um passo-a-passo de como fazer esta consulta e aprenderá muitas técnicas.
E ainda ao final do artigo poderá baixar a planilha gratuitamente para verificar se fez tudo certo ou ainda utilizar para retornar os dados da Bovespa.
A planilha já está pronta para retornar todos os dados de cotações que você precisar, sem limite.
Consultar ações de uma lista de links da Infomoney
No nosso exemplo iremos consultar os dados do site infomoney, ele possui informações de cotações de ações da IBovespa, bastando procurar a ação ele já retorna as tabelas com informações como abertura, fechamento e variação.
Perceba que o endereço do link varia conforme a cotação que está sendo analisada.
Por exemplo:
Natura: https://www.infomoney.com.br/cotacoes/natura-ntco3f/
Petrobras: https://www.infomoney.com.br/cotacoes/petrobras-petr4f/
Veja que muda apenas o final do link, então consulte todos os endereços que deseja e coloque em uma lista conforme a abaixo:
Coloque um nome no início da sua lista, como Endereço de ações.
Criando tabela de cotações Bovespa no Excel
Selecione a lista que criou, inclusive o cabeçalho e pressione as teclas ALT+T e em seguida T e A.
Ou senão no menu em Inserir->Tabela.
Este é o formato mais indicado de dados do Excel para utilizar no Power Query, sempre usar como tabela se possível.
Agora clique em Dados->Da Tabela/Intervalo
No Power Query ficará com esta aparência a sua tabela, então clique em Fechar e Carregar Para…
Selecione a opção Apenas Criar Conexão:
Estes dados serão utilizados posteriormente para realizarmos as consultas nos endereços utilizando o Power Query e retornando os dados das cotações da Bovespa diretamente da internet e sempre atualizados para o Excel.
Consultando Cotação da Bovespa com o Excel Power Query
Agora iremos criar conexões para retornar os dados do site da Infomoney com os valores das movimentações de ações da Bovespa.
Para isso clique em Dados->Da Web.
Selecione Básico e na URL defina qualquer dos endereços da sua tabela, pode usar este: https://www.infomoney.com.br/cotacoes/natura-ntco3f/
Na tela seguinte serão exibidas as tabelas que fazem parte da página da Web.
Selecione a opção Selecionar vários itens.
Marque as Table correspondentes a Tabela de fechamento e de variação.
Clique no botão Transformar Dados, o Excel irá então abrir as duas consultas no Power Query conforme a imagem. Table 0 e Table 1.
Agora precisamos realizar um ajuste dos dados, veja que estão em um formato vertical de dados, e precisamos que estejam no formato horizontal, tabular, como na nossa tabela de ações.
Clique na coluna Column2 e clique em Transpor.
Em seguida precisamos colocar o cabeçalho na nossa tabela. Então clique na guia Transformar e no botão Usar a Primeira Linha como Cabeçalho.
Como pode perceber já temos os dados da primeira consulta da Web, mas como faremos para que ela seja utilizada para consultar todos os dados da nossa tabela de ações?
Repita a operação para a Table1 e deixe ajustada conforme a Table0.
Transformando uma consulta em uma função no Power Query Excel
Agora iremos ajustar a consulta para que ela possa ser realizada para todas as linhas da tabela.
Para isso clique na consulta Table 0 e em Editor Avançado.
No texto altere conforme abaixo para transformar esta consulta em uma função no Power Query.
Insira os campos em vermelho, no caso, veja que foi incluso o let AberturaFechamento=(URL)=> aonde AberturaFechamento é o nome da função e URL é o parâmetro aonde será passado o novo endereço.
Então substitua o endereço da web pelo parâmetro URL em Web.Contents e no final coloque in AberturaFechamento para fechar a função.
Com a função pronta selecione a tabela tAcoes, aonde estão os endereços aonde iremos retornar os dados de ações para o Excel.
Clique em Adicionar Coluna e selecione Invocar Função Personalizada.
Nesta opção selecione a consulta de função fAberturaFechamento e no parâmetro URL selecione o campo Endereço de ações, que é correspondente ao nome da coluna.
Será então criada uma coluna de tabela com estes dados. Clique no botão para expandir estes dados e selecione as que gostaria de colocar na sua tabela de ações.
Desmarque a opção Use o nome da coluna original como prefixo caso não queira utilizar.
Da mesma forma como fez a consulta da Abertura e Fechamento selecione a outra consulta, Table 1 e clique em Editor Avançado.
Faça as mesmas configurações conforme abaixo, altere inserindo os campos em vermelho conforme let Variacao=(URL)=> e altere o campo de endereço para URL conforme o parâmetro e feche no final com in Variacao
Desta forma criamos então uma nova função personalizada, chamada Variacao que recebe a URL com o endereço que desejamos consultar as cotações no Infomoney.
Clique então na tabela de ações e clique em Transformar e no botão Invocar Função Personalizada.
Selecione a função Variacao, conforme a imagem e no parâmetro URL selecione Endereços de ações ou o nome que deu para a coluna com os endereços, conforme na imagem.
Clique no botão de Expandir da coluna personalizada criada e expanda a coluna selecionando que colunas gostaria de exibir.
Por fim clique em Arquivo->Fechar e Carregar Para, e marque apenas criar conexão.
Com a conexão criada clique com o botão direito sobre ela no Excel e na opção Tabela.
Selecione o local então aonde quer que os dados das cotações de ações sejam carregados conforme a imagem.
Por fim então você terá um relatório com as cotações da Bovespa diretamente no Excel.
Para atualizar basta dar um botão direito sobre a tabela e selecionar Atualizar, ou então em Dados->Atualizar dados.
Download da planilha de cotação de ações Bovespa Excel
Para que você possa ver todas as fórmulas e entender melhor o seu uso, recomendo baixar a planilha abaixo e também assistir a vídeo-aula no topo deste artigo.
Baixe a planilhaCurso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: