Analisando Demonstrações Contábeis com IA no Python

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

Introdução

A análise de demonstrações contábeis é um processo fundamental para investidores e analistas. É um desafio interpretar dados complexos e extrair informações relevantes para tomar decisões eficazes. Tradicionalmente, essa análise é realizada por profissionais experientes com conhecimento profundo de contabilidade e finanças. No entanto, com o avanço da inteligência artificial (IA), podemos automatizar e otimizar esse processo.

O modelo de linguagem Gemini da Google é uma poderosa ferramenta de IA que pode ajudar a analisar dados complexos. Neste post, vamos mostrar como utilizar o Gemini para analisar demonstrações contábeis da Petrobras (PETR4.SA).

Passo 1: obter dados dos demonstrativos

O primeiro passo é obter os dados das demonstrações contábeis da Petrobras. Para isso, utilizamos a biblioteca yfinance do Python, que nos permite acessar dados financeiros de diversas empresas. Com o código ticker = 'PETR4.SA' e petro = yf.Ticker(ticker), definimos o ticker da empresa e obtemos os dados das demonstrações contábeis, como balanço patrimonial, demonstração do resultado do exercício e demonstração do fluxo de caixa.

Balanço Patrimonial

2024-03-31 2023-12-31 2023-09-30 2023-06-30 2023-03-31 2022-12-31
Treasury Shares Number 135209269.0 104359669.0 29031369.0 295669.0 295669.0 NaN
Ordinary Shares Number 12909287661.0 12940137261.0 13015465561.0 13044201261.0 13044201261.0 NaN
Share Issued 13044496930.0 13044496930.0 13044496930.0 13044496930.0 13044496930.0 NaN
Net Debt 16191000000.0 16074000000.0 17352000000.0 18877000000.0 19546000000.0 NaN
Total Debt 61838000000.0 62600000000.0 60997000000.0 57971000000.0 53349000000.0 NaN
... ... ... ... ... ... ...
Cash Cash Equivalents And Short Term Investments 16365000000.0 15546000000.0 13409000000.0 12655000000.0 13169000000.0 NaN
Other Short Term Investments 4818000000.0 2819000000.0 1299000000.0 2304000000.0 2879000000.0 NaN
Cash And Cash Equivalents 11547000000.0 12727000000.0 12110000000.0 10351000000.0 10290000000.0 NaN
Cash Equivalents 10824000000.0 12624000000.0 59961270600.0 10239000000.0 10155000000.0 NaN
Cash Financial 723000000.0 103000000.0 1022267400.0 112000000.0 135000000.0 NaN

82 rows × 6 columns

Fluxo de Caixa

2024-03-31 2023-12-31 2023-09-30 2023-06-30 2023-03-31
Free Cash Flow 6548000000.0 8075000000.0 8369000000.0 6730000000.0 7924000000.0
Repurchase Of Capital Stock -232000000.0 -538000000.0 -197000000.0 NaN NaN
Repayment Of Debt -2925000000.0 -3503000000.0 -2632000000.0 -2205000000.0 -2139000000.0
Issuance Of Debt 2000000.0 910000000.0 1238000000.0 11000000.0 51000000.0
Capital Expenditure -2838000000.0 -3594000000.0 -3185000000.0 -2912000000.0 -2423000000.0
... ... ... ... ... ...
Operating Gains Losses 2299000000.0 -3000000.0 2646000000.0 -89000000.0 495000000.0
Pension And Employee Benefit Expense 433000000.0 389000000.0 394000000.0 389000000.0 370000000.0
Earnings Losses From Equity Investments 93000000.0 69000000.0 248000000.0 22000000.0 -35000000.0
Net Foreign Currency Exchange Gain Loss 1935000000.0 -316000000.0 1967000000.0 191000000.0 656000000.0
Net Income From Continuing Operations 4805000000.0 6282000000.0 5484000000.0 5859000000.0 7370000000.0

63 rows × 5 columns

Demonstração de Resultado de Exercício

