Criando indicadores fundamentalistas com Python

A Análise Fundamentalista adota a hipótese de que há um valor intrínseco para cada ação, isto considerando o desempenho econômico e financeiro da empresa. No post de hoje iremos tratar de como buscar dados e construir indicadores fundamentais para esse tipo de avaliação utilizando o Python.

A análise fundamentalista foca em projetar o desempenho futuro de uma empresa, baseado nas informações de demonstrativos financeiros da empresas e especialmente através dos fundamentos (indicadores) das mesmas.

Existem diversos fundamentos que podem ser construídos através dos demonstrativos da empresa, com cada indicador representando uma informação relevante para o analista.

Para construir esses indicadores, obviamente, deve-se ter em mãos os dados dos demonstrativos das empresas. Podemos obtê-los parcialmente através do site Investing.com e realizando a importação para o Python com a biblioteca investpy.

Uma vez carregado as bibliotecas, iremos importar os dados e as informações da empresa.

Vamos realizar uma análise de indicadores da empresa ITAUSA, com base no ticker ITS4. O ticker é necessário para que seja possível importar as informações da empresa, no caso, os demonstrativos: Demonstração de resultado (receitas e lucro); Balanço Patrimonial (ativos, passivos e patrimônio líquido) e Demonstração de fluxo de caixa.


Para importar as receitas e o lucro, utilizamos a função get_stock_financial_summary, com o argumento stock referenciando o ticker, country para o país (Brazil), summary_type para o tipo do demonstrativo (income_statement) e o período, podendo ser anual (annual) ou trimestral (quarterly).

Buscamos os dados trimestrais. Do período importado, apenas 4 períodos anteriores do atual são importados, mas o que é o suficiente para obtermos uma análise sobre a empresa.

Abaixo, importamos os dados da DRE em itsa_dre.

Realizamos o mesmo procedimento para o balanço patrimonial, alterando o argumento summary_type para "balance_sheet".

Apesar de não utilizarmos posteriormente, é possível importar também a demonstração de fluxo de caixa.
Temos então diversas informações sobre o desempenho da empresa. Com os dados, é possível criar os indicadores.

Return on Equity (ROE)

O retorno sobre o patrimônio mede a rentabilidade sobre o capital da empresa, ou seja, a eficiência da empresa em utilizar os seus recursos próprios.

 

A sua fórmula segue como:

 

     $$ROE = \frac{Lucro Líquido}{Patrimônio Líquido}$$

Esse indicador é importante para entender a taxa de crescimento da empresa. Abaixo, realizamos o cálculo do indicador com os dados da ITSA4.

Return on Asset (ROA)

Retorno sobre os ativos mede a rentabilidade da empresa em relação aos seus ativos, ou seja, o se ela consegue usar eficientemente os seus ativos para gerar lucro.

 

A sua fórmula segue como:

     $$ROA = \frac{Lucro Líquido}{Ativos Totais}$$

Diferente do ROE, a ROA exprime o quão alavancada uma empresa está, isto porque os ativos totais incluem a quantidade de capital emprestado para executar suas operações.

Análise de ações

Para analisar uma empresa, é possível  relacionar o seu valor com o preço da ação negociado.

Antes de criar os indicadores desse tipo de medida, devemos buscar os dados do número de ações em circulação da empresa. Realizamos esse procedimento com a função get_stock_information, com o ticker, o país e com o argumento as_json = False (para retornar um data frame).

Das informações coletadas, iremos utilizar somente a coluna "Shares Outstanding".

 Agora temos informações suficientes para calcular três indicadores importantes para a análise de ações.

Lucro por ação

O LPA mede a rentabilidade por cada ação que possui em circulação. Quanto maior o LPA da empresa, maior o seu valor (investidores irão pagar mais pela ação).

 

A sua fórmula segue como:

 

    $$LPA = \frac{Lucro Líquido}{Acoes em circulação}$$

 

O LPA é necessário também para calcular o P/L da empresa que abordaremos a seguir.

Preço / Lucro

O P/L é utilizado para avaliar se o preço das ações de uma empresa está caro ou barato. Teoricamente, indica o número de anos que um investidor demoraria para recuperar o capital investido.

    $$P/L = \frac{Preço de mercado da ação}{Lucro por ação (LPA)}$$

 

No código, primeiro devemos importar os dados da cotação da ITSA4 para realizar o cálculo do P/L. O primeiro passo deste processo é definir as datas de inicio e fim com base nas datas capturadas pelos demonstrativos importados anteriormente, com isso, a ideia é que obtemos uma maior automação.

Para definir essas datas, pegamos o primeiro e último valor do índice do data frame itsa_dre. Em seguida, utilizamos o método strftime para transformar em string e definir o formar de dia/mês/ano (a função get_stock_historical_data só aceita a data neste formato).

Uma vez definidos as datas de inicio e de fim, utilizamos a função get_stock_historical_data para buscar a cotação do ativo.

Para realizar o cálculo, é necessário utilizar os preços de fechamentos, contidos da coluna "Close". Realiza-se a junção com o data frame do LPA, completa-se os dados faltantes (os preços são diários, causando problemas com a coluna do LPA). E por fim, retira-se os dados faltantes restantes.

Ao final do código, renomeamos as colunas e calculamos o P/L.

_____________________________________

Quer saber mais?

Veja nosso curso de Python para Investimentos.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como sumarizar divulgações trimestrais de empresas usando IA no Python

Neste exercício, iremos utilizar a inteligência artificial no Python para analisar e sumarizar divulgações trimestrais de empresas. Focaremos no uso de ferramentas como Gemini e técnicas de processamento de linguagem natural para extrair informações de documentos PDF relacionados aos relatórios financeiros das empresas.

Como usar IA para sumarizar dados de demonstrações de empresas brasileiras no Python

Neste post, vamos explorar como utilizar o modelo de linguagem Gemini do Google para analisar demonstrações contábeis anuais da Eletrobras e extrair informações relevantes para tomada de decisão. Através de um código Python, vamos importar os dados direto da CVM, conectar com o Gemini e gerar resumos sobre as contas das demonstrações e perspectivas futuras sobre as finanças da empresa.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.