No momento, você está visualizando Buscar informações de um ativo na B3 usando Python

Buscar informações de um ativo na B3 usando Python

Neste artigo, você vai aprender como buscar informações de um ativo da B3 (Bolsa de Valores do Brasil) usando Python. Vamos entender quais ferramentas são necessárias, como acessar os dados de forma prática e segura e, por fim, como exibir essas informações no seu código. Mesmo que você esteja dando os primeiros passos em programação ou no mundo dos investimentos, este guia vai te ajudar a compreender todo o processo de forma simples e objetiva.

Preparando o ambiente

Antes de começarmos a buscar informações dos ativos, precisamos preparar nosso ambiente de trabalho. Isso envolve ter o Python instalado e adicionar bibliotecas que vão facilitar a busca dos ativos na B3 e o tratamento dos dados.

Instalação do Python

Se ainda não tem o Python instalado, acesse o site oficial e faça o download da versão mais recente. Durante a instalação, marque a opção Add Python to PATH ou se estiver em português “Adicionar Python ao caminho do sistema” para facilitar o uso no terminal.

Instalação das bibliotecas necessárias

Iremos utilizar uma bibliotecas importante, o yfinance. Para isso, não precisamos baixar em site externo, mas usar o comando pip no terminal. A biblioteca yfinance irá buscar os ativos listados na B3. Dessa forma, só precisamos digitar o seguinte comando no terminal.

Terminal
    pip install yfinance==0.2.66
    
  

Dica importante: Certifique-se que a versão baixada do yfinance é a 0.2.66. Isso evitará possíveis problemas, pois atualmente é a versão mais estável disponível.

Para se certificar que a versão instalada do yfinance foi a 0.2.66 podemos no terminal executar o seguinte comando:

Terminal
    pip show yfinance
    
  

Se aparecer uma imagem semelhante a imagem abaixo, então a instalação está correta. Contudo, caso já tenha instalado em outro momento uma versão anterior, basta executar o comando mencionado acima que o python irá apagar a versão antiga e substituir pela nova versão.

Pronto! Seu ambiente já está configurado e podemos seguir para o próximo passo.

Consultando informações de um ativo

Com o ambiente configurado e as bibliotecas instaladas, já podemos escrever nosso primeiro código para coletar dados de um ativo.

Vamos iniciar com a estrutura básica e a biblioteca que iremos utilizar.

Python
    import yfinance as yf

def main():
   return pass

main()
    
  

Esse código, define a primeira instrução realiza a importação do módulo yfinance, renomeando-o como yf, o que permite acessar suas funções de forma simplificada e voltada à obtenção e manipulação de dados financeiros. Em seguida, é definida a função main(), que representa o ponto central de execução do código. Dentro dela, a instrução pass atua como um marcador de posição, indicando que, embora a função já esteja declarada, ainda não há nenhuma lógica implementada. Por fim, o comando main() é chamado, fazendo com que o Python execute o conteúdo da função ao rodar o script. Por fim, é somente  estabelecido a base estrutural de um programa bem organizado.

O pŕoximo passo é definir algumas variáveis dentro da função main(). A primeira variável chamaremos de acao, ela receberá o código do ativo listado na B3 que iremos buscar seguido do sufixo “.SA”. Depois disso, chamaremos o método Ticket que está dentro da biblioteca yfinance passando como parâmetro a variável que corresponde ao ativo que buscamos. Isso retornará um objetivo com as características do ativo. A partir disso, podemos utlizar o comando print para ver as informações como nome, setor e valor atual. O código abaixo apresenta o que foi descrito.

Python
    acao = "BBAS3.SA" #Ação do banco do Brasil

informacoes = yf.Ticket(acao)

print(f"Nome: {info.get('longName')}")
print(f"Setor: {info.get('sector')}")
print(f"Preço atual: {info.get('currentPrice')} BRL")
    
  

É possível também buscar o histórico de um ativo em um determinado período. Para isso, precisamos utlizar um outro método do yfinance chamado history passando um parâmetro: o período que queremos os dados. O código abaixo mostra como é possível fazer isso.

Python
    bbas3 = yf.Ticker("BBAS3.SA")

dados = bbas3.history(period="6mo") # Dados históricos dos últimos 6 meses
print(dados.head())
    
  

Além disso, para obter o preço atual de fechamento podemos fazer um comando muito semelhante ao mostrado acima, porém com algumas modificações para permitir pegar o preço “close”. O código abaixo mostra como fazer.

Python
    bbas3 = yf.Ticker("BBAS3.SA")

preco_atual = bbas3.history(period="1d")["Close"].iloc[-1]
print(f"Preço atual do Banco do Brasil: ${preco_atual:.2f}")
    
  

Por fim, o yfinance oferece um recurso muito interessante pra quem faz análise fundamentalista de ações, que é a possibilidade de pegar balanços e demonstrações financeiras das empresas. Isso pode ser feito com o seguinte trecho de código.

Python
    bbas3 = yf.Ticker("BBAS3.SA")

print(bbas3.balance_sheet)
print(bbas3.financials)
print(bbas3.cashflow)

    
  

Montando todos os trechos de código em um arquivo python temos a seguinte estrutura.

Python
    import yfinance as yf

def main():
   bbas3 = "BBAS3.SA" #Ação do banco do Brasil
   informacoes = yf.Ticket(bbas3)
   
   #Obter informações gereais da empresa
   print(f"Nome: {informacoes.get('longName')}")
   print(f"Setor: {informacoes.get('sector')}")
   print(f"Preço atual: {informacoes.get('currentPrice')} BRL")
   
   # Obter dados históricos dos últimos 6 meses
   dados = bbas3.history(period="6mo") 
   print(dados.head())

   # Obter o preço atual do ativo
   preco_atual = bbas3.history(period="1d")["Close"].iloc[-1]
   print(f"Preço atual do Banco do Brasil: ${preco_atual:.2f}")

   #Obter balanço e demonstrações financeiras
   print(bbas3.balance_sheet)
   print(bbas3.financials)
   print(bbas3.cashflow)

main()

    
  

Importante: Após sucessivas chamadas a API do Yahoo finanças pode apresentar erro, pois segundo a documentação, ela não suporta uma carga de requisições muito alta.