2024-03-31 2023-12-31 2023-09-30 2023-06-30 2023-03-31 2022-12-31
Tax Effect Of Unusual Items -331067894.131185 -245750000.0 -358714857.364141 249490000.0 167568484.406347 NaN
Tax Rate For Calcs 0.308832 0.238361 0.292113 0.305 0.327923 NaN
Normalized EBITDA 12383000000.0 13841000000.0 13487000000.0 11679000000.0 14219000000.0 NaN
Total Unusual Items -1072000000.0 -1031000000.0 -1228000000.0 818000000.0 511000000.0 NaN
Total Unusual Items Excluding Goodwill -1072000000.0 -1031000000.0 -1228000000.0 818000000.0 511000000.0 NaN
Net Income From Continuing Operation Net Minority Interest 4782000000.0 6259000000.0 5456000000.0 5828000000.0 7341000000.0 NaN
Reconciled Depreciation 3362000000.0 3632000000.0 3475000000.0 3249000000.0 2924000000.0 NaN
Reconciled Cost Of Revenue 8357000000.0 9000000000.0 8698000000.0 8279000000.0 9910000000.0 NaN
EBITDA 11311000000.0 12810000000.0 12259000000.0 12497000000.0 14730000000.0 NaN
EBIT 7949000000.0 9178000000.0 8784000000.0 9248000000.0 11806000000.0 NaN
Net Interest Income -952000000.0 -905000000.0 -1017000000.0 -776000000.0 -712000000.0 NaN
Interest Expense 997000000.0 930000000.0 1037000000.0 813000000.0 840000000.0 NaN
Interest Income 120000000.0 NaN 146000000.0 NaN 132000000.0 NaN
Normalized Income 5522932105.868815 7044250000.0 6325285142.635859 5259490000.0 6997568484.406347 NaN
Net Income From Continuing And Discontinued Operation 4782000000.0 6259000000.0 5456000000.0 5828000000.0 7341000000.0 NaN
Total Expenses 14699000000.0 18003000000.0 15260000000.0 14427000000.0 15639000000.0 NaN
Rent Expense Supplemental 1240000000.0 1275000000.0 1194000000.0 1134000000.0 1128000000.0 NaN
Total Operating Income As Reported NaN NaN 9980000000.0 NaN 58870622100.0 NaN
Diluted Average Shares 12919739794.0 NaN 13015465561.0 13044201261.0 13044201261.0 13044201261.0
Basic Average Shares 12919739794.0 NaN 13015465561.0 13044201261.0 13044201261.0 13044201261.0
Diluted EPS 0.37 NaN 0.419194 0.45 0.56 3.342321
Basic EPS 0.37 NaN 0.419194 0.45 0.56 3.342321
Diluted NI Availto Com Stockholders 4782000000.0 6259000000.0 5456000000.0 5828000000.0 7341000000.0 NaN
Net Income Common Stockholders 4782000000.0 6259000000.0 5456000000.0 5828000000.0 7341000000.0 NaN
Net Income 4782000000.0 6259000000.0 5456000000.0 5828000000.0 7341000000.0 NaN
Minority Interests -23000000.0 -23000000.0 -28000000.0 -31000000.0 -29000000.0 NaN
Net Income Including Noncontrolling Interests 4805000000.0 6282000000.0 5484000000.0 5859000000.0 7370000000.0 NaN
Net Income Continuous Operations 4805000000.0 6282000000.0 5484000000.0 5859000000.0 7370000000.0 NaN
Tax Provision 2147000000.0 1966000000.0 2263000000.0 2576000000.0 3596000000.0 NaN
Pretax Income 6952000000.0 8248000000.0 7747000000.0 8435000000.0 10966000000.0 NaN
Other Income Expense -1165000000.0 49000000.0 -1528000000.0 659000000.0 546000000.0 NaN
Other Non Operating Income Expenses NaN 1149000000.0 -52000000.0 -137000000.0 -1243350800.0 -2434000000.0
Special Income Charges -41000000.0 -1935000000.0 -153000000.0 104000000.0 406000000.0 NaN
Gain On Sale Of Ppe 162000000.0 145000000.0 -37000000.0 691000000.0 496000000.0 NaN
Other Special Charges 212000000.0 166000000.0 38000000.0 186000000.0 87000000.0 NaN
Write Off -9000000.0 NaN -5035800.0 NaN 3000000.0 69000000.0
Impairment Of Capital Assets NaN NaN 78000000.0 401000000.0 15287100.0 824000000.0
Earnings From Equity Interest -93000000.0 -69000000.0 -248000000.0 -22000000.0 35000000.0 NaN
Gain On Sale Of Security -1031000000.0 904000000.0 -1075000000.0 714000000.0 105000000.0 NaN
Net Non Operating Interest Income Expense -952000000.0 -905000000.0 -1017000000.0 -776000000.0 -712000000.0 NaN
Total Other Finance Cost 75000000.0 -395000000.0 126000000.0 -37000000.0 4000000.0 NaN
Interest Expense Non Operating 997000000.0 930000000.0 1037000000.0 813000000.0 840000000.0 NaN
Interest Income Non Operating 120000000.0 NaN 146000000.0 NaN 132000000.0 NaN
Operating Income 9069000000.0 9104000000.0 10292000000.0 8552000000.0 11132000000.0 NaN
Operating Expense 3188000000.0 5550000000.0 3278000000.0 3085000000.0 2981000000.0 NaN
Other Operating Expenses 94000000.0 1330000000.0 451000000.0 131000000.0 193000000.0 NaN
Other Taxes 91000000.0 156000000.0 96000000.0 298000000.0 136000000.0 NaN
Provision For Doubtful Accounts 10000000.0 8000000.0 -3000000.0 -4000000.0 21000000.0 NaN
Depreciation Amortization Depletion Income Statement 208000000.0 179000000.0 191000000.0 186000000.0 176000000.0 NaN
Research And Development 183000000.0 214000000.0 186000000.0 172000000.0 154000000.0 NaN
Selling General And Administration 1950000000.0 3119000000.0 1795000000.0 1702000000.0 1802000000.0 NaN
Selling And Marketing Expense NaN 4986577200.0 5549451600.0 4965489200.0 5228188200.0 5311395400.0
General And Administrative Expense 1950000000.0 3119000000.0 1795000000.0 1702000000.0 1802000000.0 NaN
Other Gand A NaN NaN 92000000.0 112000000.0 102000000.0 116000000.0
Rent And Landing Fees 1240000000.0 1275000000.0 1194000000.0 1134000000.0 1128000000.0 NaN
Salaries And Wages 710000000.0 1844000000.0 601000000.0 568000000.0 674000000.0 NaN
Gross Profit 12257000000.0 14654000000.0 13570000000.0 11637000000.0 14113000000.0 NaN
Cost Of Revenue 11511000000.0 12453000000.0 11982000000.0 11342000000.0 12658000000.0 NaN
Total Revenue 23768000000.0 27107000000.0 25552000000.0 22979000000.0 26771000000.0 NaN
Operating Revenue 23768000000.0 27107000000.0 25552000000.0 22979000000.0 26771000000.0 NaN

