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

Criando um Dashboard de análise de Ações no Python

Um Dashboard é um painel de controle que consolida uma variedade de informações sobre um determinado objeto de estudo em um ou mais painéis. Ele simplifica significativamente o processo de análise de dados, oferecendo uma visão global e fácil de entender. Uma maneira simples de construir um Dashboard para acompanhar uma ação específica é utilizando duas ferramentas: Quarto e Python. Neste post, mostramos o resultado da criação de um Dashboard de Ação.

Analisando séries temporais no Python e esquecendo de vez o Excel

Séries temporais representam uma disciplina extremamente importante em diversas áreas, principalmente na economia e na ciência de dados. Mas, afinal, como lidar com esses dados que se apresentam ao longo do tempo? Neste exercício, demonstraremos como compreender uma série temporal e como o Python se destaca como uma das melhores ferramentas para analisar esse tipo de dado.

Cálculo do Retorno Econômico de uma Política Pública

Como podemos traduzir os efeitos de uma política pública para valores monetários? Essa é uma tarefa árdua que requer algumas premissas, entretanto, com métodos bem definidos, é possível obter estimativas precisas dos ganhos e os gastos de uma política pública.

Neste exercício, demonstramos tal método usando a política hipotética "Mãe Paranense”, um conjunto de ações que visam reduzir a mortalidade materna e infantil no estado. Usamos a linguagem R como ferramenta para analisar os 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.