Passo 2: conectar com o Gemini

Em seguida, conectamos nosso código com o Gemini, utilizando a API do Google Generative AI. Com o código import google.generativeai as genai e genai.configure(api_key=os.environ["GEMINI_API_KEY"]), importamos a biblioteca e configuramos a API com a chave de acesso. Em seguida, definimos o modelo a ser utilizado: model = genai.GenerativeModel(model_name="gemini-1.5-pro").

Passo 3: criar o Prompt

Agora, precisamos criar um prompt para o Gemini, que é uma instrução clara e concisa sobre o que queremos que o modelo faça. No nosso caso, o prompt descreve o objetivo da análise, o tipo de dados que o modelo receberá e o formato da resposta desejada. O prompt é definido no código como prompt = f"""...""".

Abaixo, o prompt base utilizado:

Você é um analista de ações experiente em demonstrações contábeis, que domina

as técnicas de valuation e análise financeira de empresas.

Você receberá dados sobre demonstrações contábeis trimestrais da empresa {ticker}.

Os dados de cada demonstração será indicado em diferentes mensagens, em formato de DataFrame, após essa mensagem inicial.

Sua tarefa é:

1. Analisar as contas contábeis de cada trimestre.

2. Pede-se que projete as perspectivas futuras da empresa.

Faça um resumo entre 5 e 10 bullet points. Não retorne nada mais em sua resposta.

Uma vez definido o prompt base, seguimos adicionando mensagens com os dados de cada demonstrativo. Ao final, pedimos um resumo e uma indicação de sentimento da perspectiva futura da empresa.

Resultados:

Balanço Patrimonial

Perspectivas Futuras da PETR4.SA - Análise Preliminar:

Pontos Positivos:

  • Caixa Robusto: PETR4.SA demonstra uma posição de caixa forte e crescente, atingindo R$ 1,63 trilhão em Mar/24, o que confere solidez para investimentos, pagamento de dívidas e dividendos.
  • Redução da Dívida Líquida: Observamos uma leve tendência de queda na dívida líquida nos últimos trimestres, um sinal positivo para a saúde financeira da empresa.

Pontos Neutros:

  • Variação no Número de Ações: A recompra de ações (Treasury Shares) impacta o lucro por ação e pode sinalizar confiança na performance futura, mas exige acompanhamento.

Pontos que exigem atenção:

  • Queda no Fluxo de Caixa: É crucial analisar a demonstração do fluxo de caixa (DFC) para entender a origem da redução do caixa entre Set/23 e Mar/24. A DFC fornecerá insights sobre as operações, investimentos e financiamentos da companhia.
  • Dependência do Preço do Petróleo: O desempenho da PETR4.SA está diretamente ligado ao preço do petróleo, um fator externo e volátil, o que demanda atenção à conjuntura geopolítica e econômica global.

Próximos Passos para uma Análise Completa:

  • Demonstrações do Resultado e Fluxo de Caixa: Necessárias para avaliar a rentabilidade, lucratividade e capacidade de gerar caixa da PETR4.SA.
  • Indicadores de Dividendos: Analisar histórico de pagamentos (Dividend Yield e Payout Ratio), para avaliar a política de remuneração aos acionistas.
  • Cenários Macroeconômicos: Incluir projeções de preço do petróleo, câmbio e juros na análise de valuation da empresa.

Observação: Esta análise preliminar baseia-se apenas no Balanço Patrimonial. A análise completa das demonstrações contábeis e informações adicionais são cruciais para uma avaliação precisa das perspectivas da PETR4.SA.

Fluxo de Caixa

Perspectivas Futuras da PETR4.SA - Análise Preliminar (Atualizada):

Pontos Positivos:

  • Caixa Robusto: Confirmado pelo Fluxo de Caixa, com R$ 6,5 bi em Mar/24. Positivo para investimentos, pagamento de dívidas e dividendos.
  • Fluxo de Caixa Livre Consistente: Histórico positivo, mesmo com volatilidade, indicando capacidade de gerar caixa operacionalmente.
  • Investimentos Relevantes: Os gastos com Capex demonstram o compromisso da empresa com o crescimento futuro.

Pontos Neutros:

  • Variação na Recompra de Ações: A recompra de ações impacta o lucro por ação e pode sinalizar confiança na performance futura, mas exige acompanhamento.
  • Emissões e Repagamento de Dívidas: A gestão de dívida parece ativa. É importante avaliar os custos e prazos para entender o impacto futuro.

Pontos que exigem atenção:

  • Queda Recente no Fluxo de Caixa Livre: Queda entre Dez/23 e Mar/24 exige atenção. Investigar se é sazonal ou devido a fatores específicos.
  • Dependência do Preço do Petróleo: O desempenho da PETR4.SA está diretamente ligado ao preço do petróleo, um fator externo e volátil.
  • Impacto de Variações Cambiais: A empresa é sensível à variação cambial, o que pode afetar seus resultados. Analisar a estratégia de hedge cambial.

Próximos Passos para uma Análise Completa:

  • Demonstração do Resultado: Necessária para avaliar a rentabilidade, lucratividade e entender a composição do resultado da PETR4.SA.
  • Indicadores de Dividendos: Analisar histórico de pagamentos (Dividend Yield e Payout Ratio), para avaliar a política de remuneração aos acionistas.
  • Cenários Macroeconômicos: Incluir projeções de preço do petróleo, câmbio e juros na análise de valuation da empresa.

Observação: Esta análise preliminar baseia-se no Balanço Patrimonial e Fluxo de Caixa. A análise completa das demonstrações contábeis e informações adicionais são cruciais para uma avaliação precisa das perspectivas da PETR4.SA.

DRE

Perspectivas Futuras da PETR4.SA - Análise Preliminar (Atualizada):

Pontos Positivos:

  • Caixa Robusto: Posição de caixa forte, confirmada pelo Balanço Patrimonial e Fluxo de Caixa, permite investimentos, pagamento de dívidas e dividendos.
  • Geração de Caixa Consistente (Histórico): Fluxo de caixa livre geralmente positivo, indicando capacidade de gerar caixa operacionalmente (com ressalvas - ver abaixo).
  • Investimentos Relevantes (Capex): Demonstram o compromisso com o crescimento futuro, buscando novas oportunidades e tecnologias.
  • Lucro Líquido em Alta: Crescimento consistente no lucro líquido nos últimos trimestres, sinalizando uma gestão eficiente e resultados positivos.
  • Margem Bruta Sólida: Margens brutas elevadas indicam forte precificação e controle de custos na produção e venda de petróleo e derivados.

Pontos Neutros:

  • Variação na Recompra de Ações: Recompras impactam o lucro por ação e podem sinalizar confiança na performance futura, mas exigem acompanhamento.
  • Emissões e Repagamento de Dívidas: Gestão de dívida ativa, com emissões e repagamentos. Avaliar custos e prazos para entender o impacto futuro.
  • Variações nos Itens Não Recorrentes: A análise dos itens extraordinários (ex: venda de ativos) é importante para entender o real desempenho operacional da empresa.

Pontos que exigem atenção:

  • Queda Recente no Fluxo de Caixa Livre: Queda entre Dez/23 e Mar/24 exige atenção. Investigar se é sazonal, devido a fatores específicos, ou mudança de tendência.
  • Dependência do Preço do Petróleo: O desempenho da PETR4.SA está diretamente ligado a um fator externo e volátil: a cotação do petróleo.
  • Impacto de Variações Cambiais: A empresa é sensível à variação cambial. Analisar a estratégia de hedge cambial e o impacto futuro.
  • Custos Operacionais: Observar a tendência de custos, como os relacionados a vendas, administrativos e gerais. Buscar entender os drivers de aumento e se há iniciativas para controle.

Próximos Passos para uma Análise Completa:

  • Análise da Política de Dividendos: Analisar histórico de pagamentos (Dividend Yield e Payout Ratio) para avaliar a atratividade da empresa para os investidores que buscam dividendos.
  • Cenários Macroeconômicos: Incluir projeções de preço do petróleo, câmbio, juros e políticas governamentais, na análise de valuation da empresa.
  • Análise de Riscos: Realizar uma análise SWOT completa, identificando os riscos e oportunidades (competidores, políticas ambientais, transição energética etc.).

Observação: Esta análise preliminar baseia-se nas demonstrações financeiras fornecidas. A análise completa, com informações adicionais, é crucial para uma avaliação precisa das perspectivas da PETR4.SA.

Resumo e indicação

Resumo da Análise Preliminar da PETR4.SA:

  • PETR4.SA apresenta robustez financeira: Com forte geração de caixa histórica e uma posição de caixa confortável, suportando investimentos, pagamento de dívidas e dividendos.
  • Lucratividade em alta: Observamos um crescimento consistente do lucro líquido nos últimos trimestres, impulsionado por maiores receitas e controle de custos.
  • Comprometimento com o crescimento: Os investimentos (Capex) demonstram a busca por novas oportunidades, tecnologias e expansão.
  • Gestão de dívida ativa: A empresa realiza emissões e amortizações de dívidas. É importante acompanhar os custos e prazos para avaliar o impacto futuro.
  • Recompra de ações: A PETR4.SA recompra suas ações, o que pode indicar confiança na performance futura, mas impacta o lucro por ação e exige monitoramento.
  • Sensibilidade a fatores externos: O desempenho da empresa está diretamente ligado à volatilidade do preço do petróleo e variações cambiais, exigindo atenção constante.
  • Queda recente no Fluxo de Caixa Livre: A queda entre Dez/23 e Mar/24 demanda investigação para entender se é sazonal ou indica uma mudança de tendência.
  • Necessidade de aprofundar a análise de custos: É preciso entender melhor a tendência de custos operacionais, especialmente os relacionados a vendas, administrativos e gerais.
  • Análise macroeconômica é crucial: A avaliação da PETR4.SA exige considerar cenários macroeconômicos e projeções para o preço do petróleo, câmbio e juros.
  • Importância da análise de dividendos: Investigar o histórico e a política de dividendos é crucial para investidores que buscam este tipo de retorno.

Indicação:

Neutra.

Apesar dos resultados financeiros positivos e da robustez da empresa, a dependência do preço do petróleo, a recente queda no Fluxo de Caixa Livre e a necessidade de aprofundar a análise de custos exigem cautela. É crucial acompanhar de perto os próximos trimestres e os fatores macroeconômicos para uma tomada de decisão mais assertiva.

Obs. nenhuma análise acima é recomendação de investimento, e tem como única finalidade verificar o poder da IA para análise de demonstrativos.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Coletando dados regionais do CAGED no Python

Os dados regionais do CAGED permitem analisar o mercado de trabalho de forma detalhada, em termos de setores, educação, rendimento e características pessoais dos trabalhadores brasileiros. Neste exercício mostramos como acessar estas informações online via Python.

Coletando dados de Setores Censitários do Censo 2022 no Python

Dados sobre a demografia e o território são primordiais para definir e implementar políticas públicas, áreas de atuação comercial e/ou estratégias de marketing. Sendo assim, saber usar os dados do Censo 2022 pode trazer vantagens competitivas. Neste exercício mostramos como obter os dados da Malha de Setores Censitários no formato vetorial (GeoJson) usando o Python.

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.